Files

23 lines
1.5 KiB
Plaintext

1 .module wc_findnext
2 .area _CODE
00006006 3 WC_ENTRY = 0x6006
4 .globl _wc_findnext
00000000 5 _wc_findnext::
00000000 DD E5 [15] 6 push ix
00000002 DD 21 00 00 [14] 7 ld ix, #0
00000006 DD 39 [15] 8 add ix, sp
00000008 DD 7E 04 [19] 9 ld a, 4(ix) ; A = flags (from stack)
0000000B 08 [ 4] 10 ex af, af' ; A' = flags
0000000C EB [ 4] 11 ex de, hl ; DE = entry_buf (SDCC HL → WC DE)
0000000D 3E 3A [ 7] 12 ld a, #0x3A
0000000F CD 06 60 [17] 13 call WC_ENTRY
00000012 3E 00 [ 7] 14 ld a, #0
00000014 28 01 [12] 15 jr z, _wc_findnext_end
00000016 3C [ 4] 16 inc a
00000017 17 _wc_findnext_end:
00000017 DD E1 [14] 18 pop ix
19 ; callee cleans 1 byte (flags)
00000019 E1 [10] 20 pop hl
0000001A 33 [ 6] 21 inc sp
0000001B E9 [ 4] 22 jp (hl)