34 lines
2.3 KiB
Plaintext
34 lines
2.3 KiB
Plaintext
1 .module wc_scrlwow
|
|
2 .area _CODE
|
|
00006006 3 WC_ENTRY = 0x6006
|
|
4 .globl _wc_scrlwow
|
|
00000000 5 _wc_scrlwow::
|
|
00000000 DD E5 [15] 6 push ix
|
|
00000002 E5 [11] 7 push hl ; save win (HL = 1st arg)
|
|
00000003 DD 21 00 00 [14] 8 ld ix, #0
|
|
00000007 DD 39 [15] 9 add ix, sp
|
|
00000009 DD 7E 0A [19] 10 ld a, 10(ix) ; A = flags
|
|
0000000C DD 46 08 [19] 11 ld b, 8(ix) ; B = h
|
|
0000000F DD 4E 09 [19] 12 ld c, 9(ix) ; C = w
|
|
00000012 DD 56 06 [19] 13 ld d, 6(ix) ; D = y
|
|
00000015 DD 5E 07 [19] 14 ld e, 7(ix) ; E = x
|
|
00000018 D9 [ 4] 15 exx
|
|
00000019 08 [ 4] 16 ex af, af' ; A' = flags
|
|
0000001A DD 6E 00 [19] 17 ld l, 0(ix)
|
|
0000001D DD 66 01 [19] 18 ld h, 1(ix)
|
|
00000020 E5 [11] 19 push hl
|
|
00000021 DD E1 [14] 20 pop ix ; IX = win
|
|
00000023 D9 [ 4] 21 exx ; BC=h/w, DE=y/x
|
|
00000024 3E 54 [ 7] 22 ld a, #0x54
|
|
00000026 CD 06 60 [17] 23 call WC_ENTRY
|
|
00000029 E1 [10] 24 pop hl ; remove saved win
|
|
0000002A DD E1 [14] 25 pop ix
|
|
26 ; callee cleans 5 bytes
|
|
0000002C E1 [10] 27 pop hl
|
|
0000002D 33 [ 6] 28 inc sp
|
|
0000002E 33 [ 6] 29 inc sp
|
|
0000002F 33 [ 6] 30 inc sp
|
|
00000030 33 [ 6] 31 inc sp
|
|
00000031 33 [ 6] 32 inc sp
|
|
00000032 E9 [ 4] 33 jp (hl)
|