Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
27
Task/Repeat/6502-Assembly/repeat-1.6502
Normal file
27
Task/Repeat/6502-Assembly/repeat-1.6502
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
macro RepeatProc,addr,count ;VASM macro syntax
|
||||
; input:
|
||||
; addr = the label of the routine you wish to call repeatedly
|
||||
; count = how many times you want to DO the procedure. 1 = once, 2 = twice, 3 = three times, etc. Enter "0" for 256 times.
|
||||
lda #<\addr
|
||||
sta z_L ;a label for a zero-page memory address
|
||||
lda #>\addr
|
||||
sta z_H ;a label for the zero-page memory address immediately after z_L
|
||||
lda \count
|
||||
jsr doRepeatProc
|
||||
endm
|
||||
|
||||
doRepeatProc:
|
||||
sta z_C ;another zero-page memory location
|
||||
loop_RepeatProc:
|
||||
jsr Trampoline_RepeatProc
|
||||
dec z_C
|
||||
lda z_C
|
||||
bne loop_RepeatProc
|
||||
rts
|
||||
|
||||
Trampoline_RepeatProc:
|
||||
db $6c,z_L,$00
|
||||
;when executed, becomes an indirect JMP to the address stored at z_L and z_H. Some assemblers will let you type
|
||||
;JMP (z_L) and it will automatically replace it with the above during the assembly process.
|
||||
;This causes an indirect JMP to the routine. Its RTS will return execution to just after the "JSR Trampoline_RepeatProc"
|
||||
;and flow into the loop overhead.
|
||||
1
Task/Repeat/6502-Assembly/repeat-2.6502
Normal file
1
Task/Repeat/6502-Assembly/repeat-2.6502
Normal file
|
|
@ -0,0 +1 @@
|
|||
RepeatProc foo,#20 ;perform the subroutine "foo" twenty times.
|
||||
12
Task/Repeat/6502-Assembly/repeat-3.6502
Normal file
12
Task/Repeat/6502-Assembly/repeat-3.6502
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
RepeatProc:
|
||||
;input: low byte of desired function address in A
|
||||
; high byte of desired function address in X
|
||||
; repeat count in Y
|
||||
|
||||
STA smc_repeatproc+1
|
||||
STX smc_repeatproc+2
|
||||
smc_repeatproc:
|
||||
jsr $0000 ;this is modified by the STA and STX above.
|
||||
dey
|
||||
bne smc_repeatproc
|
||||
rts
|
||||
Loading…
Add table
Add a link
Reference in a new issue