home *** CD-ROM | disk | FTP | other *** search
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 1
-
-
- PAGE 59,132
-
- ;██████████████████████████████████████████████████████████████████████████
- ;██ ██
- ;██ 4096 ██
- ;██ ██
- ;██ Created: 6-Jul-85 ██
- ;██ Passes: 5 Analysis Flags on: HQRS ██
- ;██ ██
- ;██████████████████████████████████████████████████████████████████████████
-
- = 000A data_1e equ 0Ah ; (0000:000A=0ECh)
- = 0012 data_3e equ 12h ; (0000:0012=70h)
- = 0014 data_4e equ 14h ; (0000:0014=0FF54h)
- = 0018 data_5e equ 18h ; (0000:0018=0EAA6h)
- = 001A data_6e equ 1Ah ; (0000:001A=0F000h)
- = FD9F data_7e equ 0FD9Fh ; (0000:FD9F=0)
- = FDA1 data_8e equ 0FDA1h ; (0000:FDA1=0)
- = FDA3 data_9e equ 0FDA3h ; (0000:FDA3=0)
- = 000A data_10e equ 0Ah ; (0080:000A=0)
- = 000C data_11e equ 0Ch ; (0080:000C=0)
- = FD9F data_12e equ 0FD9Fh ; (0080:FD9F=0AD65h)
- = FDA1 data_13e equ 0FDA1h ; (0080:FDA1=0B295h)
- = FDA3 data_14e equ 0FDA3h ; (0080:FDA3=0EB10h)
- = 0001 data_15e equ 1 ; (48FF:0001=0FFFFh)
- = 0001 data_16e equ 1 ; (72F1:0001=0FFFFh)
- = 0003 data_17e equ 3 ; (72F2:0003=0)
- = 0006 data_19e equ 6 ; (72F2:0006=0)
- = 0008 data_20e equ 8 ; (72F2:0008=0)
- = 0020 data_21e equ 20h ; (72F2:0020=0)
- = 118D data_24e equ 118Dh ; (72F2:118D=0)
- = 1200 data_25e equ 1200h ; (72F2:1200=0)
- = 1204 data_28e equ 1204h ; (72F2:1204=0)
- = 1208 data_29e equ 1208h ; (72F2:1208=0)
- = 120A data_30e equ 120Ah ; (72F2:120A=0)
- = 120C data_31e equ 120Ch ; (72F2:120C=0)
- = 120E data_32e equ 120Eh ; (72F2:120E=0)
- = 1210 data_33e equ 1210h ; (72F2:1210=0)
- = 1214 data_34e equ 1214h ; (72F2:1214=0)
- = 1216 data_35e equ 1216h ; (72F2:1216=0)
- = 1224 data_36e equ 1224h ; (72F2:1224=0)
- = 1226 data_37e equ 1226h ; (72F2:1226=0)
- = 1228 data_38e equ 1228h ; (72F2:1228=0)
- = 1229 data_39e equ 1229h ; (72F2:1229=0)
- = 122B data_40e equ 122Bh ; (72F2:122B=0)
- = 122D data_41e equ 122Dh ; (72F2:122D=0)
- = 122F data_42e equ 122Fh ; (72F2:122F=0)
- = 1231 data_43e equ 1231h ; (72F2:1231=0)
- = 1235 data_45e equ 1235h ; (72F2:1235=0)
- = 1239 data_46e equ 1239h ; (72F2:1239=0)
- = 123B data_47e equ 123Bh ; (72F2:123B=0)
- = 123D data_48e equ 123Dh ; (72F2:123D=0)
- = 123F data_49e equ 123Fh ; (72F2:123F=0)
- = 1245 data_50e equ 1245h ; (72F2:1245=0)
- = 1249 data_51e equ 1249h ; (72F2:1249=0)
- = 124E data_52e equ 124Eh ; (72F2:124E=0)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 2
-
- = 1250 data_53e equ 1250h ; (72F2:1250=0)
- = 1251 data_54e equ 1251h ; (72F2:1251=0)
- = 12A2 data_55e equ 12A2h ; (72F2:12A2=0)
- = 12A3 data_56e equ 12A3h ; (72F2:12A3=0)
- = 12A5 data_57e equ 12A5h ; (72F2:12A5=0)
- = 12A7 data_58e equ 12A7h ; (72F2:12A7=0)
- = 12A9 data_59e equ 12A9h ; (72F2:12A9=0)
- = 12AB data_60e equ 12ABh ; (72F2:12AB=0)
- = 12AD data_61e equ 12ADh ; (72F2:12AD=0)
- = 12AF data_62e equ 12AFh ; (72F2:12AF=0)
- = 12B1 data_63e equ 12B1h ; (72F2:12B1=0)
- = 12B3 data_64e equ 12B3h ; (72F2:12B3=0)
- = 12DA data_65e equ 12DAh ; (72F2:12DA=0)
- = 12DD data_66e equ 12DDh ; (72F2:12DD=0)
- = 12DF data_67e equ 12DFh ; (72F2:12DF=0)
- = 12E1 data_68e equ 12E1h ; (72F2:12E1=0)
- = 12E2 data_69e equ 12E2h ; (72F2:12E2=0)
- = 12E5 data_70e equ 12E5h ; (72F2:12E5=0)
- = 12E6 data_71e equ 12E6h ; (72F2:12E6=0)
- = 12E8 data_72e equ 12E8h ; (72F2:12E8=0)
- = 12EA data_73e equ 12EAh ; (72F2:12EA=0)
- = 12EC data_74e equ 12ECh ; (72F2:12EC=0)
- = 12EE data_75e equ 12EEh ; (72F2:12EE=0)
- = 12EF data_76e equ 12EFh ; (72F2:12EF=0)
- = 12FF data_77e equ 12FFh ; (72F2:12FF=0)
- = 1301 data_78e equ 1301h ; (72F2:1301=0)
- = 1303 data_79e equ 1303h ; (72F2:1303=0)
- = 1357 data_81e equ 1357h ; (72F2:1357=0)
- = 1359 data_82e equ 1359h ; (72F2:1359=0)
- = 135B data_83e equ 135Bh ; (72F2:135B=0)
- = 135D data_84e equ 135Dh ; (72F2:135D=0)
- = 7C0A data_85e equ 7C0Ah ; (72F2:7C0A=0)
- = 7CD7 data_86e equ 7CD7h ; (72F2:7CD7=0)
- = 7CE2 data_87e equ 7CE2h ; (72F2:7CE2=0)
- = 7CE7 data_88e equ 7CE7h ; (72F2:7CE7=0)
- = 0000 data_89e equ 0 ; (FEA0:0000=8Bh)
- = 0001 data_90e equ 1 ; (FEA0:0001=0E8C7h)
- = 0003 data_91e equ 3 ; (FEA0:0003=0Bh)
-
- seg_a segment
- assume cs:seg_a, ds:seg_a
-
-
- org 100h
-
- 4096 proc far
-
- 72F2:0100 start:
- 72F2:0100 E9 0285 jmp loc_6 ; (0388)
- 72F2:0103 09 15 71 21 CD db 9, 15h, 71h, 21h, 0CDh
- 72F2:0108 20 48 65 6C 6C 6F db ' Hello, world!$'
- 72F2:010E 2C 20 77 6F 72 6C
- 72F2:0114 64 21 24
- 72F2:0117 08 00 74 0B BA F9 db 8, 0, 74h, 0Bh, 0BAh, 0F9h
- 72F2:011D E8 8A 00 00 E9 A7 db 0E8h, 8Ah, 0, 0, 0E9h, 0A7h
- 72F2:0123 00 B4 09 BA 09 01 db 0, 0B4h, 9, 0BAh, 9, 1
- 72F2:0129 CD 21 CD db 0CDh, 21h, 0CDh
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 3
-
- 72F2:012C 20 48 65 6C 6C 6F db ' Hello, world!$'
- 72F2:0132 2C 20 77 6F 72 6C
- 72F2:0138 64 21 24
- 72F2:013B 08 00 74 0B BA 00 db 8, 0, 74h, 0Bh, 0BAh, 0
- 72F2:0141 FE 3A 55 8B EC 50 db 0FEh, 3Ah, 55h, 8Bh, 0ECh, 50h
- 72F2:0147 81 7E 04 00 C0 73 db 81h, 7Eh, 4, 0, 0C0h, 73h
- 72F2:014D 0C 2E A1 47 12 39 db 0Ch, 2Eh, 0A1h, 47h, 12h, 39h
- 72F2:0153 46 04 76 03 db 46h, 4, 76h, 3
- 72F2:0157 loc_1: ; xref 72F2:0192, 0199
- 72F2:0157 58 pop ax
- 72F2:0158 5D pop bp
- 72F2:0159 CF iret ; Interrupt return
- 72F2:015A loc_2:
- 72F2:015A 2E:80 3E 1250 01 cmp byte ptr cs:data_53e,1 ; (72F2:1250=0)
- 72F2:0160 74 32 je loc_4 ; Jump if equal
- 72F2:0162 8B 46 04 mov ax,[bp+4]
- 72F2:0165 2E:A3 122F mov cs:data_42e,ax ; (72F2:122F=0)
- 72F2:0169 8B 46 02 mov ax,[bp+2]
- 72F2:016C 2E:A3 122D mov cs:data_41e,ax ; (72F2:122D=0)
- 72F2:0170 72 15 jc loc_3 ; Jump if carry Set
- 72F2:0172 58 pop ax
- 72F2:0173 5D pop bp
- 72F2:0174 2E:8E 16 12DD mov ss,cs:data_66e ; (72F2:12DD=0)
- 72F2:0179 2E:8B 26 12DF mov sp,cs:data_67e ; (72F2:12DF=0)
- 72F2:017E 2E:A0 12E5 mov al,cs:data_70e ; (72F2:12E5=0)
- 72F2:0182 E6 21 out 21h,al ; port 21h, 8259-1 int comands
- 72F2:0184 E9 0CD9 jmp loc_62 ; (0E60)
- 72F2:0187 loc_3: ; xref 72F2:0170, 01B3
- 72F2:0187 81 66 06 FEFF and word ptr [bp+6],0FEFFh
- 72F2:018C 2E:A0 12E5 mov al,cs:data_70e ; (72F2:12E5=0)
- 72F2:0190 E6 21 out 21h,al ; port 21h, 8259-1 int comands
- 72F2:0192 EB C3 jmp short loc_1 ; (0157)
- 72F2:0194 loc_4: ; xref 72F2:0160
- 72F2:0194 2E:FE 0E 1251 dec byte ptr cs:data_54e ; (72F2:1251=0)
- 72F2:0199 75 BC jnz loc_1 ; Jump if not zero
- 72F2:019B 81 66 06 FEFF and word ptr [bp+6],0FEFFh
- 72F2:01A0 E8 0D6C call sub_21 ; (0F0F)
- 72F2:01A3 E8 0D34 call sub_18 ; (0EDA)
- 72F2:01A6 2E:C5 16 1231 lds dx,dword ptr cs:data_43e ; (72F2:1231=0) Load 32 bit ptr
- 72F2:01AB B0 01 mov al,1
- 72F2:01AD E8 0F0C call sub_26 ; (10BC)
- 72F2:01B0 E8 0D53 call sub_20 ; (0F06)
- 72F2:01B3 EB D2 jmp short loc_3 ; (0187)
-
- 4096 endp
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0DF3, 0E0A, 0E18, 0E75, 0F3E
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_1 proc near
- 72F2:01B5 1E push ds
- 72F2:01B6 56 push si
- 72F2:01B7 33 F6 xor si,si ; Zero register
- 72F2:01B9 8E DE mov ds,si
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 4
-
- 72F2:01BB 32 E4 xor ah,ah ; Zero register
- 72F2:01BD 8B F0 mov si,ax
- 72F2:01BF D1 E6 shl si,1 ; Shift w/zeros fill
- 72F2:01C1 D1 E6 shl si,1 ; Shift w/zeros fill
- 72F2:01C3 8B 1C mov bx,[si]
- 72F2:01C5 8E 44 02 mov es,[si+2]
- 72F2:01C8 5E pop si
- 72F2:01C9 1F pop ds
- 72F2:01CA C3 retn
- sub_1 endp
-
- 72F2:01CB 2E C7 06 5B 13 00 db 2Eh, 0C7h, 6, 5Bh, 13h, 0
- 72F2:01D1 16 2E A3 E3 12 B4 db 16h, 2Eh, 0A3h, 0E3h, 12h, 0B4h
- 72F2:01D7 30 CD 21 2E A2 EE db 30h, 0CDh, 21h, 2Eh, 0A2h, 0EEh
- 72F2:01DD 12 2E 8C 1E 45 12 db 12h, 2Eh, 8Ch, 1Eh, 45h, 12h
- 72F2:01E3 B4 52 CD 21 26 8B db 0B4h, 52h, 0CDh, 21h, 26h, 8Bh
- 72F2:01E9 47 FE 2E A3 47 12 db 47h, 0FEh, 2Eh, 0A3h, 47h, 12h
- 72F2:01EF 8E C0 26 A1 01 00 db 8Eh, 0C0h, 26h, 0A1h, 1, 0
- 72F2:01F5 2E A3 49 12 0E 1F db 2Eh, 0A3h, 49h, 12h, 0Eh, 1Fh
- 72F2:01FB B0 01 E8 B5 FF 89 db 0B0h, 1, 0E8h, 0B5h, 0FFh, 89h
- 72F2:0201 1E 31 12 8C 06 33 db 1Eh, 31h, 12h, 8Ch, 6, 33h
- 72F2:0207 12 B0 21 E8 A8 FF db 12h, 0B0h, 21h, 0E8h, 0A8h, 0FFh
- 72F2:020D 89 1E 2D 12 8C 06 db 89h, 1Eh, 2Dh, 12h, 8Ch, 6
- 72F2:0213 2F 12 C6 06 50 12 db 2Fh, 12h, 0C6h, 6, 50h, 12h
- 72F2:0219 00 BA 23 00 B0 01 db 0, 0BAh, 23h, 0, 0B0h, 1
- 72F2:021F E8 9A 0E 9C 58 0D db 0E8h, 9Ah, 0Eh, 9Ch, 58h, 0Dh
- 72F2:0225 00 01 50 E4 21 A2 db 0, 1, 50h, 0E4h, 21h, 0A2h
- 72F2:022B E5 12 B0 FF E6 21 db 0E5h, 12h, 0B0h, 0FFh, 0E6h, 21h
- 72F2:0231 9D B4 52 9C FF 1E db 9Dh, 0B4h, 52h, 9Ch, 0FFh, 1Eh
- 72F2:0237 2D 12 9C 58 25 FF db 2Dh, 12h, 9Ch, 58h, 25h, 0FFh
- 72F2:023D FE 50 9D A0 E5 12 db 0FEh, 50h, 9Dh, 0A0h, 0E5h, 12h
- 72F2:0243 E6 21 1E C5 16 31 db 0E6h, 21h, 1Eh, 0C5h, 16h, 31h
- 72F2:0249 12 B0 01 E8 6D 0E db 12h, 0B0h, 1, 0E8h, 6Dh, 0Eh
- 72F2:024F 1F C4 3E 2D 12 89 db 1Fh, 0C4h, 3Eh, 2Dh, 12h, 89h
- 72F2:0255 3E 35 12 8C 06 37 db 3Eh, 35h, 12h, 8Ch, 6, 37h
- 72F2:025B 12 C6 06 4B 12 EA db 12h, 0C6h, 6, 4Bh, 12h, 0EAh
- 72F2:0261 C7 06 4C 12 CC 02 db 0C7h, 6, 4Ch, 12h, 0CCh, 2
- 72F2:0267 8C 0E 4E 12 E8 6C db 8Ch, 0Eh, 4Eh, 12h, 0E8h, 6Ch
- 72F2:026D 0C B8 00 4B 88 26 db 0Ch, 0B8h, 0, 4Bh, 88h, 26h
- 72F2:0273 E2 12 BA 21 00 FF db 0E2h, 12h, 0BAh, 21h, 0, 0FFh
- 72F2:0279 36 20 00 CD 21 8F db 36h, 20h, 0, 0CDh, 21h, 8Fh
- 72F2:027F 06 20 00 26 83 45 db 6, 20h, 0, 26h, 83h, 45h
- 72F2:0285 FC 09 90 8E 06 45 db 0FCh, 9, 90h, 8Eh, 6, 45h
- 72F2:028B 12 8E 1E 45 12 81 db 12h, 8Eh, 1Eh, 45h, 12h, 81h
- 72F2:0291 2E 02 00 61 01 8B db 2Eh, 2, 0, 61h, 1, 8Bh
- 72F2:0297 2E 02 00 8C DA 2B db 2Eh, 2, 0, 8Ch, 0DAh, 2Bh
- 72F2:029D EA B4 4A BB FF FF db 0EAh, 0B4h, 4Ah, 0BBh, 0FFh, 0FFh
- 72F2:02A3 CD 21 B4 4A CD 21 db 0CDh, 21h, 0B4h, 4Ah, 0CDh, 21h
- 72F2:02A9 4A 8E DA 80 3E 00 db 4Ah, 8Eh, 0DAh, 80h, 3Eh, 0
- 72F2:02AF 00 5A 74 05 2E FE db 0, 5Ah, 74h, 5, 2Eh, 0FEh
- 72F2:02B5 0E E2 12 2E 80 3E db 0Eh, 0E2h, 12h, 2Eh, 80h, 3Eh
- 72F2:02BB E2 12 00 74 05 C6 db 0E2h, 12h, 0, 74h, 5, 0C6h
- 72F2:02C1 06 00 00 db 6, 0, 0
- 72F2:02C4 4D db 4Dh
- 72F2:02C5 loc_5:
- 72F2:02C5 A1 0003 mov ax,ds:data_17e ; (72F2:0003=0)
- 72F2:02C8 8B D8 mov bx,ax
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 5
-
- 72F2:02CA 2D 0161 sub ax,161h
- 72F2:02CD 03 D0 add dx,ax
- 72F2:02CF A3 0003 mov ds:data_17e,ax ; (72F2:0003=0)
- 72F2:02D2 42 inc dx
- 72F2:02D3 8E C2 mov es,dx
- 72F2:02D5 26:C6 06 0000 5A mov byte ptr es:data_89e,5Ah ; (FEA0:0000=8Bh) 'Z'
- 72F2:02DB 2E:FF 36 1249 push word ptr cs:data_51e ; (72F2:1249=0)
- 72F2:02E0 26:8F 06 0001 pop word ptr es:data_90e ; (FEA0:0001=0E8C7h)
- 72F2:02E5 26:C7 06 0003 0160 mov word ptr es:data_91e,160h ; (FEA0:0003=0Bh)
- 72F2:02EC 42 inc dx
- 72F2:02ED 8E C2 mov es,dx
- 72F2:02EF 0E push cs
- 72F2:02F0 1F pop ds
- 72F2:02F1 B9 0B00 mov cx,0B00h
- 72F2:02F4 BE 15FE mov si,15FEh
- 72F2:02F7 8B FE mov di,si
- 72F2:02F9 FD std ; Set direction flag
- 72F2:02FA F3/A5 rep movsw ; Rep while cx>0 Mov [si] to es:[di]
- 72F2:02FC FC cld ; Clear direction
- 72F2:02FD 06 push es
- 72F2:02FE B8 01EE mov ax,1EEh
- 72F2:0301 50 push ax
- 72F2:0302 2E:8E 06 1245 mov es,cs:data_50e ; (72F2:1245=0)
- 72F2:0307 B4 4A mov ah,4Ah ; 'J'
- 72F2:0309 8B DD mov bx,bp
- 72F2:030B CD 21 int 21h ; DOS Services ah=function 4Ah
- ; change mem allocation, bx=siz
- 72F2:030D CB retf ; Return far
- 72F2:030E E8 C9 0B 2E 8C 0E db 0E8h, 0C9h, 0Bh, 2Eh, 8Ch, 0Eh
- 72F2:0314 4E 12 E8 C1 0B 0E db 4Eh, 12h, 0E8h, 0C1h, 0Bh, 0Eh
- 72F2:031A 1F C6 06 A2 12 14 db 1Fh, 0C6h, 6, 0A2h, 12h, 14h
- 72F2:0320 0E 07 BF 52 12 B9 db 0Eh, 7, 0BFh, 52h, 12h, 0B9h
- 72F2:0326 14 00 33 C0 F3 AB db 14h, 0, 33h, 0C0h, 0F3h, 0ABh
- 72F2:032C A2 EF 12 A1 45 12 db 0A2h, 0EFh, 12h, 0A1h, 45h, 12h
- 72F2:0332 8E C0 26 C5 16 0A db 8Eh, 0C0h, 26h, 0C5h, 16h, 0Ah
- 72F2:0338 00 8E D8 05 10 00 db 0, 8Eh, 0D8h, 5, 10h, 0
- 72F2:033E 2E 01 06 1A 00 2E db 2Eh, 1, 6, 1Ah, 0, 2Eh
- 72F2:0344 80 3E 20 00 00 75 db 80h, 3Eh, 20h, 0, 0, 75h
- 72F2:034A 24 FB 2E A1 04 00 db 24h, 0FBh, 2Eh, 0A1h, 4, 0
- 72F2:0350 A3 00 01 2E A1 06 db 0A3h, 0, 1, 2Eh, 0A1h, 6
- 72F2:0356 00 A3 02 01 2E A1 db 0, 0A3h, 2, 1, 2Eh, 0A1h
- 72F2:035C 08 00 A3 04 01 2E db 8, 0, 0A3h, 4, 1, 2Eh
- 72F2:0362 FF 36 45 12 B8 00 db 0FFh, 36h, 45h, 12h, 0B8h, 0
- 72F2:0368 01 50 2E A1 E3 12 db 1, 50h, 2Eh, 0A1h, 0E3h, 12h
- 72F2:036E CB 2E 01 06 12 00 db 0CBh, 2Eh, 1, 6, 12h, 0
- 72F2:0374 2E A1 E3 12 2E 8E db 2Eh, 0A1h, 0E3h, 12h, 2Eh, 8Eh
- 72F2:037A 16 12 00 2E 8B 26 db 16h, 12h, 0, 2Eh, 8Bh, 26h
- 72F2:0380 14 00 FB 2E FF 2E db 14h, 0, 0FBh, 2Eh, 0FFh, 2Eh
- 72F2:0386 18 00 db 18h, 0
- 72F2:0388 loc_6: ; xref 72F2:0100
- 72F2:0388 81 FC 0100 cmp sp,100h
- 72F2:038C 77 02 ja loc_7 ; Jump if above
- 72F2:038E 33 E4 xor sp,sp ; Zero register
- 72F2:0390 loc_7: ; xref 72F2:038C
- 72F2:0390 8B E8 mov bp,ax
- 72F2:0392 E8 0000 call sub_2 ; (0395)
-
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 6
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0392
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_2 proc near
- 72F2:0395 59 pop cx
- 72F2:0396 81 E9 0275 sub cx,275h
- 72F2:039A 8C C8 mov ax,cs
- 72F2:039C BB 0010 mov bx,10h
- 72F2:039F F7 E3 mul bx ; dx:ax = reg * ax
- 72F2:03A1 03 C1 add ax,cx
- 72F2:03A3 83 D2 00 adc dx,0
- 72F2:03A6 F7 F3 div bx ; ax,dx rem=dx:ax/reg
- 72F2:03A8 50 push ax
- 72F2:03A9 B8 00AB mov ax,0ABh
- 72F2:03AC 50 push ax
- 72F2:03AD 8B C5 mov ax,bp
- 72F2:03AF CB retf ; Return far
- sub_2 endp
-
- 72F2:03B0 30 7C 07 23 4E 04 db 30h, 7Ch, 7, 23h, 4Eh, 4
- 72F2:03B6 37 8B 0E 4B 8B 05 db 37h, 8Bh, 0Eh, 4Bh, 8Bh, 5
- 72F2:03BC 3C D5 04 3D 11 05 db 3Ch, 0D5h, 4, 3Dh, 11h, 5
- 72F2:03C2 3E 55 05 0F 9B 03 db 3Eh, 55h, 5, 0Fh, 9Bh, 3
- 72F2:03C8 14 CD 03 21 C1 03 db 14h, 0CDh, 3, 21h, 0C1h, 3
- 72F2:03CE 27 BF 03 11 59 03 db 27h, 0BFh, 3, 11h, 59h, 3
- 72F2:03D4 12 59 03 4E 9F 04 db 12h, 59h, 3, 4Eh, 9Fh, 4
- 72F2:03DA 4F 9F 04 3F A5 0A db 4Fh, 9Fh, 4, 3Fh, 0A5h, 0Ah
- 72F2:03E0 40 8A 0B 42 90 0A db 40h, 8Ah, 0Bh, 42h, 90h, 0Ah
- 72F2:03E6 57 41 0A 48 34 0E db 57h, 41h, 0Ah, 48h, 34h, 0Eh
- 72F2:03EC 3D 00 4B 75 04 2E db 3Dh, 0, 4Bh, 75h, 4, 2Eh
- 72F2:03F2 A2 E2 12 55 8B EC db 0A2h, 0E2h, 12h, 55h, 8Bh, 0ECh
- 72F2:03F8 FF 76 06 2E 8F 06 db 0FFh, 76h, 6, 2Eh, 8Fh, 6
- 72F2:03FE B3 12 5D 55 8B EC db 0B3h, 12h, 5Dh, 55h, 8Bh, 0ECh
- 72F2:0404 E8 08 0B E8 D0 0A db 0E8h, 8, 0Bh, 0E8h, 0D0h, 0Ah
- 72F2:040A E8 9A 0A E8 F6 0A db 0E8h, 9Ah, 0Ah, 0E8h, 0F6h, 0Ah
- 72F2:0410 E8 B4 0A 53 BB 90 db 0E8h, 0B4h, 0Ah, 53h, 0BBh, 90h
- 72F2:0416 02 db 2
- 72F2:0417 loc_8: ; xref 72F2:042C
- 72F2:0417 2E:3A 27 cmp ah,cs:[bx]
- 72F2:041A 75 09 jne loc_9 ; Jump if not equal
- 72F2:041C 2E:8B 5F 01 mov bx,cs:[bx+1]
- 72F2:0420 87 5E EC xchg bx,[bp-14h]
- 72F2:0423 FC cld ; Clear direction
- 72F2:0424 C3 retn
- 72F2:0425 loc_9: ; xref 72F2:041A
- 72F2:0425 83 C3 03 add bx,3
- 72F2:0428 81 FB 02CC cmp bx,2CCh
- 72F2:042C 72 E9 jb loc_8 ; Jump if below
- 72F2:042E 5B pop bx
- 72F2:042F loc_10: ; xref 72F2:0672, 069E, 0BC2, 0D64
- ; 0DA6
- 72F2:042F E8 0A89 call sub_16 ; (0EBB)
- 72F2:0432 E4 21 in al,21h ; port 21h, 8259-1 int IMR
- 72F2:0434 2E:A2 12E5 mov cs:data_70e,al ; (72F2:12E5=0)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 7
-
- 72F2:0438 B0 FF mov al,0FFh
- 72F2:043A E6 21 out 21h,al ; port 21h, 8259-1 int comands
- 72F2:043C 2E:C6 06 1251 04 mov byte ptr cs:data_54e,4 ; (72F2:1251=0)
- 72F2:0442 2E:C6 06 1250 01 mov byte ptr cs:data_53e,1 ; (72F2:1250=0)
- 72F2:0448 E8 0AF1 call sub_22 ; (0F3C)
- 72F2:044B E8 0AA5 call sub_19 ; (0EF3)
- 72F2:044E 50 push ax
- 72F2:044F 2E:A1 12B3 mov ax,cs:data_64e ; (72F2:12B3=0)
- 72F2:0453 0D 0100 or ax,100h
- 72F2:0456 50 push ax
- 72F2:0457 9D popf ; Pop flags
- 72F2:0458 58 pop ax
- 72F2:0459 5D pop bp
- 72F2:045A 2E:FF 2E 1235 jmp dword ptr cs:data_45e ; (72F2:1235=0)
- 72F2:045F loc_11: ; xref 72F2:04B9
- 72F2:045F E8 0AAD call sub_21 ; (0F0F)
- 72F2:0462 E8 0A56 call sub_16 ; (0EBB)
- 72F2:0465 E8 0A72 call sub_18 ; (0EDA)
- 72F2:0468 E8 0A9B call sub_20 ; (0F06)
- 72F2:046B 5D pop bp
- 72F2:046C 55 push bp
- 72F2:046D 8B EC mov bp,sp
- 72F2:046F 2E:FF 36 12B3 push word ptr cs:data_64e ; (72F2:12B3=0)
- 72F2:0474 8F 46 06 pop word ptr [bp+6]
- 72F2:0477 5D pop bp
- 72F2:0478 CF iret ; Interrupt return
- 72F2:0479 E8 77 0A E8 35 0B db 0E8h, 77h, 0Ah, 0E8h, 35h, 0Bh
- 72F2:047F 0A C0 75 DC E8 41 db 0Ah, 0C0h, 75h, 0DCh, 0E8h, 41h
- 72F2:0485 0A E8 18 02 B0 00 db 0Ah, 0E8h, 18h, 2, 0B0h, 0
- 72F2:048B 80 3F FF 75 06 8A db 80h, 3Fh, 0FFh, 75h, 6, 8Ah
- 72F2:0491 47 06 83 C3 07 2E db 47h, 6, 83h, 0C3h, 7, 2Eh
- 72F2:0497 20 06 F0 12 F6 47 db 20h, 6, 0F0h, 12h, 0F6h, 47h
- 72F2:049D 1A 80 74 15 80 6F db 1Ah, 80h, 74h, 15h, 80h, 6Fh
- 72F2:04A3 1A C8 2E 80 3E F0 db 1Ah, 0C8h, 2Eh, 80h, 3Eh, 0F0h
- 72F2:04A9 12 00 75 09 81 6F db 12h, 0, 75h, 9, 81h, 6Fh
- 72F2:04AF 1D 00 10 83 5F 1F db 1Dh, 0, 10h, 83h, 5Fh, 1Fh
- 72F2:04B5 00 db 0
- 72F2:04B6 loc_12: ; xref 72F2:0526, 056B, 05F2, 062A
- ; 066F, 0899, 0BAD, 0C3B
- ; 0DA3
- 72F2:04B6 E8 0A3A call sub_19 ; (0EF3)
- 72F2:04B9 EB A4 jmp short loc_11 ; (045F)
- 72F2:04BB E8 35 0A E8 F3 0A db 0E8h, 35h, 0Ah, 0E8h, 0F3h, 0Ah
- 72F2:04C1 E8 03 0A 0A C0 75 db 0E8h, 3, 0Ah, 0Ah, 0C0h, 75h
- 72F2:04C7 EE 8B DA F6 47 15 db 0EEh, 8Bh, 0DAh, 0F6h, 47h, 15h
- 72F2:04CD 80 74 E6 80 6F 15 db 80h, 74h, 0E6h, 80h, 6Fh, 15h
- 72F2:04D3 C8 81 6F 10 00 10 db 0C8h, 81h, 6Fh, 10h, 0, 10h
- 72F2:04D9 80 5F 12 00 EB D7 db 80h, 5Fh, 12h, 0, 0EBh, 0D7h
- 72F2:04DF E3 1B 8B DA 8B 77 db 0E3h, 1Bh, 8Bh, 0DAh, 8Bh, 77h
- 72F2:04E5 21 0B 77 23 75 11 db 21h, 0Bh, 77h, 23h, 75h, 11h
- 72F2:04EB EB 0A 8B DA 8B 47 db 0EBh, 0Ah, 8Bh, 0DAh, 8Bh, 47h
- 72F2:04F1 0C 0A 47 20 75 05 db 0Ch, 0Ah, 47h, 20h, 75h, 5
- 72F2:04F7 E8 3F 05 73 03 E9 db 0E8h, 3Fh, 5, 73h, 3, 0E9h
- 72F2:04FD 30 FF db 30h, 0FFh
- 72F2:04FF loc_13:
- 72F2:04FF E8 09F1 call sub_19 ; (0EF3)
- 72F2:0502 E8 09C2 call sub_17 ; (0EC7)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 8
-
- 72F2:0505 E8 0AAC call sub_24 ; (0FB4)
- 72F2:0508 89 46 FC mov [bp-4],ax
- 72F2:050B 89 4E F8 mov [bp-8],cx
- 72F2:050E 1E push ds
- 72F2:050F 52 push dx
- 72F2:0510 E8 018E call sub_3 ; (06A1)
- 72F2:0513 83 7F 14 01 cmp word ptr [bx+14h],1
- 72F2:0517 74 0F je loc_14 ; Jump if equal
- 72F2:0519 8B 07 mov ax,[bx]
- 72F2:051B 03 47 02 add ax,[bx+2]
- 72F2:051E 03 47 04 add ax,[bx+4]
- 72F2:0521 74 05 jz loc_14 ; Jump if zero
- 72F2:0523 83 C4 04 add sp,4
- 72F2:0526 EB 8E jmp short loc_12 ; (04B6)
- 72F2:0528 loc_14: ; xref 72F2:0517, 0521
- 72F2:0528 5A pop dx
- 72F2:0529 1F pop ds
- 72F2:052A 8B F2 mov si,dx
- 72F2:052C 0E push cs
- 72F2:052D 07 pop es
- 72F2:052E BF 12B5 mov di,12B5h
- 72F2:0531 B9 0025 mov cx,25h
- 72F2:0534 F3/A4 rep movsb ; Rep while cx>0 Mov [si] to es:[di]
- 72F2:0536 BF 12B5 mov di,12B5h
- 72F2:0539 0E push cs
- 72F2:053A 1F pop ds
- 72F2:053B 8B 45 10 mov ax,[di+10h]
- 72F2:053E 8B 55 12 mov dx,[di+12h]
- 72F2:0541 05 100F add ax,100Fh
- 72F2:0544 83 D2 00 adc dx,0
- 72F2:0547 25 FFF0 and ax,0FFF0h
- 72F2:054A 89 45 10 mov [di+10h],ax
- 72F2:054D 89 55 12 mov [di+12h],dx
- 72F2:0550 2D 0FFC sub ax,0FFCh
- 72F2:0553 83 DA 00 sbb dx,0
- 72F2:0556 89 45 21 mov [di+21h],ax
- 72F2:0559 89 55 23 mov [di+23h],dx
- 72F2:055C C7 45 0E 0001 mov word ptr [di+0Eh],1
- 72F2:0561 B9 001C mov cx,1Ch
- 72F2:0564 8B D7 mov dx,di
- 72F2:0566 B4 27 mov ah,27h ; '''
- 72F2:0568 E8 0A49 call sub_24 ; (0FB4)
- 72F2:056B E9 FF48 jmp loc_12 ; (04B6)
- 72F2:056E 0E 07 8B F2 BF B5 db 0Eh, 7, 8Bh, 0F2h, 0BFh, 0B5h
- 72F2:0574 12 B9 25 00 F3 A4 db 12h, 0B9h, 25h, 0, 0F3h, 0A4h
- 72F2:057A 1E 52 0E 1F BA B5 db 1Eh, 52h, 0Eh, 1Fh, 0BAh, 0B5h
- 72F2:0580 12 B4 0F E8 2E 0A db 12h, 0B4h, 0Fh, 0E8h, 2Eh, 0Ah
- 72F2:0586 B4 10 E8 29 0A F6 db 0B4h, 10h, 0E8h, 29h, 0Ah, 0F6h
- 72F2:058C 06 CA 12 80 5E 1F db 6, 0CAh, 12h, 80h, 5Eh, 1Fh
- 72F2:0592 74 7E 2E C4 1E C5 db 74h, 7Eh, 2Eh, 0C4h, 1Eh, 0C5h
- 72F2:0598 12 8C C0 81 EB 00 db 12h, 8Ch, 0C0h, 81h, 0EBh, 0
- 72F2:059E 10 1D 00 00 33 D2 db 10h, 1Dh, 0, 0, 33h, 0D2h
- 72F2:05A4 2E 8B 0E C3 12 49 db 2Eh, 8Bh, 0Eh, 0C3h, 12h, 49h
- 72F2:05AA 03 D9 15 00 00 41 db 3, 0D9h, 15h, 0, 0, 41h
- 72F2:05B0 F7 F1 89 44 23 92 db 0F7h, 0F1h, 89h, 44h, 23h, 92h
- 72F2:05B6 93 F7 F1 89 44 21 db 93h, 0F7h, 0F1h, 89h, 44h, 21h
- 72F2:05BC E9 F7 FE 2E 83 26 db 0E9h, 0F7h, 0FEh, 2Eh, 83h, 26h
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 9
-
- 72F2:05C2 B3 12 FE E8 2B 09 db 0B3h, 12h, 0FEh, 0E8h, 2Bh, 9
- 72F2:05C8 E8 E9 09 E8 F9 08 db 0E8h, 0E9h, 9, 0E8h, 0F9h, 8
- 72F2:05CE 73 09 2E 83 0E B3 db 73h, 9, 2Eh, 83h, 0Eh, 0B3h
- 72F2:05D4 12 01 E9 DD FE E8 db 12h, 1, 0E9h, 0DDh, 0FEh, 0E8h
- 72F2:05DA C5 00 F6 47 19 80 db 0C5h, 0, 0F6h, 47h, 19h, 80h
- 72F2:05E0 75 03 E9 D1 FE db 75h, 3, 0E9h, 0D1h, 0FEh
- 72F2:05E5 loc_15:
- 72F2:05E5 81 6F 1A 1000 sub word ptr [bx+1Ah],1000h
- 72F2:05EA 83 5F 1C 00 sbb word ptr [bx+1Ch],0
- 72F2:05EE 80 6F 19 C8 sub byte ptr [bx+19h],0C8h
- 72F2:05F2 E9 FEC1 jmp loc_12 ; (04B6)
- 72F2:05F5 51 83 E1 07 83 F9 db 51h, 83h, 0E1h, 7, 83h, 0F9h
- 72F2:05FB 07 74 2F 59 E8 E4 db 7, 74h, 2Fh, 59h, 0E8h, 0E4h
- 72F2:0601 07 E8 AF 09 E8 84 db 7, 0E8h, 0AFh, 9, 0E8h, 84h
- 72F2:0607 08 9C 2E 80 3E DA db 8, 9Ch, 2Eh, 80h, 3Eh, 0DAh
- 72F2:060D 12 00 74 04 9D E9 db 12h, 0, 74h, 4, 9Dh, 0E9h
- 72F2:0613 1A FE 9D 72 09 8B db 1Ah, 0FEh, 9Dh, 72h, 9, 8Bh
- 72F2:0619 D8 B4 3E E8 95 09 db 0D8h, 0B4h, 3Eh, 0E8h, 95h, 9
- 72F2:061F EB 10 db 0EBh, 10h
- 72F2:0621 loc_16:
- 72F2:0621 2E:80 0E 12B3 01 or byte ptr cs:data_64e,1 ; (72F2:12B3=0)
- 72F2:0627 89 46 FC mov [bp-4],ax
- 72F2:062A E9 FE89 jmp loc_12 ; (04B6)
- 72F2:062D 59 E9 FE FD db 59h, 0E9h, 0FEh, 0FDh
- 72F2:0631 loc_17:
- 72F2:0631 E8 045D call sub_9 ; (0A91)
- 72F2:0634 E8 040E call sub_8 ; (0A45)
- 72F2:0637 72 39 jc loc_19 ; Jump if carry Set
- 72F2:0639 2E:80 3E 12A2 00 cmp byte ptr cs:data_55e,0 ; (72F2:12A2=0)
- 72F2:063F 74 31 je loc_19 ; Jump if equal
- 72F2:0641 E8 045A call sub_10 ; (0A9E)
- 72F2:0644 83 FB FF cmp bx,0FFFFh
- 72F2:0647 74 29 je loc_19 ; Jump if equal
- 72F2:0649 2E:FE 0E 12A2 dec byte ptr cs:data_55e ; (72F2:12A2=0)
- 72F2:064E 0E push cs
- 72F2:064F 07 pop es
- 72F2:0650 BF 1252 mov di,1252h
- 72F2:0653 B9 0014 mov cx,14h
- 72F2:0656 33 C0 xor ax,ax ; Zero register
- 72F2:0658 F2/AF repne scasw ; Rept zf=0+cx>0 Scan es:[di] for ax
- 72F2:065A 2E:A1 12A3 mov ax,cs:data_56e ; (72F2:12A3=0)
- 72F2:065E 26:89 45 FE mov es:[di-2],ax
- 72F2:0662 26:89 5D 26 mov es:[di+26h],bx
- 72F2:0666 89 5E FC mov [bp-4],bx
- 72F2:0669 loc_18: ; xref 72F2:069C
- 72F2:0669 2E:80 26 12B3 FE and byte ptr cs:data_64e,0FEh ; (72F2:12B3=0)
- 72F2:066F E9 FE44 jmp loc_12 ; (04B6)
- 72F2:0672 loc_19: ; xref 72F2:0637, 063F, 0647
- 72F2:0672 E9 FDBA jmp loc_10 ; (042F)
- 72F2:0675 0E 07 E8 17 04 BF db 0Eh, 7, 0E8h, 17h, 4, 0BFh
- 72F2:067B 52 12 B9 14 00 2E db 52h, 12h, 0B9h, 14h, 0, 2Eh
- 72F2:0681 A1 A3 12 db 0A1h, 0A3h, 12h
- 72F2:0684 loc_20: ; xref 72F2:068C
- 72F2:0684 F2/AF repne scasw ; Rept zf=0+cx>0 Scan es:[di] for ax
- 72F2:0686 75 16 jnz loc_21 ; Jump if not zero
- 72F2:0688 26:3B 5D 26 cmp bx,es:[di+26h]
- 72F2:068C 75 F6 jne loc_20 ; Jump if not equal
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 10
-
- 72F2:068E 26:C7 45 FE 0000 mov word ptr es:[di-2],0
- 72F2:0694 E8 021C call sub_4 ; (08B3)
- 72F2:0697 2E:FE 06 12A2 inc byte ptr cs:data_55e ; (72F2:12A2=0)
- 72F2:069C EB CB jmp short loc_18 ; (0669)
- 72F2:069E loc_21: ; xref 72F2:0686
- 72F2:069E E9 FD8E jmp loc_10 ; (042F)
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0510
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_3 proc near
- 72F2:06A1 06 push es
- 72F2:06A2 B4 2F mov ah,2Fh ; '/'
- 72F2:06A4 E8 090D call sub_24 ; (0FB4)
- 72F2:06A7 06 push es
- 72F2:06A8 1F pop ds
- 72F2:06A9 07 pop es
- 72F2:06AA C3 retn
- sub_3 endp
-
- 72F2:06AB 0A C0 74 03 E9 4E db 0Ah, 0C0h, 74h, 3, 0E9h, 4Eh
- 72F2:06B1 01 1E 52 2E 89 1E db 1, 1Eh, 52h, 2Eh, 89h, 1Eh
- 72F2:06B7 24 12 2E 8C 06 26 db 24h, 12h, 2Eh, 8Ch, 6, 26h
- 72F2:06BD 12 2E C5 36 24 12 db 12h, 2Eh, 0C5h, 36h, 24h, 12h
- 72F2:06C3 BF F1 12 B9 0E 00 db 0BFh, 0F1h, 12h, 0B9h, 0Eh, 0
- 72F2:06C9 0E 07 F3 A4 5E 1F db 0Eh, 7, 0F3h, 0A4h, 5Eh, 1Fh
- 72F2:06CF BF 07 13 B9 50 00 db 0BFh, 7, 13h, 0B9h, 50h, 0
- 72F2:06D5 F3 A4 BB FF FF E8 db 0F3h, 0A4h, 0BBh, 0FFh, 0FFh, 0E8h
- 72F2:06DB 7D 08 E8 13 08 5D db 7Dh, 8, 0E8h, 13h, 8, 5Dh
- 72F2:06E1 2E 8F 06 E6 12 2E db 2Eh, 8Fh, 6, 0E6h, 12h, 2Eh
- 72F2:06E7 8F 06 E8 12 2E 8F db 8Fh, 6, 0E8h, 12h, 2Eh, 8Fh
- 72F2:06ED 06 B3 12 B8 01 4B db 6, 0B3h, 12h, 0B8h, 1, 4Bh
- 72F2:06F3 0E 07 BB F1 12 9C db 0Eh, 7, 0BBh, 0F1h, 12h, 9Ch
- 72F2:06F9 2E FF 1E 35 12 73 db 2Eh, 0FFh, 1Eh, 35h, 12h, 73h
- 72F2:06FF 20 2E 83 0E B3 12 db 20h, 2Eh, 83h, 0Eh, 0B3h, 12h
- 72F2:0705 01 2E FF 36 B3 12 db 1, 2Eh, 0FFh, 36h, 0B3h, 12h
- 72F2:070B 2E FF 36 E8 12 2E db 2Eh, 0FFh, 36h, 0E8h, 12h, 2Eh
- 72F2:0711 FF 36 E6 12 55 8B db 0FFh, 36h, 0E6h, 12h, 55h, 8Bh
- 72F2:0717 EC 2E C4 1E 24 12 db 0ECh, 2Eh, 0C4h, 1Eh, 24h, 12h
- 72F2:071D E9 3F FD db 0E9h, 3Fh, 0FDh
- 72F2:0720 loc_22:
- 72F2:0720 E8 036E call sub_9 ; (0A91)
- 72F2:0723 0E push cs
- 72F2:0724 07 pop es
- 72F2:0725 BF 1252 mov di,1252h
- 72F2:0728 B9 0014 mov cx,14h
- 72F2:072B loc_23: ; xref 72F2:073E
- 72F2:072B 2E:A1 12A3 mov ax,cs:data_56e ; (72F2:12A3=0)
- 72F2:072F F2/AF repne scasw ; Rept zf=0+cx>0 Scan es:[di] for ax
- 72F2:0731 75 0D jnz loc_24 ; Jump if not zero
- 72F2:0733 26:C7 45 FE 0000 mov word ptr es:[di-2],0
- 72F2:0739 2E:FE 06 12A2 inc byte ptr cs:data_55e ; (72F2:12A2=0)
- 72F2:073E EB EB jmp short loc_23 ; (072B)
- 72F2:0740 loc_24: ; xref 72F2:0731
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 11
-
- 72F2:0740 2E:C5 36 1303 lds si,dword ptr cs:data_79e ; (72F2:1303=0) Load 32 bit ptr
- 72F2:0745 83 FE 01 cmp si,1
- 72F2:0748 75 33 jne loc_25 ; Jump if not equal
- 72F2:074A 8B 16 001A mov dx,ds:data_6e ; (0000:001A=0F000h)
- 72F2:074E 83 C2 10 add dx,10h
- 72F2:0751 B4 51 mov ah,51h ; 'Q'
- 72F2:0753 E8 085E call sub_24 ; (0FB4)
- 72F2:0756 03 D3 add dx,bx
- 72F2:0758 2E:89 16 1305 mov word ptr cs:data_79e+2,dx ; (72F2:1305=0)
- 72F2:075D FF 36 0018 push word ptr ds:data_5e ; (0000:0018=0EAA6h)
- 72F2:0761 2E:8F 06 1303 pop word ptr cs:data_79e ; (72F2:1303=0)
- 72F2:0766 83 C3 10 add bx,10h
- 72F2:0769 03 1E 0012 add bx,ds:data_3e ; (0000:0012=70h)
- 72F2:076D 2E:89 1E 1301 mov cs:data_78e,bx ; (72F2:1301=0)
- 72F2:0772 FF 36 0014 push word ptr ds:data_4e ; (0000:0014=0FF54h)
- 72F2:0776 2E:8F 06 12FF pop word ptr cs:data_77e ; (72F2:12FF=0)
- 72F2:077B EB 22 jmp short loc_26 ; (079F)
- 72F2:077D loc_25: ; xref 72F2:0748
- 72F2:077D 8B 04 mov ax,[si]
- 72F2:077F 03 44 02 add ax,[si+2]
- 72F2:0782 03 44 04 add ax,[si+4]
- 72F2:0785 74 60 jz loc_27 ; Jump if zero
- 72F2:0787 0E push cs
- 72F2:0788 1F pop ds
- 72F2:0789 BA 1307 mov dx,1307h
- 72F2:078C E8 02B6 call sub_8 ; (0A45)
- 72F2:078F E8 030C call sub_10 ; (0A9E)
- 72F2:0792 2E:FE 06 12EF inc byte ptr cs:data_76e ; (72F2:12EF=0)
- 72F2:0797 E8 0119 call sub_4 ; (08B3)
- 72F2:079A 2E:FE 0E 12EF dec byte ptr cs:data_76e ; (72F2:12EF=0)
- 72F2:079F loc_26: ; xref 72F2:077B, 07FE
- 72F2:079F B4 51 mov ah,51h ; 'Q'
- 72F2:07A1 E8 0810 call sub_24 ; (0FB4)
- 72F2:07A4 E8 0768 call sub_21 ; (0F0F)
- 72F2:07A7 E8 0711 call sub_16 ; (0EBB)
- 72F2:07AA E8 072D call sub_18 ; (0EDA)
- 72F2:07AD E8 0756 call sub_20 ; (0F06)
- 72F2:07B0 8E DB mov ds,bx
- 72F2:07B2 8E C3 mov es,bx
- 72F2:07B4 2E:FF 36 12B3 push word ptr cs:data_64e ; (72F2:12B3=0)
- 72F2:07B9 2E:FF 36 12E8 push word ptr cs:data_72e ; (72F2:12E8=0)
- 72F2:07BE 2E:FF 36 12E6 push word ptr cs:data_71e ; (72F2:12E6=0)
- 72F2:07C3 8F 06 000A pop word ptr ds:data_10e ; (0080:000A=0)
- 72F2:07C7 8F 06 000C pop word ptr ds:data_11e ; (0080:000C=0)
- 72F2:07CB 1E push ds
- 72F2:07CC C5 16 000A lds dx,dword ptr ds:data_10e ; (0080:000A=0) Load 32 bit ptr
- 72F2:07D0 B0 22 mov al,22h ; '"'
- 72F2:07D2 E8 08E7 call sub_26 ; (10BC)
- 72F2:07D5 1F pop ds
- 72F2:07D6 9D popf ; Pop flags
- 72F2:07D7 58 pop ax
- 72F2:07D8 2E:8E 16 1301 mov ss,cs:data_78e ; (72F2:1301=0)
- 72F2:07DD 2E:8B 26 12FF mov sp,cs:data_77e ; (72F2:12FF=0)
- 72F2:07E2 2E:FF 2E 1303 jmp dword ptr cs:data_79e ; (72F2:1303=0)
- 72F2:07E7 loc_27: ; xref 72F2:0785
- 72F2:07E7 8B 5C 01 mov bx,[si+1]
- 72F2:07EA 8B 80 FD9F mov ax,ds:data_12e[bx+si] ; (0080:FD9F=0AD65h)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 12
-
- 72F2:07EE 89 04 mov [si],ax
- 72F2:07F0 8B 80 FDA1 mov ax,ds:data_13e[bx+si] ; (0080:FDA1=0B295h)
- 72F2:07F4 89 44 02 mov [si+2],ax
- 72F2:07F7 8B 80 FDA3 mov ax,ds:data_14e[bx+si] ; (0080:FDA3=0EB10h)
- 72F2:07FB 89 44 04 mov [si+4],ax
- 72F2:07FE EB 9F jmp short loc_26 ; (079F)
- 72F2:0800 3C 01 74 03 E9 28 db 3Ch, 1, 74h, 3, 0E9h, 28h
- 72F2:0806 FC db 0FCh
- 72F2:0807 loc_28:
- 72F2:0807 2E:83 0E 12B3 01 or word ptr cs:data_64e,1 ; (72F2:12B3=0)
- 72F2:080D 2E:89 1E 1224 mov cs:data_36e,bx ; (72F2:1224=0)
- 72F2:0812 2E:8C 06 1226 mov cs:data_37e,es ; (72F2:1226=0)
- 72F2:0817 E8 06D9 call sub_19 ; (0EF3)
- 72F2:081A E8 0797 call sub_24 ; (0FB4)
- 72F2:081D E8 06A7 call sub_17 ; (0EC7)
- 72F2:0820 2E:C4 1E 1224 les bx,dword ptr cs:data_36e ; (72F2:1224=0) Load 32 bit ptr
- 72F2:0825 26:C5 77 12 lds si,dword ptr es:[bx+12h] ; Load 32 bit ptr
- 72F2:0829 72 6E jc loc_31 ; Jump if carry Set
- 72F2:082B 2E:80 26 12B3 FE and byte ptr cs:data_64e,0FEh ; (72F2:12B3=0)
- 72F2:0831 83 FE 01 cmp si,1
- 72F2:0834 74 23 je loc_29 ; Jump if equal
- 72F2:0836 8B 04 mov ax,[si]
- 72F2:0838 03 44 02 add ax,[si+2]
- 72F2:083B 03 44 04 add ax,[si+4]
- 72F2:083E 75 45 jnz loc_30 ; Jump if not zero
- 72F2:0840 8B 5C 01 mov bx,[si+1]
- 72F2:0843 8B 80 FD9F mov ax,ds:data_7e[bx+si] ; (0000:FD9F=0)
- 72F2:0847 89 04 mov [si],ax
- 72F2:0849 8B 80 FDA1 mov ax,ds:data_8e[bx+si] ; (0000:FDA1=0)
- 72F2:084D 89 44 02 mov [si+2],ax
- 72F2:0850 8B 80 FDA3 mov ax,ds:data_9e[bx+si] ; (0000:FDA3=0)
- 72F2:0854 89 44 04 mov [si+4],ax
- 72F2:0857 EB 2C jmp short loc_30 ; (0885)
- 72F2:0859 loc_29: ; xref 72F2:0834
- 72F2:0859 8B 16 001A mov dx,ds:data_6e ; (0000:001A=0F000h)
- 72F2:085D E8 0231 call sub_9 ; (0A91)
- 72F2:0860 2E:8B 0E 12A3 mov cx,cs:data_56e ; (72F2:12A3=0)
- 72F2:0865 83 C1 10 add cx,10h
- 72F2:0868 03 D1 add dx,cx
- 72F2:086A 26:89 57 14 mov es:[bx+14h],dx
- 72F2:086E A1 0018 mov ax,ds:data_5e ; (0000:0018=0EAA6h)
- 72F2:0871 26:89 47 12 mov es:[bx+12h],ax
- 72F2:0875 A1 0012 mov ax,ds:data_3e ; (0000:0012=70h)
- 72F2:0878 03 C1 add ax,cx
- 72F2:087A 26:89 47 10 mov es:[bx+10h],ax
- 72F2:087E A1 0014 mov ax,ds:data_4e ; (0000:0014=0FF54h)
- 72F2:0881 26:89 47 0E mov es:[bx+0Eh],ax
- 72F2:0885 loc_30: ; xref 72F2:083E, 0857
- 72F2:0885 E8 0209 call sub_9 ; (0A91)
- 72F2:0888 2E:8E 1E 12A3 mov ds,cs:data_56e ; (72F2:12A3=0)
- 72F2:088D 8B 46 02 mov ax,[bp+2]
- 72F2:0890 A3 000A mov ds:data_1e,ax ; (0000:000A=11ECh)
- 72F2:0893 8B 46 04 mov ax,[bp+4]
- 72F2:0896 A3 000C mov word ptr ds:data_1e+2,ax ; (0000:000C=75Ch)
- 72F2:0899 loc_31: ; xref 72F2:0829
- 72F2:0899 E9 FC1A jmp loc_12 ; (04B6)
- 72F2:089C 2E C6 06 F0 12 00 db 2Eh, 0C6h, 6, 0F0h, 12h, 0
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 13
-
- 72F2:08A2 B4 2A E8 0D 07 81 db 0B4h, 2Ah, 0E8h, 0Dh, 7, 81h
- 72F2:08A8 FA 16 09 72 03 E8 db 0FAh, 16h, 9, 72h, 3, 0E8h
- 72F2:08AE 22 08 E9 7C FB db 22h, 8, 0E9h, 7Ch, 0FBh
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0694, 0797
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_4 proc near
- 72F2:08B3 E8 0530 call sub_13 ; (0DE6)
- 72F2:08B6 E8 00BC call sub_5 ; (0975)
- 72F2:08B9 C6 06 0020 01 mov byte ptr ds:data_21e,1 ; (72F2:0020=0)
- 72F2:08BE 81 3E 1200 5A4D cmp word ptr ds:data_25e,5A4Dh ; (72F2:1200=0)
- 72F2:08C4 74 0E je loc_32 ; Jump if equal
- 72F2:08C6 81 3E 1200 4D5A cmp word ptr ds:data_25e,4D5Ah ; (72F2:1200=0)
- 72F2:08CC 74 06 je loc_32 ; Jump if equal
- 72F2:08CE FE 0E 0020 dec byte ptr ds:data_21e ; (72F2:0020=0)
- 72F2:08D2 74 58 jz loc_35 ; Jump if zero
- 72F2:08D4 loc_32: ; xref 72F2:08C4, 08CC
- 72F2:08D4 A1 1204 mov ax,ds:data_28e ; (72F2:1204=0)
- 72F2:08D7 D1 E1 shl cx,1 ; Shift w/zeros fill
- 72F2:08D9 F7 E1 mul cx ; dx:ax = reg * ax
- 72F2:08DB 05 0200 add ax,200h
- 72F2:08DE 3B C6 cmp ax,si
- 72F2:08E0 72 48 jb loc_34 ; Jump if below
- 72F2:08E2 A1 120A mov ax,ds:data_30e ; (72F2:120A=0)
- 72F2:08E5 0B 06 120C or ax,ds:data_31e ; (72F2:120C=0)
- 72F2:08E9 74 3F jz loc_34 ; Jump if zero
- 72F2:08EB A1 12A9 mov ax,ds:data_59e ; (72F2:12A9=0)
- 72F2:08EE 8B 16 12AB mov dx,ds:data_60e ; (72F2:12AB=0)
- 72F2:08F2 B9 0200 mov cx,200h
- 72F2:08F5 F7 F1 div cx ; ax,dx rem=dx:ax/reg
- 72F2:08F7 0B D2 or dx,dx ; Zero ?
- 72F2:08F9 74 01 jz loc_33 ; Jump if zero
- 72F2:08FB 40 inc ax
- 72F2:08FC loc_33: ; xref 72F2:08F9
- 72F2:08FC A3 1204 mov ds:data_28e,ax ; (72F2:1204=0)
- 72F2:08FF 89 16 1202 mov word ptr ds:data_25e+2,dx ; (72F2:1202=0)
- 72F2:0903 83 3E 1214 01 cmp word ptr ds:data_34e,1 ; (72F2:1214=0)
- 72F2:0908 74 62 je loc_36 ; Jump if equal
- 72F2:090A C7 06 1214 0001 mov word ptr ds:data_34e,1 ; (72F2:1214=0)
- 72F2:0910 8B C6 mov ax,si
- 72F2:0912 2B 06 1208 sub ax,ds:data_29e ; (72F2:1208=0)
- 72F2:0916 A3 1216 mov ds:data_35e,ax ; (72F2:1216=0)
- 72F2:0919 83 06 1204 08 add word ptr ds:data_28e,8 ; (72F2:1204=0)
- 72F2:091E A3 120E mov ds:data_32e,ax ; (72F2:120E=0)
- 72F2:0921 C7 06 1210 1000 mov word ptr ds:data_33e,1000h ; (72F2:1210=0)
- 72F2:0927 E8 00A9 call sub_6 ; (09D3)
- 72F2:092A loc_34: ; xref 72F2:08E0, 08E9
- 72F2:092A EB 40 jmp short loc_36 ; (096C)
- 72F2:092C loc_35: ; xref 72F2:08D2
- 72F2:092C 81 FE 0F00 cmp si,0F00h
- 72F2:0930 73 3A jae loc_36 ; Jump if above or =
- 72F2:0932 A1 1200 mov ax,ds:data_25e ; (72F2:1200=0)
- 72F2:0935 A3 0004 mov word ptr ds:data_17e+1,ax ; (72F2:0004=0)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 14
-
- 72F2:0938 03 D0 add dx,ax
- 72F2:093A A1 1202 mov ax,word ptr ds:data_25e+2 ; (72F2:1202=0)
- 72F2:093D A3 0006 mov ds:data_19e,ax ; (72F2:0006=0)
- 72F2:0940 03 D0 add dx,ax
- 72F2:0942 A1 1204 mov ax,ds:data_28e ; (72F2:1204=0)
- 72F2:0945 A3 0008 mov ds:data_20e,ax ; (72F2:0008=0)
- 72F2:0948 03 D0 add dx,ax
- 72F2:094A 74 20 jz loc_36 ; Jump if zero
- 72F2:094C B1 E9 mov cl,0E9h
- 72F2:094E 88 0E 1200 mov ds:data_25e,cl ; (72F2:1200=0)
- 72F2:0952 B8 0010 mov ax,10h
- 72F2:0955 F7 E6 mul si ; dx:ax = reg * ax
- 72F2:0957 05 0265 add ax,265h
- 72F2:095A A3 1201 mov word ptr ds:data_25e+1,ax ; (72F2:1201=0)
- 72F2:095D A1 1200 mov ax,ds:data_25e ; (72F2:1200=0)
- 72F2:0960 03 06 1202 add ax,word ptr ds:data_25e+2 ; (72F2:1202=0)
- 72F2:0964 F7 D8 neg ax
- 72F2:0966 A3 1204 mov ds:data_28e,ax ; (72F2:1204=0)
- 72F2:0969 E8 0067 call sub_6 ; (09D3)
- 72F2:096C loc_36: ; xref 72F2:0908, 092A, 0930, 094A
- 72F2:096C B4 3E mov ah,3Eh ; '>'
- 72F2:096E E8 0643 call sub_24 ; (0FB4)
- 72F2:0971 E8 0518 call sub_14 ; (0E8C)
- 72F2:0974 C3 retn
- sub_4 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:08B6
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_5 proc near
- 72F2:0975 0E push cs
- 72F2:0976 1F pop ds
- 72F2:0977 B8 5700 mov ax,5700h
- 72F2:097A E8 0637 call sub_24 ; (0FB4)
- 72F2:097D 89 0E 1229 mov ds:data_39e,cx ; (72F2:1229=0)
- 72F2:0981 89 16 122B mov ds:data_40e,dx ; (72F2:122B=0)
- 72F2:0985 B8 4200 mov ax,4200h
- 72F2:0988 33 C9 xor cx,cx ; Zero register
- 72F2:098A 8B D1 mov dx,cx
- 72F2:098C E8 0625 call sub_24 ; (0FB4)
- 72F2:098F B4 3F mov ah,3Fh ; '?'
- 72F2:0991 B1 1C mov cl,1Ch
- 72F2:0993 BA 1200 mov dx,1200h
- 72F2:0996 E8 061B call sub_24 ; (0FB4)
- 72F2:0999 B8 4200 mov ax,4200h
- 72F2:099C 33 C9 xor cx,cx ; Zero register
- 72F2:099E 8B D1 mov dx,cx
- 72F2:09A0 E8 0611 call sub_24 ; (0FB4)
- 72F2:09A3 B4 3F mov ah,3Fh ; '?'
- 72F2:09A5 B1 1C mov cl,1Ch
- 72F2:09A7 BA 0004 mov dx,4
- 72F2:09AA E8 0607 call sub_24 ; (0FB4)
- 72F2:09AD B8 4202 mov ax,4202h
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 15
-
- 72F2:09B0 33 C9 xor cx,cx ; Zero register
- 72F2:09B2 8B D1 mov dx,cx
- 72F2:09B4 E8 05FD call sub_24 ; (0FB4)
- 72F2:09B7 A3 12A9 mov ds:data_59e,ax ; (72F2:12A9=0)
- 72F2:09BA 89 16 12AB mov ds:data_60e,dx ; (72F2:12AB=0)
- 72F2:09BE 8B F8 mov di,ax
- 72F2:09C0 05 000F add ax,0Fh
- 72F2:09C3 83 D2 00 adc dx,0
- 72F2:09C6 25 FFF0 and ax,0FFF0h
- 72F2:09C9 2B F8 sub di,ax
- 72F2:09CB B9 0010 mov cx,10h
- 72F2:09CE F7 F1 div cx ; ax,dx rem=dx:ax/reg
- 72F2:09D0 8B F0 mov si,ax
- 72F2:09D2 C3 retn
- sub_5 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0927, 0969
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_6 proc near
- 72F2:09D3 B8 4200 mov ax,4200h
- 72F2:09D6 33 C9 xor cx,cx ; Zero register
- 72F2:09D8 8B D1 mov dx,cx
- 72F2:09DA E8 05D7 call sub_24 ; (0FB4)
- 72F2:09DD B4 40 mov ah,40h ; '@'
- 72F2:09DF B1 1C mov cl,1Ch
- 72F2:09E1 BA 1200 mov dx,1200h
- 72F2:09E4 E8 05CD call sub_24 ; (0FB4)
- 72F2:09E7 B8 0010 mov ax,10h
- 72F2:09EA F7 E6 mul si ; dx:ax = reg * ax
- 72F2:09EC 8B CA mov cx,dx
- 72F2:09EE 8B D0 mov dx,ax
- 72F2:09F0 B8 4200 mov ax,4200h
- 72F2:09F3 E8 05BE call sub_24 ; (0FB4)
- 72F2:09F6 33 D2 xor dx,dx ; Zero register
- 72F2:09F8 B9 1000 mov cx,1000h
- 72F2:09FB 03 CF add cx,di
- 72F2:09FD B4 40 mov ah,40h ; '@'
- 72F2:09FF E8 05B2 call sub_24 ; (0FB4)
- 72F2:0A02 B8 5701 mov ax,5701h
- 72F2:0A05 8B 0E 1229 mov cx,ds:data_39e ; (72F2:1229=0)
- 72F2:0A09 8B 16 122B mov dx,ds:data_40e ; (72F2:122B=0)
- 72F2:0A0D F6 C6 80 test dh,80h
- 72F2:0A10 75 03 jnz loc_37 ; Jump if not zero
- 72F2:0A12 80 C6 C8 add dh,0C8h
- 72F2:0A15 loc_37: ; xref 72F2:0A10
- 72F2:0A15 E8 059C call sub_24 ; (0FB4)
- 72F2:0A18 80 3E 12EE 03 cmp byte ptr ds:data_75e,3 ; (72F2:12EE=0)
- 72F2:0A1D 72 19 jb loc_ret_38 ; Jump if below
- 72F2:0A1F 80 3E 12EF 00 cmp byte ptr ds:data_76e,0 ; (72F2:12EF=0)
- 72F2:0A24 74 12 je loc_ret_38 ; Jump if equal
- 72F2:0A26 53 push bx
- 72F2:0A27 8A 16 1228 mov dl,ds:data_38e ; (72F2:1228=0)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 16
-
- 72F2:0A2B B4 32 mov ah,32h ; '2'
- 72F2:0A2D E8 0584 call sub_24 ; (0FB4)
- 72F2:0A30 2E:A1 12EC mov ax,cs:data_74e ; (72F2:12EC=0)
- 72F2:0A34 89 47 1E mov [bx+1Eh],ax
- 72F2:0A37 5B pop bx
-
- 72F2:0A38 loc_ret_38: ; xref 72F2:0A1D, 0A24
- 72F2:0A38 C3 retn
- sub_6 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_7 proc near
- 72F2:0A39 E8 04D3 call sub_21 ; (0F0F)
- 72F2:0A3C 8B FA mov di,dx
- 72F2:0A3E 83 C7 0D add di,0Dh
- 72F2:0A41 1E push ds
- 72F2:0A42 07 pop es
- 72F2:0A43 EB 20 jmp short loc_40 ; (0A65)
-
- ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ;
- ; Called from: 72F2:0634, 078C
-
- sub_8:
- 72F2:0A45 E8 04C7 call sub_21 ; (0F0F)
- 72F2:0A48 1E push ds
- 72F2:0A49 07 pop es
- 72F2:0A4A 8B FA mov di,dx
- 72F2:0A4C B9 0050 mov cx,50h
- 72F2:0A4F 33 C0 xor ax,ax ; Zero register
- 72F2:0A51 B3 00 mov bl,0
- 72F2:0A53 80 7D 01 3A cmp byte ptr [di+1],3Ah ; ':'
- 72F2:0A57 75 05 jne loc_39 ; Jump if not equal
- 72F2:0A59 8A 1D mov bl,[di]
- 72F2:0A5B 80 E3 1F and bl,1Fh
- 72F2:0A5E loc_39: ; xref 72F2:0A57
- 72F2:0A5E 2E:88 1E 1228 mov cs:data_38e,bl ; (72F2:1228=0)
- 72F2:0A63 F2/AE repne scasb ; Rept zf=0+cx>0 Scan es:[di] for al
- 72F2:0A65 loc_40: ; xref 72F2:0A43
- 72F2:0A65 8B 45 FD mov ax,[di-3]
- 72F2:0A68 25 DFDF and ax,0DFDFh
- 72F2:0A6B 02 E0 add ah,al
- 72F2:0A6D 8A 45 FC mov al,[di-4]
- 72F2:0A70 24 DF and al,0DFh
- 72F2:0A72 02 C4 add al,ah
- 72F2:0A74 2E:C6 06 0020 00 mov byte ptr cs:data_21e,0 ; (72F2:0020=0)
- 72F2:0A7A 3C DF cmp al,0DFh
- 72F2:0A7C 74 09 je loc_41 ; Jump if equal
- 72F2:0A7E 2E:FE 06 0020 inc byte ptr cs:data_21e ; (72F2:0020=0)
- 72F2:0A83 3C E2 cmp al,0E2h
- 72F2:0A85 75 05 jne loc_42 ; Jump if not equal
- 72F2:0A87 loc_41: ; xref 72F2:0A7C
- 72F2:0A87 E8 047C call sub_20 ; (0F06)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 17
-
- 72F2:0A8A F8 clc ; Clear carry flag
- 72F2:0A8B C3 retn
- 72F2:0A8C loc_42: ; xref 72F2:0A85
- 72F2:0A8C E8 0477 call sub_20 ; (0F06)
- 72F2:0A8F F9 stc ; Set carry flag
- 72F2:0A90 C3 retn
- sub_7 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0631, 0720, 085D, 0885
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_9 proc near
- 72F2:0A91 53 push bx
- 72F2:0A92 B4 51 mov ah,51h ; 'Q'
- 72F2:0A94 E8 051D call sub_24 ; (0FB4)
- 72F2:0A97 2E:89 1E 12A3 mov cs:data_56e,bx ; (72F2:12A3=0)
- 72F2:0A9C 5B pop bx
- 72F2:0A9D C3 retn
- sub_9 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0641, 078F
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_10 proc near
- 72F2:0A9E E8 0345 call sub_13 ; (0DE6)
- 72F2:0AA1 52 push dx
- 72F2:0AA2 2E:8A 16 1228 mov dl,cs:data_38e ; (72F2:1228=0)
- 72F2:0AA7 B4 36 mov ah,36h ; '6'
- 72F2:0AA9 E8 0508 call sub_24 ; (0FB4)
- 72F2:0AAC F7 E1 mul cx ; dx:ax = reg * ax
- 72F2:0AAE F7 E3 mul bx ; dx:ax = reg * ax
- 72F2:0AB0 8B DA mov bx,dx
- 72F2:0AB2 5A pop dx
- 72F2:0AB3 0B DB or bx,bx ; Zero ?
- 72F2:0AB5 75 05 jnz loc_43 ; Jump if not zero
- 72F2:0AB7 3D 4000 cmp ax,4000h
- 72F2:0ABA 72 43 jb loc_44 ; Jump if below
- 72F2:0ABC loc_43: ; xref 72F2:0AB5
- 72F2:0ABC B8 4300 mov ax,4300h
- 72F2:0ABF E8 04F2 call sub_24 ; (0FB4)
- 72F2:0AC2 72 3B jc loc_44 ; Jump if carry Set
- 72F2:0AC4 8B F9 mov di,cx
- 72F2:0AC6 33 C9 xor cx,cx ; Zero register
- 72F2:0AC8 B8 4301 mov ax,4301h
- 72F2:0ACB E8 04E6 call sub_24 ; (0FB4)
- 72F2:0ACE 2E:80 3E 12DA 00 cmp byte ptr cs:data_65e,0 ; (72F2:12DA=0)
- 72F2:0AD4 75 29 jne loc_44 ; Jump if not equal
- 72F2:0AD6 B8 3D02 mov ax,3D02h
- 72F2:0AD9 E8 04D8 call sub_24 ; (0FB4)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 18
-
- 72F2:0ADC 72 21 jc loc_44 ; Jump if carry Set
- 72F2:0ADE 8B D8 mov bx,ax
- 72F2:0AE0 8B CF mov cx,di
- 72F2:0AE2 B8 4301 mov ax,4301h
- 72F2:0AE5 E8 04CC call sub_24 ; (0FB4)
- 72F2:0AE8 53 push bx
- 72F2:0AE9 2E:8A 16 1228 mov dl,cs:data_38e ; (72F2:1228=0)
- 72F2:0AEE B4 32 mov ah,32h ; '2'
- 72F2:0AF0 E8 04C1 call sub_24 ; (0FB4)
- 72F2:0AF3 8B 47 1E mov ax,[bx+1Eh]
- 72F2:0AF6 2E:A3 12EC mov cs:data_74e,ax ; (72F2:12EC=0)
- 72F2:0AFA 5B pop bx
- 72F2:0AFB E8 038E call sub_14 ; (0E8C)
- 72F2:0AFE C3 retn
- 72F2:0AFF loc_44: ; xref 72F2:0ABA, 0AC2, 0AD4, 0ADC
- 72F2:0AFF 33 DB xor bx,bx ; Zero register
- 72F2:0B01 4B dec bx
- 72F2:0B02 E8 0387 call sub_14 ; (0E8C)
- 72F2:0B05 C3 retn
- sub_10 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0B99
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_11 proc near
- 72F2:0B06 51 push cx
- 72F2:0B07 52 push dx
- 72F2:0B08 50 push ax
- 72F2:0B09 B8 4400 mov ax,4400h
- 72F2:0B0C E8 04A5 call sub_24 ; (0FB4)
- 72F2:0B0F 80 F2 80 xor dl,80h
- 72F2:0B12 F6 C2 80 test dl,80h
- 72F2:0B15 74 09 jz loc_45 ; Jump if zero
- 72F2:0B17 B8 5700 mov ax,5700h
- 72F2:0B1A E8 0497 call sub_24 ; (0FB4)
- 72F2:0B1D F6 C6 80 test dh,80h
- 72F2:0B20 loc_45: ; xref 72F2:0B15
- 72F2:0B20 58 pop ax
- 72F2:0B21 5A pop dx
- 72F2:0B22 59 pop cx
- 72F2:0B23 C3 retn
- sub_11 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_12 proc near
- 72F2:0B24 E8 03E8 call sub_21 ; (0F0F)
- 72F2:0B27 B8 4201 mov ax,4201h
- 72F2:0B2A 33 C9 xor cx,cx ; Zero register
- 72F2:0B2C 33 D2 xor dx,dx ; Zero register
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 19
-
- 72F2:0B2E E8 0483 call sub_24 ; (0FB4)
- 72F2:0B31 2E:A3 12A5 mov cs:data_57e,ax ; (72F2:12A5=0)
- 72F2:0B35 2E:89 16 12A7 mov cs:data_58e,dx ; (72F2:12A7=0)
- 72F2:0B3A B8 4202 mov ax,4202h
- 72F2:0B3D 33 C9 xor cx,cx ; Zero register
- 72F2:0B3F 33 D2 xor dx,dx ; Zero register
- 72F2:0B41 E8 0470 call sub_24 ; (0FB4)
- 72F2:0B44 2E:A3 12A9 mov cs:data_59e,ax ; (72F2:12A9=0)
- 72F2:0B48 2E:89 16 12AB mov cs:data_60e,dx ; (72F2:12AB=0)
- 72F2:0B4D B8 4200 mov ax,4200h
- 72F2:0B50 2E:8B 16 12A5 mov dx,cs:data_57e ; (72F2:12A5=0)
- 72F2:0B55 2E:8B 0E 12A7 mov cx,cs:data_58e ; (72F2:12A7=0)
- 72F2:0B5A E8 0457 call sub_24 ; (0FB4)
- 72F2:0B5D E8 03A6 call sub_20 ; (0F06)
- 72F2:0B60 C3 retn
- sub_12 endp
-
- 72F2:0B61 0A C0 75 22 2E 83 db 0Ah, 0C0h, 75h, 22h, 2Eh, 83h
- 72F2:0B67 26 B3 12 FE E8 85 db 26h, 0B3h, 12h, 0FEh, 0E8h, 85h
- 72F2:0B6D 03 E8 43 04 72 0B db 3, 0E8h, 43h, 4, 72h, 0Bh
- 72F2:0B73 F6 C6 80 74 03 80 db 0F6h, 0C6h, 80h, 74h, 3, 80h
- 72F2:0B79 EE C8 E9 E1 F8 2E db 0EEh, 0C8h, 0E9h, 0E1h, 0F8h, 2Eh
- 72F2:0B7F 83 0E B3 12 01 E9 db 83h, 0Eh, 0B3h, 12h, 1, 0E9h
- 72F2:0B85 D8 F8 3C 01 75 37 db 0D8h, 0F8h, 3Ch, 1, 75h, 37h
- 72F2:0B8B 2E 83 26 B3 12 FE db 2Eh, 83h, 26h, 0B3h, 12h, 0FEh
- 72F2:0B91 F6 C6 80 74 03 80 db 0F6h, 0C6h, 80h, 74h, 3, 80h
- 72F2:0B97 EE C8 db 0EEh, 0C8h
- 72F2:0B99 loc_46:
- 72F2:0B99 E8 FF6A call sub_11 ; (0B06)
- 72F2:0B9C 74 03 jz loc_47 ; Jump if zero
- 72F2:0B9E 80 C6 C8 add dh,0C8h
- 72F2:0BA1 loc_47: ; xref 72F2:0B9C
- 72F2:0BA1 E8 0410 call sub_24 ; (0FB4)
- 72F2:0BA4 89 46 FC mov [bp-4],ax
- 72F2:0BA7 2E:83 16 12B3 00 adc word ptr cs:data_64e,0 ; (72F2:12B3=0)
- 72F2:0BAD E9 F906 jmp loc_12 ; (04B6)
- 72F2:0BB0 3C 02 75 0E E8 4F db 3Ch, 2, 75h, 0Eh, 0E8h, 4Fh
- 72F2:0BB6 FF 74 09 81 6E F6 db 0FFh, 74h, 9, 81h, 6Eh, 0F6h
- 72F2:0BBC 00 10 83 5E F8 00 db 0, 10h, 83h, 5Eh, 0F8h, 0
- 72F2:0BC2 loc_48:
- 72F2:0BC2 E9 F86A jmp loc_10 ; (042F)
- 72F2:0BC5 2E 80 26 B3 12 FE db 2Eh, 80h, 26h, 0B3h, 12h, 0FEh
- 72F2:0BCB E8 38 FF 74 F2 2E db 0E8h, 38h, 0FFh, 74h, 0F2h, 2Eh
- 72F2:0BD1 89 0E AF 12 2E 89 db 89h, 0Eh, 0AFh, 12h, 2Eh, 89h
- 72F2:0BD7 16 AD 12 2E C7 06 db 16h, 0ADh, 12h, 2Eh, 0C7h, 6
- 72F2:0BDD B1 12 00 00 E8 40 db 0B1h, 12h, 0, 0, 0E8h, 40h
- 72F2:0BE3 FF 2E A1 A9 12 2E db 0FFh, 2Eh, 0A1h, 0A9h, 12h, 2Eh
- 72F2:0BE9 8B 16 AB 12 2D 00 db 8Bh, 16h, 0ABh, 12h, 2Dh, 0
- 72F2:0BEF 10 83 DA 00 2E 2B db 10h, 83h, 0DAh, 0, 2Eh, 2Bh
- 72F2:0BF5 06 A5 12 2E 1B 16 db 6, 0A5h, 12h, 2Eh, 1Bh, 16h
- 72F2:0BFB A7 12 79 08 C7 46 db 0A7h, 12h, 79h, 8, 0C7h, 46h
- 72F2:0C01 FC 00 00 E9 62 FA db 0FCh, 0, 0, 0E9h, 62h, 0FAh
- 72F2:0C07 75 08 3B C1 77 04 db 75h, 8, 3Bh, 0C1h, 77h, 4
- 72F2:0C0D 2E A3 AF 12 db 2Eh, 0A3h, 0AFh, 12h
- 72F2:0C11 loc_49:
- 72F2:0C11 2E:8B 16 12A5 mov dx,cs:data_57e ; (72F2:12A5=0)
- 72F2:0C16 2E:8B 0E 12A7 mov cx,cs:data_58e ; (72F2:12A7=0)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 20
-
- 72F2:0C1B 0B C9 or cx,cx ; Zero ?
- 72F2:0C1D 75 05 jnz loc_50 ; Jump if not zero
- 72F2:0C1F 83 FA 1C cmp dx,1Ch
- 72F2:0C22 76 1A jbe loc_51 ; Jump if below or =
- 72F2:0C24 loc_50: ; xref 72F2:0C1D, 0CA7
- 72F2:0C24 2E:8B 16 12AD mov dx,cs:data_61e ; (72F2:12AD=0)
- 72F2:0C29 2E:8B 0E 12AF mov cx,cs:data_62e ; (72F2:12AF=0)
- 72F2:0C2E B4 3F mov ah,3Fh ; '?'
- 72F2:0C30 E8 0381 call sub_24 ; (0FB4)
- 72F2:0C33 2E:03 06 12B1 add ax,cs:data_63e ; (72F2:12B1=0)
- 72F2:0C38 89 46 FC mov [bp-4],ax
- 72F2:0C3B E9 F878 jmp loc_12 ; (04B6)
- 72F2:0C3E loc_51: ; xref 72F2:0C22
- 72F2:0C3E 8B F2 mov si,dx
- 72F2:0C40 8B FA mov di,dx
- 72F2:0C42 2E:03 3E 12AF add di,cs:data_62e ; (72F2:12AF=0)
- 72F2:0C47 83 FF 1C cmp di,1Ch
- 72F2:0C4A 72 04 jb loc_52 ; Jump if below
- 72F2:0C4C 33 FF xor di,di ; Zero register
- 72F2:0C4E EB 05 jmp short loc_53 ; (0C55)
- 72F2:0C50 loc_52: ; xref 72F2:0C4A
- 72F2:0C50 83 EF 1C sub di,1Ch
- 72F2:0C53 F7 DF neg di
- 72F2:0C55 loc_53: ; xref 72F2:0C4E
- 72F2:0C55 8B C2 mov ax,dx
- 72F2:0C57 2E:8B 0E 12AB mov cx,cs:data_60e ; (72F2:12AB=0)
- 72F2:0C5C 2E:8B 16 12A9 mov dx,cs:data_59e ; (72F2:12A9=0)
- 72F2:0C61 83 C2 0F add dx,0Fh
- 72F2:0C64 83 D1 00 adc cx,0
- 72F2:0C67 83 E2 F0 and dx,0FFF0h
- 72F2:0C6A 81 EA 0FFC sub dx,0FFCh
- 72F2:0C6E 83 D9 00 sbb cx,0
- 72F2:0C71 03 D0 add dx,ax
- 72F2:0C73 83 D1 00 adc cx,0
- 72F2:0C76 B8 4200 mov ax,4200h
- 72F2:0C79 E8 0338 call sub_24 ; (0FB4)
- 72F2:0C7C B9 001C mov cx,1Ch
- 72F2:0C7F 2B CF sub cx,di
- 72F2:0C81 2B CE sub cx,si
- 72F2:0C83 B4 3F mov ah,3Fh ; '?'
- 72F2:0C85 2E:8B 16 12AD mov dx,cs:data_61e ; (72F2:12AD=0)
- 72F2:0C8A E8 0327 call sub_24 ; (0FB4)
- 72F2:0C8D 2E:01 06 12AD add cs:data_61e,ax ; (72F2:12AD=0)
- 72F2:0C92 2E:29 06 12AF sub cs:data_62e,ax ; (72F2:12AF=0)
- 72F2:0C97 2E:01 06 12B1 add cs:data_63e,ax ; (72F2:12B1=0)
- 72F2:0C9C 33 C9 xor cx,cx ; Zero register
- 72F2:0C9E BA 001C mov dx,1Ch
- 72F2:0CA1 B8 4200 mov ax,4200h
- 72F2:0CA4 E8 030D call sub_24 ; (0FB4)
- 72F2:0CA7 E9 FF7A jmp loc_50 ; (0C24)
- 72F2:0CAA 2E 80 26 B3 12 FE db 2Eh, 80h, 26h, 0B3h, 12h, 0FEh
- 72F2:0CB0 E8 53 FE 75 03 E9 db 0E8h, 53h, 0FEh, 75h, 3, 0E9h
- 72F2:0CB6 0A FF 2E 89 0E AF db 0Ah, 0FFh, 2Eh, 89h, 0Eh, 0AFh
- 72F2:0CBC 12 2E 89 16 AD 12 db 12h, 2Eh, 89h, 16h, 0ADh, 12h
- 72F2:0CC2 2E C7 06 B1 12 00 db 2Eh, 0C7h, 6, 0B1h, 12h, 0
- 72F2:0CC8 00 E8 58 FE 2E A1 db 0, 0E8h, 58h, 0FEh, 2Eh, 0A1h
- 72F2:0CCE A9 12 2E 8B 16 AB db 0A9h, 12h, 2Eh, 8Bh, 16h, 0ABh
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 21
-
- 72F2:0CD4 12 2D 00 10 83 DA db 12h, 2Dh, 0, 10h, 83h, 0DAh
- 72F2:0CDA 00 2E 2B 06 A5 12 db 0, 2Eh, 2Bh, 6, 0A5h, 12h
- 72F2:0CE0 2E 1B 16 A7 12 78 db 2Eh, 1Bh, 16h, 0A7h, 12h, 78h
- 72F2:0CE6 02 EB db 2, 0EBh
- 72F2:0CE8 7E db 7Eh
- 72F2:0CE9 loc_54: ; xref 72F2:0D6D, 0D83
- 72F2:0CE9 E8 00FA call sub_13 ; (0DE6)
- 72F2:0CEC 0E push cs
- 72F2:0CED 1F pop ds
- 72F2:0CEE 8B 16 12A9 mov dx,ds:data_59e ; (72F2:12A9=0)
- 72F2:0CF2 8B 0E 12AB mov cx,ds:data_60e ; (72F2:12AB=0)
- 72F2:0CF6 83 C2 0F add dx,0Fh
- 72F2:0CF9 83 D1 00 adc cx,0
- 72F2:0CFC 83 E2 F0 and dx,0FFF0h
- 72F2:0CFF 81 EA 0FFC sub dx,0FFCh
- 72F2:0D03 83 D9 00 sbb cx,0
- 72F2:0D06 B8 4200 mov ax,4200h
- 72F2:0D09 E8 02A8 call sub_24 ; (0FB4)
- 72F2:0D0C BA 0004 mov dx,4
- 72F2:0D0F B9 001C mov cx,1Ch
- 72F2:0D12 B4 3F mov ah,3Fh ; '?'
- 72F2:0D14 E8 029D call sub_24 ; (0FB4)
- 72F2:0D17 B8 4200 mov ax,4200h
- 72F2:0D1A 33 C9 xor cx,cx ; Zero register
- 72F2:0D1C 8B D1 mov dx,cx
- 72F2:0D1E E8 0293 call sub_24 ; (0FB4)
- 72F2:0D21 BA 0004 mov dx,4
- 72F2:0D24 B9 001C mov cx,1Ch
- 72F2:0D27 B4 40 mov ah,40h ; '@'
- 72F2:0D29 E8 0288 call sub_24 ; (0FB4)
- 72F2:0D2C BA F000 mov dx,0F000h
- 72F2:0D2F B9 FFFF mov cx,0FFFFh
- 72F2:0D32 B8 4202 mov ax,4202h
- 72F2:0D35 E8 027C call sub_24 ; (0FB4)
- 72F2:0D38 B4 40 mov ah,40h ; '@'
- 72F2:0D3A 33 C9 xor cx,cx ; Zero register
- 72F2:0D3C E8 0275 call sub_24 ; (0FB4)
- 72F2:0D3F 8B 16 12A5 mov dx,ds:data_57e ; (72F2:12A5=0)
- 72F2:0D43 8B 0E 12A7 mov cx,ds:data_58e ; (72F2:12A7=0)
- 72F2:0D47 B8 4200 mov ax,4200h
- 72F2:0D4A E8 0267 call sub_24 ; (0FB4)
- 72F2:0D4D B8 5700 mov ax,5700h
- 72F2:0D50 E8 0261 call sub_24 ; (0FB4)
- 72F2:0D53 F6 C6 80 test dh,80h
- 72F2:0D56 74 09 jz loc_55 ; Jump if zero
- 72F2:0D58 80 EE C8 sub dh,0C8h
- 72F2:0D5B B8 5701 mov ax,5701h
- 72F2:0D5E E8 0253 call sub_24 ; (0FB4)
- 72F2:0D61 loc_55: ; xref 72F2:0D56
- 72F2:0D61 E8 0128 call sub_14 ; (0E8C)
- 72F2:0D64 E9 F6C8 jmp loc_10 ; (042F)
- 72F2:0D67 loc_56:
- 72F2:0D67 75 07 jnz loc_57 ; Jump if not zero
- 72F2:0D69 3B C1 cmp ax,cx
- 72F2:0D6B 77 03 ja loc_57 ; Jump if above
- 72F2:0D6D E9 FF79 jmp loc_54 ; (0CE9)
- 72F2:0D70 loc_57: ; xref 72F2:0D67, 0D6B
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 22
-
- 72F2:0D70 2E:8B 16 12A5 mov dx,cs:data_57e ; (72F2:12A5=0)
- 72F2:0D75 2E:8B 0E 12A7 mov cx,cs:data_58e ; (72F2:12A7=0)
- 72F2:0D7A 0B C9 or cx,cx ; Zero ?
- 72F2:0D7C 75 08 jnz loc_58 ; Jump if not zero
- 72F2:0D7E 83 FA 1C cmp dx,1Ch
- 72F2:0D81 77 03 ja loc_58 ; Jump if above
- 72F2:0D83 E9 FF63 jmp loc_54 ; (0CE9)
- 72F2:0D86 loc_58: ; xref 72F2:0D7C, 0D81
- 72F2:0D86 E8 016A call sub_19 ; (0EF3)
- 72F2:0D89 E8 0228 call sub_24 ; (0FB4)
- 72F2:0D8C E8 0138 call sub_17 ; (0EC7)
- 72F2:0D8F B8 5700 mov ax,5700h
- 72F2:0D92 E8 021F call sub_24 ; (0FB4)
- 72F2:0D95 F6 C6 80 test dh,80h
- 72F2:0D98 75 09 jnz loc_59 ; Jump if not zero
- 72F2:0D9A 80 C6 C8 add dh,0C8h
- 72F2:0D9D B8 5701 mov ax,5701h
- 72F2:0DA0 E8 0211 call sub_24 ; (0FB4)
- 72F2:0DA3 loc_59: ; xref 72F2:0D98
- 72F2:0DA3 E9 F710 jmp loc_12 ; (04B6)
- 72F2:0DA6 E9 F686 jmp loc_10 ; (042F)
- 72F2:0DA9 2E 8F 06 41 12 2E db 2Eh, 8Fh, 6, 41h, 12h, 2Eh
- 72F2:0DAF 8F 06 43 12 2E 8F db 8Fh, 6, 43h, 12h, 2Eh, 8Fh
- 72F2:0DB5 06 DB 12 2E 83 26 db 6, 0DBh, 12h, 2Eh, 83h, 26h
- 72F2:0DBB DB 12 FE 2E 80 3E db 0DBh, 12h, 0FEh, 2Eh, 80h, 3Eh
- 72F2:0DC1 DA 12 00 75 11 2E db 0DAh, 12h, 0, 75h, 11h, 2Eh
- 72F2:0DC7 FF 36 DB 12 2E FF db 0FFh, 36h, 0DBh, 12h, 2Eh, 0FFh
- 72F2:0DCD 1E 2D 12 73 06 2E db 1Eh, 2Dh, 12h, 73h, 6, 2Eh
- 72F2:0DD3 FE 06 DA 12 F9 2E db 0FEh, 6, 0DAh, 12h, 0F9h, 2Eh
- 72F2:0DD9 FF 2E 41 12 32 C0 db 0FFh, 2Eh, 41h, 12h, 32h, 0C0h
- 72F2:0DDF 2E C6 06 DA 12 01 db 2Eh, 0C6h, 6, 0DAh, 12h, 1
- 72F2:0DE5 CF db 0CFh
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:08B3, 0A9E, 0CE9
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_13 proc near
- 72F2:0DE6 2E:C6 06 12DA 00 mov byte ptr cs:data_65e,0 ; (72F2:12DA=0)
- 72F2:0DEC E8 0120 call sub_21 ; (0F0F)
- 72F2:0DEF 0E push cs
- 72F2:0DF0 1F pop ds
- 72F2:0DF1 B0 13 mov al,13h
- 72F2:0DF3 E8 F3BF call sub_1 ; (01B5)
- 72F2:0DF6 89 1E 122D mov ds:data_41e,bx ; (72F2:122D=0)
- 72F2:0DFA 8C 06 122F mov ds:data_42e,es ; (72F2:122F=0)
- 72F2:0DFE 89 1E 1239 mov ds:data_46e,bx ; (72F2:1239=0)
- 72F2:0E02 8C 06 123B mov ds:data_47e,es ; (72F2:123B=0)
- 72F2:0E06 B2 00 mov dl,0
- 72F2:0E08 B0 0D mov al,0Dh
- 72F2:0E0A E8 F3A8 call sub_1 ; (01B5)
- 72F2:0E0D 8C C0 mov ax,es
- 72F2:0E0F 3D C000 cmp ax,0C000h
- 72F2:0E12 73 02 jae loc_60 ; Jump if above or =
- 72F2:0E14 B2 02 mov dl,2
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 23
-
- 72F2:0E16 loc_60: ; xref 72F2:0E12
- 72F2:0E16 B0 0E mov al,0Eh
- 72F2:0E18 E8 F39A call sub_1 ; (01B5)
- 72F2:0E1B 8C C0 mov ax,es
- 72F2:0E1D 3D C000 cmp ax,0C000h
- 72F2:0E20 73 02 jae loc_61 ; Jump if above or =
- 72F2:0E22 B2 02 mov dl,2
- 72F2:0E24 loc_61: ; xref 72F2:0E20
- 72F2:0E24 88 16 1250 mov ds:data_53e,dl ; (72F2:1250=0)
- 72F2:0E28 E8 0111 call sub_22 ; (0F3C)
- 72F2:0E2B 8C 16 12DD mov ds:data_66e,ss ; (72F2:12DD=0)
- 72F2:0E2F 89 26 12DF mov ds:data_67e,sp ; (72F2:12DF=0)
- 72F2:0E33 0E push cs
- 72F2:0E34 B8 0D40 mov ax,0D40h
- 72F2:0E37 50 push ax
- 72F2:0E38 B8 0070 mov ax,70h
- 72F2:0E3B 8E C0 mov es,ax
- 72F2:0E3D B9 FFFF mov cx,0FFFFh
- 72F2:0E40 B0 CB mov al,0CBh
- 72F2:0E42 33 FF xor di,di ; Zero register
- 72F2:0E44 F2/AE repne scasb ; Rept zf=0+cx>0 Scan es:[di] for al
- 72F2:0E46 4F dec di
- 72F2:0E47 9C pushf ; Push flags
- 72F2:0E48 06 push es
- 72F2:0E49 57 push di
- 72F2:0E4A 9C pushf ; Push flags
- 72F2:0E4B 58 pop ax
- 72F2:0E4C 80 CC 01 or ah,1
- 72F2:0E4F 50 push ax
- 72F2:0E50 E4 21 in al,21h ; port 21h, 8259-1 int IMR
- 72F2:0E52 A2 12E5 mov ds:data_70e,al ; (72F2:12E5=0)
- 72F2:0E55 B0 FF mov al,0FFh
- 72F2:0E57 E6 21 out 21h,al ; port 21h, 8259-1 int comands
- 72F2:0E59 9D popf ; Pop flags
- 72F2:0E5A 33 C0 xor ax,ax ; Zero register
- 72F2:0E5C FF 2E 122D jmp dword ptr ds:data_41e ; (72F2:122D=0)
- 72F2:0E60 loc_62: ; xref 72F2:0184
- 72F2:0E60 C5 16 1231 lds dx,dword ptr ds:data_43e ; (72F2:1231=0) Load 32 bit ptr
- 72F2:0E64 B0 01 mov al,1
- 72F2:0E66 E8 0253 call sub_26 ; (10BC)
- 72F2:0E69 0E push cs
- 72F2:0E6A 1F pop ds
- 72F2:0E6B BA 0C89 mov dx,0C89h
- 72F2:0E6E B0 13 mov al,13h
- 72F2:0E70 E8 0249 call sub_26 ; (10BC)
- 72F2:0E73 B0 24 mov al,24h ; '$'
- 72F2:0E75 E8 F33D call sub_1 ; (01B5)
- 72F2:0E78 89 1E 123D mov ds:data_48e,bx ; (72F2:123D=0)
- 72F2:0E7C 8C 06 123F mov ds:data_49e,es ; (72F2:123F=0)
- 72F2:0E80 BA 0CBD mov dx,0CBDh
- 72F2:0E83 B0 24 mov al,24h ; '$'
- 72F2:0E85 E8 0234 call sub_26 ; (10BC)
- 72F2:0E88 E8 007B call sub_20 ; (0F06)
- 72F2:0E8B C3 retn
- sub_13 endp
-
-
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 24
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0971, 0AFB, 0B02, 0D61
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_14 proc near
- 72F2:0E8C loc_63:
- 72F2:0E8C E8 0080 call sub_21 ; (0F0F)
- 72F2:0E8F 2E:C5 16 1239 lds dx,dword ptr cs:data_46e ; (72F2:1239=0) Load 32 bit ptr
- 72F2:0E94 B0 13 mov al,13h
- 72F2:0E96 E8 0223 call sub_26 ; (10BC)
- 72F2:0E99 2E:C5 16 123D lds dx,dword ptr cs:data_48e ; (72F2:123D=0) Load 32 bit ptr
- 72F2:0E9E B0 24 mov al,24h ; '$'
- 72F2:0EA0 E8 0219 call sub_26 ; (10BC)
- 72F2:0EA3 E8 0060 call sub_20 ; (0F06)
- 72F2:0EA6 C3 retn
- sub_14 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_15 proc near
- 72F2:0EA7 B8 3300 mov ax,3300h
- 72F2:0EAA E8 0107 call sub_24 ; (0FB4)
- 72F2:0EAD 2E:88 16 12E1 mov cs:data_68e,dl ; (72F2:12E1=0)
- 72F2:0EB2 B8 3301 mov ax,3301h
- 72F2:0EB5 32 D2 xor dl,dl ; Zero register
- 72F2:0EB7 E8 00FA call sub_24 ; (0FB4)
- 72F2:0EBA C3 retn
- sub_15 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:042F, 0462, 07A7
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_16 proc near
- 72F2:0EBB 2E:8A 16 12E1 mov dl,cs:data_68e ; (72F2:12E1=0)
- 72F2:0EC0 B8 3301 mov ax,3301h
- 72F2:0EC3 E8 00EE call sub_24 ; (0FB4)
- 72F2:0EC6 C3 retn
- sub_16 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0502, 081D, 0D8C
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_17 proc near
- 72F2:0EC7 2E:8F 06 12EA pop word ptr cs:data_73e ; (72F2:12EA=0)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 25
-
- 72F2:0ECC 9C pushf ; Push flags
- 72F2:0ECD 50 push ax
- 72F2:0ECE 53 push bx
- 72F2:0ECF 51 push cx
- 72F2:0ED0 52 push dx
- 72F2:0ED1 56 push si
- 72F2:0ED2 57 push di
- 72F2:0ED3 1E push ds
- 72F2:0ED4 06 push es
- 72F2:0ED5 2E:FF 26 12EA jmp word ptr cs:data_73e ; (72F2:12EA=0)
-
- ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ;
- ; Called from: 72F2:01A3, 0465, 07AA
-
- sub_18:
- 72F2:0EDA 2E:C4 3E 1235 les di,dword ptr cs:data_45e ; (72F2:1235=0) Load 32 bit ptr
- 72F2:0EDF BE 124B mov si,124Bh
- 72F2:0EE2 0E push cs
- 72F2:0EE3 1F pop ds
- 72F2:0EE4 FC cld ; Clear direction
- 72F2:0EE5 B9 0005 mov cx,5
-
- 72F2:0EE8 locloop_64: ; xref 72F2:0EF0
- 72F2:0EE8 AC lodsb ; String [si] to al
- 72F2:0EE9 26:86 05 xchg al,es:[di]
- 72F2:0EEC 88 44 FF mov [si-1],al
- 72F2:0EEF 47 inc di
- 72F2:0EF0 E2 F6 loop locloop_64 ; Loop if cx > 0
-
- 72F2:0EF2 C3 retn
- sub_17 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:044B, 04B6, 04FF, 0817, 0D86
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_19 proc near
- 72F2:0EF3 2E:8F 06 12EA pop word ptr cs:data_73e ; (72F2:12EA=0)
- 72F2:0EF8 07 pop es
- 72F2:0EF9 1F pop ds
- 72F2:0EFA 5F pop di
- 72F2:0EFB 5E pop si
- 72F2:0EFC 5A pop dx
- 72F2:0EFD 59 pop cx
- 72F2:0EFE 5B pop bx
- 72F2:0EFF 58 pop ax
- 72F2:0F00 9D popf ; Pop flags
- 72F2:0F01 2E:FF 26 12EA jmp word ptr cs:data_73e ; (72F2:12EA=0)
-
- ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ;
- ; Called from: 72F2:01B0, 0468, 07AD, 0A87, 0A8C, 0B5D, 0E88
- ; 0EA3
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 26
-
-
- sub_20:
- 72F2:0F06 2E:C7 06 135D 0DD3 mov word ptr cs:data_84e,0DD3h ; (72F2:135D=0)
- 72F2:0F0D EB 07 jmp short loc_65 ; (0F16)
-
- ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ;
- ; Called from: 72F2:01A0, 045F, 07A4, 0A39, 0A45, 0B24, 0DEC
- ; 0E8C
-
- sub_21:
- 72F2:0F0F 2E:C7 06 135D 0DA7 mov word ptr cs:data_84e,0DA7h ; (72F2:135D=0)
- 72F2:0F16 loc_65: ; xref 72F2:0F0D
- 72F2:0F16 2E:8C 16 1359 mov cs:data_82e,ss ; (72F2:1359=0)
- 72F2:0F1B 2E:89 26 1357 mov cs:data_81e,sp ; (72F2:1357=0)
- 72F2:0F20 0E push cs
- 72F2:0F21 17 pop ss
- 72F2:0F22 2E:8B 26 135B mov sp,cs:data_83e ; (72F2:135B=0)
- 72F2:0F27 2E:FF 16 135D call word ptr cs:data_84e ; (72F2:135D=0)
- 72F2:0F2C 2E:89 26 135B mov cs:data_83e,sp ; (72F2:135B=0)
- 72F2:0F31 2E:8E 16 1359 mov ss,cs:data_82e ; (72F2:1359=0)
- 72F2:0F36 2E:8B 26 1357 mov sp,cs:data_81e ; (72F2:1357=0)
- 72F2:0F3B C3 retn
- sub_19 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0448, 0E28
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_22 proc near
- 72F2:0F3C B0 01 mov al,1
- 72F2:0F3E E8 F274 call sub_1 ; (01B5)
- 72F2:0F41 2E:89 1E 1231 mov cs:data_43e,bx ; (72F2:1231=0)
- 72F2:0F46 2E:8C 06 1233 mov word ptr cs:data_43e+2,es ; (72F2:1233=0)
- 72F2:0F4B 0E push cs
- 72F2:0F4C 1F pop ds
- 72F2:0F4D BA 0023 mov dx,23h
- 72F2:0F50 E8 0169 call sub_26 ; (10BC)
- 72F2:0F53 C3 retn
- sub_22 endp
-
- 72F2:0F54 E8 03 00 E9 D5 F4 db 0E8h, 3, 0, 0E9h, 0D5h, 0F4h
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_23 proc near
- 72F2:0F5A 2E:80 3E 12E2 00 cmp byte ptr cs:data_69e,0 ; (72F2:12E2=0)
- 72F2:0F60 74 48 je loc_ret_67 ; Jump if equal
- 72F2:0F62 83 FB FF cmp bx,0FFFFh
- 72F2:0F65 75 43 jne loc_ret_67 ; Jump if not equal
- 72F2:0F67 BB 0160 mov bx,160h
- 72F2:0F6A E8 0047 call sub_24 ; (0FB4)
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 27
-
- 72F2:0F6D 72 3B jc loc_ret_67 ; Jump if carry Set
- 72F2:0F6F 8C CA mov dx,cs
- 72F2:0F71 3B C2 cmp ax,dx
- 72F2:0F73 72 09 jb loc_66 ; Jump if below
- 72F2:0F75 8E C0 mov es,ax
- 72F2:0F77 B4 49 mov ah,49h ; 'I'
- 72F2:0F79 E8 0038 call sub_24 ; (0FB4)
- 72F2:0F7C EB 2C jmp short loc_ret_67 ; (0FAA)
- 72F2:0F7E loc_66: ; xref 72F2:0F73
- 72F2:0F7E 4A dec dx
- 72F2:0F7F 8E DA mov ds,dx
- 72F2:0F81 C7 06 0001 0000 mov word ptr ds:data_16e,0 ; (72F1:0001=0FFFFh)
- 72F2:0F87 42 inc dx
- 72F2:0F88 8E DA mov ds,dx
- 72F2:0F8A 8E C0 mov es,ax
- 72F2:0F8C 50 push ax
- 72F2:0F8D 2E:A3 124E mov cs:data_52e,ax ; (72F2:124E=0)
- 72F2:0F91 33 F6 xor si,si ; Zero register
- 72F2:0F93 8B FE mov di,si
- 72F2:0F95 B9 0B00 mov cx,0B00h
- 72F2:0F98 F3/A5 rep movsw ; Rep while cx>0 Mov [si] to es:[di]
- 72F2:0F9A 48 dec ax
- 72F2:0F9B 8E C0 mov es,ax
- 72F2:0F9D 2E:A1 1249 mov ax,cs:data_51e ; (72F2:1249=0)
- 72F2:0FA1 26:A3 0001 mov es:data_15e,ax ; (48FF:0001=0FFFFh)
- 72F2:0FA5 B8 0E8A mov ax,0E8Ah
- 72F2:0FA8 50 push ax
- 72F2:0FA9 CB retf ; Return far
-
- 72F2:0FAA loc_ret_67: ; xref 72F2:0F60, 0F65, 0F6D, 0F7C
- 72F2:0FAA C3 retn
- sub_23 endp
-
- 72F2:0FAB 2E C6 06 F0 12 02 db 2Eh, 0C6h, 6, 0F0h, 12h, 2
- 72F2:0FB1 E9 7B F4 db 0E9h, 7Bh, 0F4h
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:0505, 0568, 06A4, 0753, 07A1, 081A, 096E
- ; 097A, 098C, 0996, 09A0, 09AA, 09B4, 09DA
- ; 09E4, 09F3, 09FF, 0A15, 0A2D, 0A94, 0AA9
- ; 0ABF, 0ACB, 0AD9, 0AE5, 0AF0, 0B0C, 0B1A
- ; 0B2E, 0B41, 0B5A, 0BA1, 0C30, 0C79, 0C8A
- ; 0CA4, 0D09, 0D14, 0D1E, 0D29, 0D35, 0D3C
- ; 0D4A, 0D50, 0D5E, 0D89, 0D92, 0DA0, 0EAA
- ; 0EB7, 0EC3, 0F6A, 0F79
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_24 proc near
- 72F2:0FB4 9C pushf ; Push flags
- 72F2:0FB5 2E:FF 1E 1235 call dword ptr cs:data_45e ; (72F2:1235=0)
- 72F2:0FBA C3 retn
- sub_24 endp
-
- 72F2:0FBB FA 33 C0 8E D0 BC db 0FAh, 33h, 0C0h, 8Eh, 0D0h, 0BCh
- 72F2:0FC1 00 7C EB 4F DB DB db 0, 7Ch, 0EBh, 4Fh, 0DBh, 0DBh
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 28
-
- 72F2:0FC7 DB 20 F9 E0 E3 C3 db 0DBh, 20h, 0F9h, 0E0h, 0E3h, 0C3h
- 72F2:0FCD 80 81 11 12 24 40 db 80h, 81h, 11h, 12h, 24h, 40h
- 72F2:0FD3 81 11 12 24 40 F1 db 81h, 11h, 12h, 24h, 40h, 0F1h
- 72F2:0FD9 F1 12 24 40 81 21 db 0F1h, 12h, 24h, 40h, 81h, 21h
- 72F2:0FDF 12 24 40 81 10 E3 db 12h, 24h, 40h, 81h, 10h, 0E3h
- 72F2:0FE5 C3 80 00 00 db 0C3h, 80h, 0, 0
- 72F2:0FE9 0008[00] db 8 dup (0)
- 72F2:0FF1 82 44 F8 70 C0 82 db 82h, 44h, 0F8h, 70h, 0C0h, 82h
- 72F2:0FF7 44 80 88 C0 82 44 db 44h, 80h, 88h, 0C0h, 82h, 44h
- 72F2:0FFD 80 80 C0 82 44 F0 db 80h, 80h, 0C0h, 82h, 44h, 0F0h
- 72F2:1003 70 C0 82 28 80 08 db 70h, 0C0h, 82h, 28h, 80h, 8
- 72F2:1009 C0 82 28 80 88 00 db 0C0h, 82h, 28h, 80h, 88h, 0
- 72F2:100F F2 10 F8 70 C0 0E db 0F2h, 10h, 0F8h, 70h, 0C0h, 0Eh
- 72F2:1015 1F BA 00 B0 B4 0F db 1Fh, 0BAh, 0, 0B0h, 0B4h, 0Fh
- 72F2:101B CD 10 3C 07 74 03 db 0CDh, 10h, 3Ch, 7, 74h, 3
- 72F2:1021 BA 00 B8 db 0BAh, 0, 0B8h
- 72F2:1024 loc_68:
- 72F2:1024 8E C2 mov es,dx
- 72F2:1026 FC cld ; Clear direction
- 72F2:1027 33 FF xor di,di ; Zero register
- 72F2:1029 B9 07D0 mov cx,7D0h
- 72F2:102C B8 0720 mov ax,720h
- 72F2:102F F3/AB rep stosw ; Rep while cx>0 Store ax to es:[di]
- 72F2:1031 BE 7C0E mov si,7C0Eh
- 72F2:1034 BB 02AE mov bx,2AEh
- 72F2:1037 loc_69: ; xref 72F2:1059
- 72F2:1037 BD 0005 mov bp,5
- 72F2:103A 8B FB mov di,bx
- 72F2:103C loc_70: ; xref 72F2:104F
- 72F2:103C AC lodsb ; String [si] to al
- 72F2:103D 8A F0 mov dh,al
- 72F2:103F B9 0008 mov cx,8
-
- 72F2:1042 locloop_71: ; xref 72F2:104C
- 72F2:1042 B8 0720 mov ax,720h
- 72F2:1045 D1 E2 shl dx,1 ; Shift w/zeros fill
- 72F2:1047 73 02 jnc loc_72 ; Jump if carry=0
- 72F2:1049 B0 DB mov al,0DBh
- 72F2:104B loc_72: ; xref 72F2:1047
- 72F2:104B AB stosw ; Store ax to es:[di]
- 72F2:104C E2 F4 loop locloop_71 ; Loop if cx > 0
-
- 72F2:104E 4D dec bp
- 72F2:104F 75 EB jnz loc_70 ; Jump if not zero
- 72F2:1051 81 C3 00A0 add bx,0A0h
- 72F2:1055 81 FE 7C59 cmp si,7C59h
- 72F2:1059 72 DC jb loc_69 ; Jump if below
- 72F2:105B B4 01 mov ah,1
- 72F2:105D CD 10 int 10h ; Video display ah=functn 01h
- ; set cursor mode in cx
- 72F2:105F B0 08 mov al,8
- 72F2:1061 BA 7CB9 mov dx,7CB9h
- 72F2:1064 E8 0055 call sub_26 ; (10BC)
- 72F2:1067 B8 07FE mov ax,7FEh
- 72F2:106A E6 21 out 21h,al ; port 21h, 8259-1 int comands
- ; al = 0FEh, IRQ0 (timer) only
- 72F2:106C FB sti ; Enable interrupts
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 29
-
- 72F2:106D 33 DB xor bx,bx ; Zero register
- 72F2:106F B9 0001 mov cx,1
- 72F2:1072 loc_73: ; xref 72F2:1072
- 72F2:1072 EB FE jmp short loc_73 ; (1072)
- 72F2:1074 49 75 0B 33 FF 43 db 49h, 75h, 0Bh, 33h, 0FFh, 43h
- 72F2:107A E8 0A 00 E8 07 00 db 0E8h, 0Ah, 0, 0E8h, 7, 0
- 72F2:1080 B1 04 B0 20 E6 20 db 0B1h, 4, 0B0h, 20h, 0E6h, 20h
- 72F2:1086 CF B9 28 00 db 0CFh, 0B9h, 28h, 0
-
- 72F2:108A locloop_74: ; xref 72F2:108F
- 72F2:108A E8 0026 call sub_25 ; (10B3)
- 72F2:108D AB stosw ; Store ax to es:[di]
- 72F2:108E AB stosw ; Store ax to es:[di]
- 72F2:108F E2 F9 loop locloop_74 ; Loop if cx > 0
-
- 72F2:1091 81 C7 009E add di,9Eh
- 72F2:1095 B9 0017 mov cx,17h
-
- 72F2:1098 locloop_75: ; xref 72F2:10A0
- 72F2:1098 E8 0018 call sub_25 ; (10B3)
- 72F2:109B AB stosw ; Store ax to es:[di]
- 72F2:109C 81 C7 009E add di,9Eh
- 72F2:10A0 E2 F6 loop locloop_75 ; Loop if cx > 0
-
- 72F2:10A2 FD std ; Set direction flag
- 72F2:10A3 80 36 7CE7 01 xor byte ptr ds:data_88e,1 ; (72F2:7CE7=0)
- 72F2:10A8 80 36 7CD7 28 xor byte ptr ds:data_86e,28h ; (72F2:7CD7=0) '('
- 72F2:10AD 80 36 7CE2 28 xor byte ptr ds:data_87e,28h ; (72F2:7CE2=0) '('
- 72F2:10B2 C3 retn
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:108A, 1098
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_25 proc near
- 72F2:10B3 83 E3 03 and bx,3
- 72F2:10B6 8A 87 7C0A mov al,ds:data_85e[bx] ; (72F2:7C0A=0)
- 72F2:10BA 43 inc bx
- 72F2:10BB C3 retn
- sub_25 endp
-
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;
- ; Called from: 72F2:01AD, 07D2, 0E66, 0E70, 0E85, 0E96, 0EA0
- ; 0F50, 1064
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_26 proc near
- 72F2:10BC 06 push es
- 72F2:10BD 53 push bx
- 72F2:10BE 33 DB xor bx,bx ; Zero register
- 72F2:10C0 8E C3 mov es,bx
- 72F2:10C2 8A D8 mov bl,al
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 30
-
- 72F2:10C4 D1 E3 shl bx,1 ; Shift w/zeros fill
- 72F2:10C6 D1 E3 shl bx,1 ; Shift w/zeros fill
- 72F2:10C8 26:89 17 mov es:[bx],dx
- 72F2:10CB 26:8C 5F 02 mov es:[bx+2],ds
- 72F2:10CF 5B pop bx
- 72F2:10D0 07 pop es
- 72F2:10D1 C3 retn
- sub_26 endp
-
- 72F2:10D2 E8 11 FD B2 80 E8 db 0E8h, 11h, 0FDh, 0B2h, 80h, 0E8h
- 72F2:10D8 08 00 32 D2 E8 03 db 8, 0, 32h, 0D2h, 0E8h, 3
- 72F2:10DE 00 E9 AA FD db 0, 0E9h, 0AAh, 0FDh
-
- ;▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ; SUBROUTINE
- ;▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
-
- sub_27 proc near
- 72F2:10E2 B8 0201 mov ax,201h
- 72F2:10E5 E8 0011 call sub_28 ; (10F9)
- 72F2:10E8 75 15 jnz loc_76 ; Jump if not zero
- 72F2:10EA 00 33 add [bp+di],dh
- 72F2:10EC 1B 70 00 sbb si,[bx+si+0]
- 72F2:10EF 00 00 add [bx+si],al
- 72F2:10F1 0F 50 12 7F 14 F8 db 0Fh, 50h, 12h, 7Fh, 14h, 0F8h
- 72F2:10F7 0F E5 db 0Fh, 0E5h
-
- ;▀▀▀▀ External Entry into Subroutine ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ;
- ; Called from: 72F2:10E5
-
- sub_28:
- 72F2:10F9 0F 00 11 9A 0E 67 db 0Fh, 0, 11h, 9Ah, 0Eh, 67h
- 72F2:10FF loc_76: ; xref 72F2:10E8
- 72F2:10FF 0C 70 or al,70h ; 'p'
- 72F2:1101 00 33 add [bp+di],dh
- 72F2:1103 0E push cs
- 72F2:1104 2E:03 99 1114 add bx,word ptr cs:[1114h][bx+di] ; (72F2:1114=8D8Eh)
- 72F2:1109 11 EF adc di,bp
- 72F2:110B 8E 00 mov es,[bx+si]
- 72F2:110D 00 11 add [bx+di],dl
- 72F2:110F 11 50 12 adc [bx+si+12h],dx
- 72F2:1112 92 xchg ax,dx
- 72F2:1113 13 8E 118D adc cx,ss:data_24e[bp] ; (72F2:118D=0)
- sub_27 endp
-
-
- seg_a ends
-
-
-
- end start
- 4096.lst Hello, world!$ Sourcer Listing v1.88 14-Sep-90 6:58 pm Page 31
-
-
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ CROSS REFERENCE - KEY ENTRY POINTS ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
-
- seg:off type label
- ---- ---- ---- ---------------
- 72F2:0100 far start
-
-
-