ack/mach/6500/libem/loil.s
1984-12-17 11:03:13 +00:00

24 lines
435 B
ArmAsm

.define Loil
! This subroutine pushes an object of size greater than four bytes
! onto the stack.
Loil:
sta ADDR+1 ! source address (lowbyte)
stx ADDR ! source address (highbyte)
sty NBYTES
sec
lda SP+2
sbc NBYTES
sta ADDR+2 ! destination address (lowbyte)
sta SP+2 ! new stackpointer
lda SP+1
sbc NBYTES+1
sta ADDR+3 ! destination address (highbyte)
sta SP+1 ! new stackpointer
inc NBYTES+1
jmp Blmnp ! do the move