123456789101112131415161718192021222324252627282930313233343536373839 |
- .define .dup
- .sect .text
- .sect .rom
- .sect .data
- .sect .bss
- .sect .text
- ! Duplicate top bytes of stack
- ! Expects in de-registers: number of bytes to duplicate
- .dup: mov a,e !trap if number is odd
- rar
- cc eoddz
- pop h
- shld .retadr
- mov h,b
- mov l,c
- shld .bcreg
- mov h,d
- mov l,e
- dad sp
- 1: dcx h
- mov b,m
- dcx h
- mov c,m
- push b
- dcx d
- dcx d !number of bytes must be a word-multiple i.e. even
- mov a,d
- ora e
- jnz 1b
- lhld .bcreg
- mov b,h
- mov c,l
- lhld .retadr
- pchl
|