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)