12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- .define .inn
- .sect .text
- .sect .rom
- .sect .data
- .sect .bss
- .sect .text
- ! use .unimpld
- ! any size sets
- ! parameters:
- ! hl: size
- ! stack: bit number
- ! stack: result (out)
- .inn:
- pop ix
- pop de
- add hl,sp
- ld b,h
- ld c,l
- ex de,hl
- ld a,l
- sra h
- jp m,0f
- rr l
- sra h
- rr l
- sra h
- rr l
- add hl,sp
- push hl
- or a ! clear carry
- sbc hl,de
- pop hl
- jp m,1f
- 0: xor a
- jr 4f
- 1: ld e,(hl)
- and 7
- jr 2f
- 3: rrc e
- dec a
- 2: jr nz,3b
- ld a,e
- and 1
- 4:
- ld e,a
- ld d,0
- ld h,b
- ld l,c
- ld sp,hl
- push de
- jp (ix)
|