12345678910111213141516171819202122232425262728293031323334 |
- .define .sts
- .sect .text
- .sect .rom
- .sect .data
- .sect .bss
- ! d0 : # bytes
- ! a0 : destination address
- ! a1 : return address
- .sect .text
- .sts:
- move.l (sp)+, a1
- move.l (sp)+, d0
- move.l (sp)+, a0
- cmp.l #1, d0
- bne 1f
- move.l (sp)+, d0
- move.b d0, (a0)
- bra 4f
- 1: cmp.l #2, d0
- bne 2f
- move.l (sp)+, d0
- move.w d0, (a0)
- bra 4f
- 2:
- asr.l #2, d0
- 3:
- move.l (sp)+, (a0)+
- sub.l #1, d0
- bne 3b
- 4:
- jmp (a1) ! return
- .align 2
|