Files
SyncHome/trunk/workspace/gcb/16c84-knight.asm
2023-03-09 12:51:54 +00:00

672 lines
14 KiB
NASM

;Program compiled by Great Cow BASIC (0.98.04 2018-10-20 (Windows 32 bit))
;Need help? See the GCBASIC forums at http://sourceforge.net/projects/gcbasic/forums,
;check the documentation or email w_cholmondeley at users dot sourceforge dot net.
;********************************************************************************
;Set up the assembler options (Chip type, clock source, other bits and pieces)
LIST p=16C84, r=DEC
#include <P16C84.inc>
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
;********************************************************************************
;Set aside memory locations for variables
DELAYTEMP EQU 12
DELAYTEMP2 EQU 13
DIREZIONE EQU 16
SYSWAITTEMPMS EQU 14
SYSWAITTEMPMS_H EQU 15
;********************************************************************************
;Vectors
ORG 0
pagesel BASPROGRAMSTART
goto BASPROGRAMSTART
ORG 4
retfie
;********************************************************************************
;Start of program memory page 0
ORG 5
BASPROGRAMSTART
;Call initialisation routines
call INITSYS
;Start of the main program
;Source:F1L29S0I29
banksel TRISB
clrf TRISB
;Source:F1L30S0I30
STARTUP
;Source:F1L33S0I33
movlw 1
banksel DIREZIONE
movwf DIREZIONE
;Source:F1L34S0I34
movlw 1
movwf PORTB
LOOP
;Source:F1L37S0I37
SysDoLoop_S1
;Source:F1L38S0I38
decf DIREZIONE,W
btfss STATUS, Z
goto ELSE1_1
;Source:F1L39S0I39
rlf PORTB,F
;Source:F1L40S0I40
movlw 64
subwf PORTB,W
btfsc STATUS, C
clrf DIREZIONE
ENDIF2
;Source:F1L41S0I41
goto ENDIF1
ELSE1_1
;Source:F1L42S0I42
rrf PORTB,F
;Source:F1L43S0I43
movf PORTB,W
sublw 1
btfss STATUS, C
goto ENDIF3
movlw 1
movwf DIREZIONE
ENDIF3
;Source:F1L44S0I44
ENDIF1
;Source:F1L45S0I45
movlw 250
movwf SysWaitTempMS
clrf SysWaitTempMS_H
call Delay_MS
;Source:F1L46S0I46
goto SysDoLoop_S1
SysDoLoop_E1
;Source:F2L153S0I153
;Source:F2L154S0I154
;Source:F2L158S0I158
;Source:F2L164S0I164
;Source:F2L169S0I169
;Source:F2L171S0I171
;Source:F2L172S0I172
;Source:F2L173S0I173
;Source:F2L174S0I174
;Source:F2L176S0I176
;Source:F2L179S0I179
;Source:F2L180S0I180
;Source:F2L181S0I181
;Source:F2L182S0I182
;Source:F2L186S0I186
;Source:F2L187S0I187
;Source:F2L188S0I188
;Source:F2L189S0I189
;Source:F2L190S0I190
;Source:F2L191S0I191
;Source:F2L192S0I192
;Source:F2L193S0I193
;Source:F2L194S0I194
;Source:F2L195S0I195
;Source:F2L196S0I196
;Source:F2L197S0I197
;Source:F2L198S0I198
;Source:F2L199S0I199
;Source:F2L200S0I200
;Source:F2L201S0I201
;Source:F2L202S0I202
;Source:F2L203S0I203
;Source:F2L204S0I204
;Source:F2L205S0I205
;Source:F2L206S0I206
;Source:F2L207S0I207
;Source:F2L208S0I208
;Source:F2L209S0I209
;Source:F2L210S0I210
;Source:F2L211S0I211
;Source:F2L212S0I212
;Source:F2L213S0I213
;Source:F2L214S0I214
;Source:F2L215S0I215
;Source:F2L216S0I216
;Source:F2L217S0I217
;Source:F2L218S0I218
;Source:F2L219S0I219
;Source:F2L220S0I220
;Source:F2L222S0I222
;Source:F2L223S0I223
;Source:F2L224S0I224
;Source:F2L225S0I225
;Source:F2L226S0I226
;Source:F2L227S0I227
;Source:F2L228S0I228
;Source:F2L229S0I229
;Source:F2L230S0I230
;Source:F2L231S0I231
;Source:F2L232S0I232
;Source:F2L233S0I233
;Source:F2L234S0I234
;Source:F2L235S0I235
;Source:F2L236S0I236
;Source:F2L237S0I237
;Source:F2L238S0I238
;Source:F2L239S0I239
;Source:F2L240S0I240
;Source:F2L241S0I241
;Source:F2L242S0I242
;Source:F2L243S0I243
;Source:F2L244S0I244
;Source:F2L245S0I245
;Source:F2L246S0I246
;Source:F2L247S0I247
;Source:F2L248S0I248
;Source:F2L249S0I249
;Source:F2L250S0I250
;Source:F2L251S0I251
;Source:F2L252S0I252
;Source:F2L253S0I253
;Source:F2L254S0I254
;Source:F2L255S0I255
;Source:F2L256S0I256
;Source:F2L259S0I259
;Source:F2L260S0I260
;Source:F2L261S0I261
;Source:F2L262S0I262
;Source:F2L263S0I263
;Source:F2L264S0I264
;Source:F2L265S0I265
;Source:F2L266S0I266
;Source:F2L267S0I267
;Source:F2L268S0I268
;Source:F2L269S0I269
;Source:F2L270S0I270
;Source:F2L271S0I271
;Source:F2L272S0I272
;Source:F2L274S0I274
;Source:F2L275S0I275
;Source:F2L276S0I276
;Source:F2L277S0I277
;Source:F2L278S0I278
;Source:F2L279S0I279
;Source:F2L280S0I280
;Source:F2L281S0I281
;Source:F2L282S0I282
;Source:F2L283S0I283
;Source:F2L284S0I284
;Source:F2L285S0I285
;Source:F2L286S0I286
;Source:F2L287S0I287
;Source:F2L288S0I288
;Source:F2L289S0I289
;Source:F2L290S0I290
;Source:F2L291S0I291
;Source:F2L292S0I292
;Source:F2L293S0I293
;Source:F2L294S0I294
;Source:F2L295S0I295
;Source:F2L296S0I296
;Source:F2L297S0I297
;Source:F2L298S0I298
;Source:F2L299S0I299
;Source:F2L300S0I300
;Source:F2L301S0I301
;Source:F2L302S0I302
;Source:F2L303S0I303
;Source:F2L304S0I304
;Source:F2L305S0I305
;Source:F2L306S0I306
;Source:F2L307S0I307
;Source:F2L308S0I308
;Source:F2L309S0I309
;Source:F2L312S0I312
;Source:F2L313S0I313
;Source:F2L314S0I314
;Source:F2L315S0I315
;Source:F2L316S0I316
;Source:F2L317S0I317
;Source:F2L318S0I318
;Source:F2L319S0I319
;Source:F2L320S0I320
;Source:F2L321S0I321
;Source:F2L322S0I322
;Source:F2L323S0I323
;Source:F2L324S0I324
;Source:F2L325S0I325
;Source:F2L326S0I326
;Source:F2L327S0I327
;Source:F2L328S0I328
;Source:F2L329S0I329
;Source:F2L330S0I330
;Source:F2L331S0I331
;Source:F2L332S0I332
;Source:F2L333S0I333
;Source:F2L334S0I334
;Source:F2L335S0I335
;Source:F2L336S0I336
;Source:F2L337S0I337
;Source:F2L338S0I338
;Source:F2L339S0I339
;Source:F2L340S0I340
;Source:F2L341S0I341
;Source:F2L342S0I342
;Source:F2L343S0I343
;Source:F2L344S0I344
;Source:F2L345S0I345
;Source:F2L346S0I346
;Source:F2L2362S0I40
;Source:F2L2363S0I41
;Source:F3L128S0I128
;Source:F3L129S0I129
;Source:F3L130S0I130
;Source:F3L131S0I131
;Source:F3L133S0I133
;Source:F3L139S0I139
;Source:F3L140S0I140
;Source:F3L141S0I141
;Source:F3L142S0I142
;Source:F3L143S0I143
;Source:F3L144S0I144
;Source:F3L145S0I145
;Source:F3L146S0I146
;Source:F3L148S0I148
;Source:F3L149S0I149
;Source:F3L150S0I150
;Source:F3L151S0I151
;Source:F3L152S0I152
;Source:F3L154S0I154
;Source:F3L155S0I155
;Source:F3L156S0I156
;Source:F3L157S0I157
;Source:F3L158S0I158
;Source:F3L159S0I159
;Source:F3L160S0I160
;Source:F3L161S0I161
;Source:F3L163S0I163
;Source:F3L164S0I164
;Source:F3L165S0I165
;Source:F3L2178S0I1991
;Source:F3L2466S0I101
;Source:F3L2686S0I32
;Source:F3L4996S0I160
;Source:F4L58S0I58
;Source:F4L59S0I59
;Source:F4L60S0I60
;Source:F4L63S0I63
;Source:F4L64S0I64
;Source:F4L67S0I67
;Source:F4L69S0I69
;Source:F4L118S0I118
;Source:F5L150S0I84
;Source:F6L25S0I25
;Source:F6L26S0I26
;Source:F6L54S0I23
;Source:F7L41S0I41
;Source:F7L42S0I42
;Source:F7L43S0I43
;Source:F7L44S0I44
;Source:F7L45S0I45
;Source:F7L46S0I46
;Source:F7L47S0I47
;Source:F7L49S0I49
;Source:F7L52S0I52
;Source:F7L53S0I53
;Source:F7L54S0I54
;Source:F7L247S0I21
;Source:F9L166S0I166
;Source:F9L169S0I169
;Source:F9L170S0I170
;Source:F9L173S0I173
;Source:F9L174S0I174
;Source:F9L176S0I176
;Source:F9L177S0I177
;Source:F9L179S0I179
;Source:F9L181S0I181
;Source:F9L182S0I182
;Source:F9L183S0I183
;Source:F9L184S0I184
;Source:F9L186S0I186
;Source:F9L187S0I187
;Source:F9L188S0I188
;Source:F9L190S0I190
;Source:F9L194S0I194
;Source:F9L196S0I196
;Source:F9L197S0I197
;Source:F9L198S0I198
;Source:F9L199S0I199
;Source:F9L202S0I202
;Source:F9L203S0I203
;Source:F9L205S0I205
;Source:F9L206S0I206
;Source:F9L207S0I207
;Source:F9L209S0I209
;Source:F9L210S0I210
;Source:F9L212S0I212
;Source:F9L213S0I213
;Source:F9L216S0I216
;Source:F9L217S0I217
;Source:F9L220S0I220
;Source:F9L224S0I224
;Source:F9L225S0I225
;Source:F9L362S0I9
;Source:F9L363S0I10
;Source:F10L34S0I34
;Source:F10L35S0I35
;Source:F10L36S0I36
;Source:F10L37S0I37
;Source:F10L38S0I38
;Source:F10L39S0I39
;Source:F10L40S0I40
;Source:F10L41S0I41
;Source:F11L151S0I151
;Source:F11L262S0I262
;Source:F11L263S0I263
;Source:F11L264S0I264
;Source:F11L318S0I318
;Source:F11L319S0I319
;Source:F11L320S0I320
;Source:F11L321S0I321
;Source:F11L322S0I322
;Source:F11L323S0I323
;Source:F11L325S0I325
;Source:F11L326S0I326
;Source:F11L327S0I327
;Source:F11L328S0I328
;Source:F11L329S0I329
;Source:F11L330S0I330
;Source:F11L332S0I332
;Source:F11L333S0I333
;Source:F11L334S0I334
;Source:F11L335S0I335
;Source:F11L336S0I336
;Source:F11L337S0I337
;Source:F11L339S0I339
;Source:F11L340S0I340
;Source:F11L341S0I341
;Source:F11L342S0I342
;Source:F11L343S0I343
;Source:F11L344S0I344
;Source:F11L346S0I346
;Source:F11L347S0I347
;Source:F11L348S0I348
;Source:F11L349S0I349
;Source:F11L350S0I350
;Source:F11L351S0I351
;Source:F11L353S0I353
;Source:F11L354S0I354
;Source:F11L355S0I355
;Source:F11L356S0I356
;Source:F11L357S0I357
;Source:F11L358S0I358
;Source:F11L363S0I363
;Source:F11L364S0I364
;Source:F11L365S0I365
;Source:F11L367S0I367
;Source:F11L368S0I368
;Source:F11L369S0I369
;Source:F11L370S0I370
;Source:F11L372S0I372
;Source:F11L374S0I374
;Source:F11L376S0I376
;Source:F11L377S0I377
;Source:F11L378S0I378
;Source:F11L379S0I379
;Source:F11L380S0I380
;Source:F11L381S0I381
;Source:F11L382S0I382
;Source:F11L383S0I383
;Source:F11L384S0I384
;Source:F11L385S0I385
;Source:F11L386S0I386
;Source:F11L387S0I387
;Source:F11L388S0I388
;Source:F11L389S0I389
;Source:F11L390S0I390
;Source:F11L391S0I391
;Source:F11L393S0I393
;Source:F11L394S0I394
;Source:F11L395S0I395
;Source:F11L396S0I396
;Source:F11L397S0I397
;Source:F11L398S0I398
;Source:F11L399S0I399
;Source:F11L400S0I400
;Source:F11L401S0I401
;Source:F11L402S0I402
;Source:F11L403S0I403
;Source:F11L404S0I404
;Source:F11L405S0I405
;Source:F11L406S0I406
;Source:F11L407S0I407
;Source:F11L408S0I408
;Source:F11L412S0I412
;Source:F11L413S0I413
;Source:F11L414S0I414
;Source:F11L415S0I415
;Source:F11L416S0I416
;Source:F11L417S0I417
;Source:F11L418S0I418
;Source:F11L419S0I419
;Source:F11L420S0I420
;Source:F11L421S0I421
;Source:F11L422S0I422
;Source:F11L423S0I423
;Source:F11L424S0I424
;Source:F11L425S0I425
;Source:F11L426S0I426
;Source:F11L427S0I427
;Source:F11L431S0I431
;Source:F11L432S0I432
;Source:F11L433S0I433
;Source:F11L434S0I434
;Source:F11L435S0I435
;Source:F11L436S0I436
;Source:F11L437S0I437
;Source:F11L438S0I438
;Source:F11L439S0I439
;Source:F11L440S0I440
;Source:F11L441S0I441
;Source:F11L442S0I442
;Source:F11L443S0I443
;Source:F11L503S0I503
;Source:F11L504S0I504
;Source:F11L506S0I506
;Source:F11L507S0I507
;Source:F11L509S0I509
;Source:F11L510S0I510
;Source:F11L512S0I512
;Source:F11L513S0I513
;Source:F11L515S0I515
;Source:F11L516S0I516
;Source:F11L518S0I518
;Source:F11L519S0I519
;Source:F11L531S0I531
;Source:F11L532S0I532
;Source:F11L533S0I533
;Source:F11L534S0I534
;Source:F11L535S0I535
;Source:F11L536S0I536
;Source:F11L537S0I537
;Source:F11L538S0I538
;Source:F11L541S0I541
;Source:F11L542S0I542
;Source:F11L543S0I543
;Source:F11L544S0I544
;Source:F11L547S0I547
;Source:F11L548S0I548
;Source:F11L549S0I549
;Source:F11L550S0I550
;Source:F11L553S0I553
;Source:F11L554S0I554
;Source:F11L555S0I555
;Source:F11L556S0I556
;Source:F11L559S0I559
;Source:F11L560S0I560
;Source:F11L561S0I561
;Source:F11L562S0I562
;Source:F11L673S0I673
;Source:F11L674S0I674
;Source:F11L675S0I675
;Source:F11L676S0I676
;Source:F11L679S0I679
;Source:F11L680S0I680
;Source:F11L681S0I681
;Source:F11L682S0I682
;Source:F12L62S0I62
;Source:F12L63S0I63
;Source:F12L64S0I64
;Source:F12L65S0I65
;Source:F12L68S0I68
;Source:F12L69S0I69
;Source:F12L70S0I70
;Source:F12L71S0I71
;Source:F12L72S0I72
;Source:F12L75S0I75
;Source:F13L42S0I42
;Source:F13L43S0I43
;Source:F13L44S0I44
;Source:F13L45S0I45
;Source:F13L46S0I46
;Source:F13L50S0I50
;Source:F13L51S0I51
;Source:F13L52S0I52
;Source:F13L53S0I53
;Source:F13L56S0I56
;Source:F13L57S0I57
;Source:F13L58S0I58
;Source:F13L59S0I59
;Source:F13L60S0I60
;Source:F13L61S0I61
;Source:F13L62S0I62
;Source:F13L63S0I63
;Source:F13L64S0I64
;Source:F13L66S0I66
;Source:F13L495S0I11
;Source:F14L57S0I57
;Source:F14L64S0I64
;Source:F14L66S0I66
;Source:F14L67S0I67
;Source:F14L68S0I68
;Source:F14L69S0I69
;Source:F14L70S0I70
;Source:F14L71S0I71
;Source:F14L72S0I72
;Source:F15L22S0I22
;Source:F15L25S0I25
;Source:F16L298S0I60
;Source:F17L92S0I92
;Source:F17L95S0I95
;Source:F17L98S0I98
;Source:F18L136S0I136
;Source:F18L137S0I137
;Source:F18L138S0I138
;Source:F18L139S0I139
;Source:F18L143S0I143
;Source:F18L144S0I144
;Source:F18L145S0I145
;Source:F18L146S0I146
;Source:F18L148S0I148
;Source:F18L149S0I149
;Source:F18L150S0I150
;Source:F18L155S0I155
;Source:F18L157S0I157
;Source:F18L158S0I158
;Source:F19L61S0I61
;Source:F19L89S0I89
;Source:F19L92S0I92
;Source:F19L93S0I93
;Source:F19L95S0I95
;Source:F19L96S0I96
;Source:F19L97S0I97
;Source:F19L98S0I98
;Source:F19L99S0I99
;Source:F19L101S0I101
;Source:F19L102S0I102
;Source:F19L103S0I103
;Source:F19L104S0I104
;Source:F19L384S0I19
;Source:F19L470S0I56
;Source:F19L683S0I16
;Source:F19L684S0I17
;Source:F19L685S0I18
;Source:F19L687S0I20
;Source:F19L688S0I21
;Source:F19L689S0I22
;Source:F19L690S0I23
;Source:F19L691S0I24
;Source:F19L692S0I25
;Source:F19L693S0I26
;Source:F19L694S0I27
;Source:F19L695S0I28
;Source:F19L697S0I30
;Source:F19L698S0I31
;Source:F19L699S0I32
;Source:F19L700S0I33
;Source:F19L701S0I34
;Source:F19L702S0I35
;Source:F19L703S0I36
;Source:F19L704S0I37
;Source:F19L705S0I38
;Source:F19L706S0I39
;Source:F19L708S0I41
;Source:F19L710S0I43
;Source:F19L711S0I44
;Source:F19L712S0I45
;Source:F19L714S0I47
;Source:F20L42S0I42
;Source:F20L43S0I43
;Source:F20L44S0I44
;Source:F20L45S0I45
;Source:F20L46S0I46
;Source:F20L47S0I47
;Source:F20L48S0I48
;Source:F20L49S0I49
;Source:F20L50S0I50
;Source:F20L51S0I51
;Source:F20L52S0I52
;Source:F20L53S0I53
;Source:F20L57S0I57
;Source:F20L58S0I58
;Source:F21L150S0I150
;Source:F21L151S0I151
;Source:F21L152S0I152
BASPROGRAMEND
sleep
goto BASPROGRAMEND
;********************************************************************************
Delay_MS
incf SysWaitTempMS_H, F
DMS_START
movlw 142
movwf DELAYTEMP2
DMS_OUTER
movlw 1
movwf DELAYTEMP
DMS_INNER
decfsz DELAYTEMP, F
goto DMS_INNER
decfsz DELAYTEMP2, F
goto DMS_OUTER
decfsz SysWaitTempMS, F
goto DMS_START
decfsz SysWaitTempMS_H, F
goto DMS_START
return
;********************************************************************************
INITSYS
;Source:F12L948S167I852
clrf PORTA
;Source:F12L951S167I855
clrf PORTB
return
;********************************************************************************
END