Chase Lighting (Elf Membership Card test program)

0000   C0   LBR MOVE
0001   00
0002   03   

MOVE:
0003   E3   SEX R3      ; index register R3 for bit pattern point to 30H
0004   90   GHI R0       ; PC high byte is 0
0005   B3   PHI R3
0006   F8   LDI 30H
0007   30
0008   A3   PLO R3

0009   F8   LDI 00000001B   ; bit pattern to move in (0030H)
000A   01
000B   53   STR R3
LOOP:
000C   64   OUT4      ; Rx = 0030H, INC Rx
000D   6C   INP4      ; get switches Rx =0031H
000E   23   DEC R3      ; Rx = 0030H
000F   FA   ANI 11111110B
0010   FE
0011   3A   BNZ LEFT
0012    1A
RIGHT:
0013   F0   LDX      ; get pattern
0014   F6   SHR
0015   C7   LSNF
0016   F8   LDI 10000000B
0017   80   
0018   30   BR  STORE
0019   1F
LEFT:
001A   F0   LDX      ; get pattern
001B   FE   SHL
001C   C7   LSNF
001D   F8   LDI 00000001B
001E   01
STORE:
001F   53   STR R3

0020   F8   LDI 20
0021   14
0022   B2   PHI R2      ; R2 wait counter
WAIT:
0023   22   DEC R2      ; wait loop about 0.5 s
0024   92   GHI R2
0025   3A   BNZ WAIT
0026   23

0027   C5   LSNQ      ; toggle Q
0028   7A   REQ
0029   38   NBR
002A   7B   SEQ
002B   30   BR LOOP   
002C   0C      

-- Peter Schmid - 2017-11-18

Comments

Edit | Attach | Watch | Print version | History: r9 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2017-12-16 - PeterSchmid
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback