23 lines
1.5 KiB
Plaintext
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)
|