Files
Digital-Research-Source-Code/CPM OPERATING SYSTEMS/CPM.Z80.DE/PERSONAL/PCPM-86/PCPM 1.0-5B/SRC/PATCH86.A86
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

1317 lines
90 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PATCH86.lst Sourcer v7.00
PAGE 59,132
;==========================================================================
;== ==
;== PATCH86 ==
;== ==
;== Created: ==
;== Code type: special ==
;== Passes: 9 Analysis Options on: QRSUX ==
;== COPYRIGHT 1983, DIGITAL RESEARCHXXXX-0000-020724 ==
;== ==
;==========================================================================
target EQU 'T3' ; Target assembler: TASM-3.0
;------------------------------------------------------------ seg_a ----
seg_a segment byte public
assume cs:seg_a , ds:seg_a
;* No entry point to code
4044:0000 01 78 00 ;* add [bx+si+0],di
4044:0000 db 01h, 78h, 00h ; Fixup - byte match
4044:0003 00 00 78 00 00 00 db 00h, 00h, 78h, 00h, 00h, 00h
4044:0009 02 49 00 00 00 db 02h, 49h, 00h, 00h, 00h
4044:000E 49 db 49h
4044:000F 004D[00] db 77 dup (0)
4044:005C 00 data_2 db 0 ; xref 4044:0693, 07A3
4044:005D 00 data_3 db 0 ; xref 4044:01C3, 067C, 073C
4044:005E 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0
4044:0064 00 db 0
4044:0065 00 data_4 db 0 ; xref 4044:021E, 0244, 06F2
4044:0066 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0
4044:006C 00 db 0
4044:006D 0000 data_5 dw 0 ; xref 4044:0198, 075A
4044:006F 00 data_6 db 0 ; xref 4044:0192
4044:0070 000D[00] db 13 dup (0)
4044:007D 00 data_7 db 0 ; xref 4044:05E1
4044:007E 0000 data_8 dw 0 ; xref 4044:05E7
4044:0080 E9 48 db 0E9h, 48h
4044:0082 07 data_9 db 7 ; xref 4044:030D
4044:0083 000D[00] db 13 dup (0)
4044:0090 50 41 54 43 48 20 db 'PATCH VERSION3.1'
4044:0096 56 45 52 53 49 4F
4044:009C 4E 33 2E 31
4044:00A0 00 db 0
4044:00A1 0019[00] db 25 dup (0)
4044:00BA 30 33 31 30 38 33 db '031083CP/M-86 Plus'
4044:00C0 43 50 2F 4D 2D 38
4044:00C6 36 20 50 6C 75 73
4044:00CC 00 00 00 00 db 0, 0, 0, 0
4044:00D0 43 4F 50 59 52 49 copyright db 'COPYRIGHT 1983, DIGITAL RESEARCH'
4044:00D6 47 48 54 20 31 39
4044:00DC 38 33 2C 20 44 49
4044:00E2 47 49 54 41 4C 20
4044:00E8 52 45 53 45 41 52
4044:00EE 43 48
4044:00F0 58 58 58 58 2D 30 db 'XXXX-0000-020724'
4044:00F6 30 30 30 2D 30 32
4044:00FC 30 37 32 34
4044:0100 001E[00] db 30 dup (0)
4044:011E 00 data_14 db 0 ; xref 4044:026C, 0275, 02B5, 02D8
; 02E4, 042B, 0445, 044A
; 04C1, 04C9, 062A, 063E
; 064C, 065B
4044:011F 00 data_15 db 0 ; xref 4044:0442, 0452
4044:0120 00 data_16 db 0 ; xref 4044:043D
4044:0121 0000 data_17 dw 0 ; xref 4044:0626, 0637, 0648, 0654
4044:0123 00 data_18 db 0 ; xref 4044:01D9
4044:0124 00 data_19 db 0 ; xref 4044:01E3
4044:0125 0010[00] db 16 dup (0)
4044:0135 00 data_20 db 0 ; xref 4044:0202
4044:0136 00 db 0
4044:0137 00 data_21 db 0 ; xref 4044:020C
4044:0138 00 data_22 db 0 ; xref 4044:0217
4044:0139 00 db 0
4044:013A 00 data_23 db 0 ; xref 4044:0280, 02AA
4044:013B 00 data_24 db 0 ; xref 4044:029C
4044:013C 00 data_25 db 0 ; xref 4044:0378, 037F
4044:013D 00 data_26 db 0 ; xref 4044:0488, 04D3
4044:013E 0000 data_27 dw 0 ; xref 4044:019C, 0214, 035A, 0390
; 0666, 066F
4044:0140 0000 data_29 dw 0 ; xref 4044:03CB, 0414, 041D, 0470
; 04AE
4044:0142 0000 data_30 dw 0 ; xref 4044:03D3, 03F2, 03FB, 045E
; 04A0
4044:0144 00 data_31 db 0 ; xref 4044:0195, 0350
4044:0145 00 data_32 db 0 ; xref 4044:0430, 0436, 06AA, 06BB
; 06C3
4044:0146 00 data_33 db 0 ; xref 4044:039C, 03AF
4044:0147 00 data_34 db 0 ; xref 4044:03B4, 03C3, 048D, 0499
; 055C, 056D, 0579, 0585
; 0591
4044:0148 00 data_35 db 0 ; xref 4044:0512
4044:0149 00 db 0
4044:014A 00 data_36 db 0 ; xref 4044:051A
4044:014B 00 data_37 db 0 ; xref 4044:06C0, 06D9
4044:014C 00 data_38 db 0 ; xref 4044:0572, 057E, 058A, 0596
; 05B3
4044:014D 00 data_39 db 0 ; xref 4044:059B, 05A3
4044:014E 0000 data_40 dw 0 ; xref 4044:05AA, 05BC
4044:0150 0010[00] db 16 dup (0)
4044:0160 00 data_41 db 0 ; xref 4044:05AE
4044:0161 001F[00] db 31 dup (0)
4044:0180 55 74 69 6C 69 74 db 'Utility patch area'
4044:0186 79 20 70 61 74 63
4044:018C 68 20 61 72 65 61
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:07D8
;==========================================================================
4044:0192 sub_1 proc near
4044:0192 A0 006F mov al,data_6 ; (4044:006F=0)
4044:0195 A2 0144 mov data_31,al ; (4044:0144=0)
4044:0198 8B 1E 006D mov bx,data_5 ; (4044:006D=0)
4044:019C 89 1E 013E mov data_27,bx ; (4044:013E=0)
4044:01A0 BA 0100 mov dx,100h
4044:01A3 E8 0474 call sub_25 ; (061A)
4044:01A6 B1 0C mov cl,0Ch
4044:01A8 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:01AA 8A C7 mov al,bh
4044:01AC 3C 00 cmp al,0
4044:01AE 75 03 jne loc_1 ; Jump if not equal
4044:01B0 E9 0565 jmp loc_71 ; (0718)
4044:01B3 loc_1: ; xref 4044:01AE
4044:01B3 8A C3 mov al,bl
4044:01B5 3C 30 cmp al,30h ; '0'
4044:01B7 73 03 jae loc_2 ; Jump if above or =
4044:01B9 E9 055C jmp loc_71 ; (0718)
4044:01BC loc_2: ; xref 4044:01B7
4044:01BC B1 2D mov cl,2Dh ; '-'
4044:01BE B2 FF mov dl,0FFh
4044:01C0 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:01C2 C3 retn
sub_1 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:07DB
;==========================================================================
4044:01C3 sub_2 proc near
4044:01C3 A0 005D mov al,data_3 ; (4044:005D=0)
4044:01C6 3C 20 cmp al,20h ; ' '
4044:01C8 74 01 je loc_3 ; Jump if equal
4044:01CA C3 retn
4044:01CB loc_3: ; xref 4044:01C8
4044:01CB BA 0111 mov dx,111h
4044:01CE E8 0449 call sub_25 ; (061A)
4044:01D1 BA 0272 mov dx,272h
4044:01D4 E8 0443 call sub_25 ; (061A)
4044:01D7 B0 10 mov al,10h
4044:01D9 A2 0123 mov data_18,al ; (4044:0123=0)
4044:01DC BA 0123 mov dx,123h
4044:01DF B1 0A mov cl,0Ah
4044:01E1 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:01E3 A0 0124 mov al,data_19 ; (4044:0124=0)
4044:01E6 3C 00 cmp al,0
4044:01E8 75 03 jne loc_4 ; Jump if not equal
4044:01EA E9 05D4 jmp loc_80 ; (07C1)
4044:01ED loc_4: ; xref 4044:01E8
4044:01ED B1 98 mov cl,98h
4044:01EF BA 0168 mov dx,168h
4044:01F2 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:01F4 BA 0111 mov dx,111h
4044:01F7 E8 0420 call sub_25 ; (061A)
4044:01FA BA 0342 mov dx,342h
4044:01FD E8 041A call sub_25 ; (061A)
4044:0200 B0 03 mov al,3
4044:0202 A2 0135 mov data_20,al ; (4044:0135=0)
4044:0205 BA 0135 mov dx,135h
4044:0208 B1 0A mov cl,0Ah
4044:020A CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:020C A0 0137 mov al,data_21 ; (4044:0137=0)
4044:020F 3C 0D cmp al,0Dh
4044:0211 75 01 jne loc_5 ; Jump if not equal
4044:0213 C3 retn
4044:0214 loc_5: ; xref 4044:0211
4044:0214 A2 013E mov byte ptr data_27,al ; (4044:013E=0)
4044:0217 A0 0138 mov al,data_22 ; (4044:0138=0)
4044:021A A2 013F mov byte ptr data_27+1,al ; (4044:013F=0)
4044:021D C3 retn
sub_2 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:07DE
;==========================================================================
4044:021E sub_3 proc near
4044:021E ,BB 0065 mov bx,offset data_4 ; (4044:0065=0)
4044:0221 B5 03 mov ch,3
4044:0223 loc_6: ; xref 4044:022F
4044:0223 8A 07 mov al,[bx]
4044:0225 3C 20 cmp al,20h ; ' '
4044:0227 74 01 je loc_7 ; Jump if equal
4044:0229 C3 retn
4044:022A loc_7: ; xref 4044:0227
4044:022A 9F lahf ; Load ah from flags
4044:022B 43 inc bx
4044:022C 9E sahf ; Store ah into flags
4044:022D FE CD dec ch
4044:022F 75 F2 jnz loc_6 ; Jump if not zero
4044:0231 BB 0065 mov bx,65h
4044:0234 C6 07 43 mov byte ptr [bx],43h ; 'C'
4044:0237 9F lahf ; Load ah from flags
4044:0238 43 inc bx
4044:0239 9E sahf ; Store ah into flags
4044:023A C6 07 4D mov byte ptr [bx],4Dh ; 'M'
4044:023D 9F lahf ; Load ah from flags
4044:023E 43 inc bx
4044:023F 9E sahf ; Store ah into flags
4044:0240 C6 07 44 mov byte ptr [bx],44h ; 'D'
4044:0243 C3 retn
sub_3 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:07E1
;==========================================================================
4044:0244 sub_4 proc near
4044:0244 ,BB 0065 mov bx,offset data_4 ; (4044:0065=0)
4044:0247 8A 07 mov al,[bx]
4044:0249 3C 43 cmp al,43h ; 'C'
4044:024B 74 03 je loc_8 ; Jump if equal
4044:024D E9 0496 jmp loc_68 ; (06E6)
4044:0250 loc_8: ; xref 4044:024B
4044:0250 43 inc bx
4044:0251 8A 07 mov al,[bx]
4044:0253 3C 4D cmp al,4Dh ; 'M'
4044:0255 74 03 je loc_9 ; Jump if equal
4044:0257 E9 048C jmp loc_68 ; (06E6)
4044:025A loc_9: ; xref 4044:0255
4044:025A 43 inc bx
4044:025B 8A 07 mov al,[bx]
4044:025D 3C 44 cmp al,44h ; 'D'
4044:025F 74 03 je loc_ret_10 ; Jump if equal
4044:0261 E9 0482 jmp loc_68 ; (06E6)
4044:0264 loc_ret_10: ; xref 4044:025F
4044:0264 C3 retn
sub_4 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:07EA
;==========================================================================
4044:0265 sub_5 proc near
4044:0265 loc_11: ; xref 4044:02AD
4044:0265 ,B1 0F mov cl,0Fh
4044:0267 BA 005C mov dx,5Ch
4044:026A CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:026C A2 011E mov data_14,al ; (4044:011E=0)
4044:026F 8A C7 mov al,bh
4044:0271 3C 07 cmp al,7
4044:0273 74 0B je loc_13 ; Jump if equal
4044:0275 A0 011E mov al,data_14 ; (4044:011E=0)
4044:0278 FE C0 inc al
4044:027A 75 03 jnz loc_ret_12 ; Jump if not zero
4044:027C E9 04B1 jmp loc_73 ; (0730)
4044:027F loc_ret_12: ; xref 4044:027A
4044:027F C3 retn
4044:0280 loc_13: ; xref 4044:0273
4044:0280 A0 013A mov al,data_23 ; (4044:013A=0)
4044:0283 FE C0 inc al
4044:0285 75 03 jnz loc_14 ; Jump if not zero
4044:0287 E9 049A jmp loc_72 ; (0724)
4044:028A loc_14: ; xref 4044:0285
4044:028A E8 006E call sub_7 ; (02FB)
4044:028D BA 0111 mov dx,111h
4044:0290 E8 0387 call sub_25 ; (061A)
4044:0293 BA 025C mov dx,25Ch
4044:0296 E8 0381 call sub_25 ; (061A)
4044:0299 E8 0013 call sub_6 ; (02AF)
4044:029C A2 013B mov data_24,al ; (4044:013B=0)
4044:029F E8 0069 call sub_8 ; (030B)
4044:02A2 BA 0082 mov dx,82h
4044:02A5 E8 035C call sub_23 ; (0604)
4044:02A8 B0 FF mov al,0FFh
4044:02AA A2 013A mov data_23,al ; (4044:013A=0)
4044:02AD EB B6 jmp short loc_11 ; (0265)
sub_5 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:0299
;==========================================================================
4044:02AF sub_6 proc near
4044:02AF loc_15: ; xref 4044:02F7
4044:02AF ,BB 0082 mov bx,82h
4044:02B2 B0 00 mov al,0
4044:02B4 loc_16: ; xref 4044:02E0, 02E9, 02F1
4044:02B4 ,53 push bx
4044:02B5 A2 011E mov data_14,al ; (4044:011E=0)
4044:02B8 B1 06 mov cl,6
4044:02BA B2 FD mov dl,0FDh
4044:02BC CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:02BE 3C 18 cmp al,18h
4044:02C0 74 31 je loc_19 ; Jump if equal
4044:02C2 3C 03 cmp al,3
4044:02C4 75 03 jne loc_17 ; Jump if not equal
4044:02C6 E9 04F8 jmp loc_80 ; (07C1)
4044:02C9 loc_17: ; xref 4044:02C4
4044:02C9 3C 0D cmp al,0Dh
4044:02CB 74 2C je loc_20 ; Jump if equal
4044:02CD 3C 08 cmp al,8
4044:02CF 74 12 je loc_18 ; Jump if equal
4044:02D1 3C 7F cmp al,7Fh
4044:02D3 74 0E je loc_18 ; Jump if equal
4044:02D5 5B pop bx
4044:02D6 88 07 mov [bx],al
4044:02D8 A0 011E mov al,data_14 ; (4044:011E=0)
4044:02DB 43 inc bx
4044:02DC FE C0 inc al
4044:02DE 3C 08 cmp al,8
4044:02E0 75 D2 jne loc_16 ; Jump if not equal
4044:02E2 C3 retn
4044:02E3 loc_18: ; xref 4044:02CF, 02D3
4044:02E3 5B pop bx
4044:02E4 A0 011E mov al,data_14 ; (4044:011E=0)
4044:02E7 3C 00 cmp al,0
4044:02E9 74 C9 je loc_16 ; Jump if equal
4044:02EB 4B dec bx
4044:02EC FE C8 dec al
4044:02EE C6 07 20 mov byte ptr [bx],20h ; ' '
4044:02F1 EB C1 jmp short loc_16 ; (02B4)
4044:02F3 loc_19: ; xref 4044:02C0
4044:02F3 5B pop bx
4044:02F4 E8 0004 call sub_7 ; (02FB)
4044:02F7 EB B6 jmp short loc_15 ; (02AF)
4044:02F9 loc_20: ; xref 4044:02CB
4044:02F9 5B pop bx
4044:02FA C3 retn
sub_6 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:028A, 02F4
;==========================================================================
4044:02FB sub_7 proc near
4044:02FB B0 08 mov al,8
4044:02FD BB 0082 mov bx,82h
4044:0300 loc_21: ; xref 4044:0308
4044:0300 C6 07 20 mov byte ptr [bx],20h ; ' '
4044:0303 9F lahf ; Load ah from flags
4044:0304 43 inc bx
4044:0305 9E sahf ; Store ah into flags
4044:0306 FE C8 dec al
4044:0308 75 F6 jnz loc_21 ; Jump if not zero
4044:030A C3 retn
sub_7 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:029F
;==========================================================================
4044:030B sub_8 proc near
4044:030B B6 08 mov dh,8
4044:030D ,BB 0082 mov bx,offset data_9 ; (4044:0082=7)
4044:0310 loc_22: ; xref 4044:0323
4044:0310 8A 07 mov al,[bx]
4044:0312 3C 61 cmp al,61h ; 'a'
4044:0314 72 08 jb loc_23 ; Jump if below
4044:0316 3C 7B cmp al,7Bh ; '{'
4044:0318 73 04 jae loc_23 ; Jump if above or =
4044:031A 2C 20 sub al,20h ; ' '
4044:031C 88 07 mov [bx],al
4044:031E loc_23: ; xref 4044:0314, 0318
4044:031E 9F lahf ; Load ah from flags
4044:031F 43 inc bx
4044:0320 9E sahf ; Store ah into flags
4044:0321 FE CE dec dh
4044:0323 75 EB jnz loc_22 ; Jump if not zero
4044:0325 C3 retn
sub_8 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:07ED
;==========================================================================
4044:0326 sub_9 proc near
4044:0326 E8 02D8 call sub_22 ; (0601)
4044:0329 E8 02DD call sub_24 ; (0609)
4044:032C E8 02D2 call sub_22 ; (0601)
4044:032F E8 02D7 call sub_24 ; (0609)
4044:0332 ,BB 01DE mov bx,1DEh ; (4044:01DE=1)
4044:0335 BA 0150 mov dx,150h
4044:0338 B5 0F mov ch,0Fh
4044:033A loc_24: ; xref 4044:034D
4044:033A 8B F2 mov si,dx
4044:033C 8A 04 mov al,[si]
4044:033E 3A 07 cmp al,[bx]
4044:0340 74 03 je loc_25 ; Jump if equal
4044:0342 E9 03C7 jmp loc_70 ; (070C)
4044:0345 loc_25: ; xref 4044:0340
4044:0345 9F lahf ; Load ah from flags
4044:0346 43 inc bx
4044:0347 9E sahf ; Store ah into flags
4044:0348 9F lahf ; Load ah from flags
4044:0349 42 inc dx
4044:034A 9E sahf ; Store ah into flags
4044:034B FE CD dec ch
4044:034D 75 EB jnz loc_24 ; Jump if not zero
4044:034F C3 retn
sub_9 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:07E4
;==========================================================================
4044:0350 sub_10 proc near
4044:0350 A0 0144 mov al,data_31 ; (4044:0144=0)
4044:0353 3C 20 cmp al,20h ; ' '
4044:0355 74 03 je loc_26 ; Jump if equal
4044:0357 E9 03F4 jmp loc_74 ; (074E)
4044:035A loc_26: ; xref 4044:0355
4044:035A 8B 1E 013E mov bx,data_27 ; (4044:013E=0)
4044:035E 8A C3 mov al,bl
4044:0360 3C 20 cmp al,20h ; ' '
4044:0362 74 12 je loc_29 ; Jump if equal
4044:0364 3C 31 cmp al,31h ; '1'
4044:0366 73 03 jae loc_27 ; Jump if above or =
4044:0368 E9 03E3 jmp loc_74 ; (074E)
4044:036B loc_27: ; xref 4044:0366
4044:036B 3C 3A cmp al,3Ah ; ':'
4044:036D 72 03 jb loc_28 ; Jump if below
4044:036F E9 03DC jmp loc_74 ; (074E)
4044:0372 loc_28: ; xref 4044:036D
4044:0372 B0 02 mov al,2
4044:0374 EB 02 jmp short loc_30 ; (0378)
4044:0376 loc_29: ; xref 4044:0362
4044:0376 B0 01 mov al,1
4044:0378 loc_30: ; xref 4044:0374
4044:0378 A2 013C mov data_25,al ; (4044:013C=0)
4044:037B C3 retn
sub_10 endp
;==========================================================================
; SUBROUTINE
;
; Called from: 4044:07F0
;==========================================================================
4044:037C sub_11 proc near
4044:037C E8 0048 call sub_13 ; (03C7)
4044:037F A0 013C mov al,data_25 ; (4044:013C=0)
4044:0382 3C 01 cmp al,1
4044:0384 74 52 je loc_35 ; Jump if equal
4044:0386 3C 02 cmp al,2
4044:0388 75 03 jne loc_31 ; Jump if not equal
4044:038A E9 00F8 jmp loc_43 ; (0485)
4044:038D loc_31: ; xref 4044:0388
4044:038D E9 0431 jmp loc_80 ; (07C1)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:07E7
4044:0390 sub_12:
4044:0390 8B 1E 013E mov bx,data_27 ; (4044:013E=0)
4044:0394 8A C7 mov al,bh
4044:0396 3C 20 cmp al,20h ; ' '
4044:0398 74 25 je loc_34 ; Jump if equal
4044:039A 2C 30 sub al,30h ; '0'
4044:039C A2 0146 mov data_33,al ; (4044:0146=0)
4044:039F 8A C3 mov al,bl
4044:03A1 2C 30 sub al,30h ; '0'
4044:03A3 B5 09 mov ch,9
4044:03A5 8A D0 mov dl,al
4044:03A7 loc_32: ; xref 4044:03AB
4044:03A7 02 C2 add al,dl
4044:03A9 FE CD dec ch
4044:03AB 75 FA jnz loc_32 ; Jump if not zero
4044:03AD 8A D0 mov dl,al
4044:03AF A0 0146 mov al,data_33 ; (4044:0146=0)
4044:03B2 02 C2 add al,dl
4044:03B4 A2 0147 mov data_34,al ; (4044:0147=0)
4044:03B7 3C 21 cmp al,21h ; '!'
4044:03B9 72 03 jb loc_ret_33 ; Jump if below
4044:03BB E9 0390 jmp loc_74 ; (074E)
4044:03BE loc_ret_33: ; xref 4044:03B9
4044:03BE C3 retn
4044:03BF loc_34: ; xref 4044:0398
4044:03BF 8A C3 mov al,bl
4044:03C1 2C 30 sub al,30h ; '0'
4044:03C3 A2 0147 mov data_34,al ; (4044:0147=0)
4044:03C6 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:037C
4044:03C7 sub_13:
4044:03C7 8B 1E 01CA mov bx,word ptr ds:[1CAh] ; (4044:01CA=0BAC3h)
4044:03CB 89 1E 0140 mov data_29,bx ; (4044:0140=0)
4044:03CF 8B 1E 01CC mov bx,word ptr ds:[1CCh] ; (4044:01CC=111h)
4044:03D3 89 1E 0142 mov data_30,bx ; (4044:0142=0)
4044:03D7 C3 retn
4044:03D8 loc_35: ; xref 4044:0384
4044:03D8 BA 0111 mov dx,111h
4044:03DB E8 023C call sub_25 ; (061A)
4044:03DE BA 03BA mov dx,3BAh
4044:03E1 E8 0236 call sub_25 ; (061A)
4044:03E4 E8 0295 call sub_31 ; (067C)
4044:03E7 BA 0118 mov dx,118h
4044:03EA E8 022D call sub_25 ; (061A)
4044:03ED E8 006E call sub_15 ; (045E)
4044:03F0 B2 00 mov dl,0
4044:03F2 8B 1E 0142 mov bx,data_30 ; (4044:0142=0)
4044:03F6 8A C7 mov al,bh
4044:03F8 E8 002E call sub_14 ; (0429)
4044:03FB 8B 1E 0142 mov bx,data_30 ; (4044:0142=0)
4044:03FF 8A C3 mov al,bl
4044:0401 E8 0025 call sub_14 ; (0429)
4044:0404 BA 0111 mov dx,111h
4044:0407 E8 0210 call sub_25 ; (061A)
4044:040A B0 20 mov al,20h ; ' '
4044:040C E8 0210 call sub_26 ; (061F)
4044:040F B0 20 mov al,20h ; ' '
4044:0411 E8 020B call sub_26 ; (061F)
4044:0414 8B 1E 0140 mov bx,data_29 ; (4044:0140=0)
4044:0418 8A C7 mov al,bh
4044:041A E8 000C call sub_14 ; (0429)
4044:041D 8B 1E 0140 mov bx,data_29 ; (4044:0140=0)
4044:0421 8A C3 mov al,bl
4044:0423 E8 0003 call sub_14 ; (0429)
4044:0426 E9 0398 jmp loc_80 ; (07C1)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:03F8, 0401, 041A, 0423
4044:0429 sub_14:
4044:0429 B6 08 mov dh,8
4044:042B A2 011E mov data_14,al ; (4044:011E=0)
4044:042E B0 00 mov al,0
4044:0430 loc_36: ; xref 4044:045C
4044:0430 ,A0 0145 mov al,data_32 ; (4044:0145=0)
4044:0433 04 01 add al,1
4044:0435 27 daa ; Decimal adjust
4044:0436 A2 0145 mov data_32,al ; (4044:0145=0)
4044:0439 FE C2 inc dl
4044:043B 8A C2 mov al,dl
4044:043D A2 0120 mov data_16,al ; (4044:0120=0)
4044:0440 8A C6 mov al,dh
4044:0442 A2 011F mov data_15,al ; (4044:011F=0)
4044:0445 A0 011E mov al,data_14 ; (4044:011E=0)
4044:0448 D0 C8 ror al,1 ; Rotate
4044:044A A2 011E mov data_14,al ; (4044:011E=0)
4044:044D 73 03 jnc loc_37 ; Jump if carry=0
4044:044F E8 0258 call sub_34 ; (06AA)
4044:0452 loc_37: ; xref 4044:044D
4044:0452 A0 011F mov al,data_15 ; (4044:011F=0)
4044:0455 8A F0 mov dh,al
4044:0457 FE CE dec dh
4044:0459 75 01 jnz loc_38 ; Jump if not zero
4044:045B C3 retn
4044:045C loc_38: ; xref 4044:0459
4044:045C EB D2 jmp short loc_36 ; (0430)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:03ED
4044:045E sub_15:
4044:045E 8B 1E 0142 mov bx,data_30 ; (4044:0142=0)
4044:0462 8A C7 mov al,bh
4044:0464 3C 00 cmp al,0
4044:0466 74 01 je loc_39 ; Jump if equal
4044:0468 C3 retn
4044:0469 loc_39: ; xref 4044:0466
4044:0469 8A C3 mov al,bl
4044:046B 3C 00 cmp al,0
4044:046D 74 01 je loc_40 ; Jump if equal
4044:046F C3 retn
4044:0470 loc_40: ; xref 4044:046D
4044:0470 8B 1E 0140 mov bx,data_29 ; (4044:0140=0)
4044:0474 8A C7 mov al,bh
4044:0476 3C 00 cmp al,0
4044:0478 74 01 je loc_41 ; Jump if equal
4044:047A C3 retn
4044:047B loc_41: ; xref 4044:0478
4044:047B 8A C3 mov al,bl
4044:047D 3C 00 cmp al,0
4044:047F 75 03 jne loc_ret_42 ; Jump if not equal
4044:0481 E9 0282 jmp loc_69 ; (0706)
4044:0484 loc_ret_42: ; xref 4044:047F
4044:0484 C3 retn
4044:0485 loc_43: ; xref 4044:038A
4044:0485 E8 0011 call sub_16 ; (0499)
4044:0488 A0 013D mov al,data_26 ; (4044:013D=0)
4044:048B 8A D0 mov dl,al
4044:048D A0 0147 mov al,data_34 ; (4044:0147=0)
4044:0490 3A C2 cmp al,dl
4044:0492 73 03 jae loc_44 ; Jump if above or =
4044:0494 E8 00AA call sub_19 ; (0541)
4044:0497 loc_44: ; xref 4044:0492
4044:0497 EB 45 jmp short loc_48 ; (04DE)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:0485
4044:0499 sub_16:
4044:0499 A0 0147 mov al,data_34 ; (4044:0147=0)
4044:049C 8A E8 mov ch,al
4044:049E B2 00 mov dl,0
4044:04A0 8B 1E 0142 mov bx,data_30 ; (4044:0142=0)
4044:04A4 8A C7 mov al,bh
4044:04A6 E8 0012 call sub_17 ; (04BB)
4044:04A9 8A C3 mov al,bl
4044:04AB E8 000D call sub_17 ; (04BB)
4044:04AE 8B 1E 0140 mov bx,data_29 ; (4044:0140=0)
4044:04B2 8A C7 mov al,bh
4044:04B4 E8 0004 call sub_17 ; (04BB)
4044:04B7 8A C3 mov al,bl
4044:04B9 EB 00 jmp short $+2 ; delay for I/O
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:04A6, 04AB, 04B4
4044:04BB sub_17:
4044:04BB B6 08 mov dh,8
4044:04BD loc_45: ; xref 4044:04CE
4044:04BD FE C2 inc dl
4044:04BF D0 C8 ror al,1 ; Rotate
4044:04C1 A2 011E mov data_14,al ; (4044:011E=0)
4044:04C4 73 03 jnc loc_46 ; Jump if carry=0
4044:04C6 E8 0008 call sub_18 ; (04D1)
4044:04C9 loc_46: ; xref 4044:04C4
4044:04C9 A0 011E mov al,data_14 ; (4044:011E=0)
4044:04CC FE CE dec dh
4044:04CE 75 ED jnz loc_45 ; Jump if not zero
4044:04D0 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:04C6
4044:04D1 sub_18:
4044:04D1 8A C2 mov al,dl
4044:04D3 A2 013D mov data_26,al ; (4044:013D=0)
4044:04D6 3A C5 cmp al,ch
4044:04D8 75 03 jne loc_ret_47 ; Jump if not equal
4044:04DA E9 00EA jmp loc_55 ; (05C7)
4044:04DD loc_ret_47: ; xref 4044:04D8
4044:04DD C3 retn
4044:04DE loc_48: ; xref 4044:0497
4044:04DE BA 0111 mov dx,111h
4044:04E1 E8 0136 call sub_25 ; (061A)
4044:04E4 BA 037A mov dx,37Ah
4044:04E7 E8 0179 call sub_30 ; (0663)
4044:04EA BA 0111 mov dx,111h
4044:04ED E8 012A call sub_25 ; (061A)
4044:04F0 BA 0408 mov dx,408h
4044:04F3 E8 0124 call sub_25 ; (061A)
4044:04F6 BA 0446 mov dx,446h
4044:04F9 E8 011E call sub_25 ; (061A)
4044:04FC E8 017D call sub_31 ; (067C)
4044:04FF B2 20 mov dl,20h ; ' '
4044:0501 E8 011D call sub_27 ; (0621)
4044:0504 B2 3F mov dl,3Fh ; '?'
4044:0506 E8 0118 call sub_27 ; (0621)
4044:0509 B2 20 mov dl,20h ; ' '
4044:050B E8 0113 call sub_27 ; (0621)
4044:050E B1 0A mov cl,0Ah
4044:0510 B0 04 mov al,4
4044:0512 A2 0148 mov data_35,al ; (4044:0148=0)
4044:0515 BA 0148 mov dx,148h
4044:0518 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:051A A0 014A mov al,data_36 ; (4044:014A=0)
4044:051D 3C 59 cmp al,59h ; 'Y'
4044:051F 74 07 je loc_49 ; Jump if equal
4044:0521 3C 79 cmp al,79h ; 'y'
4044:0523 74 03 je loc_49 ; Jump if equal
4044:0525 E9 0245 jmp loc_75 ; (076D)
4044:0528 loc_49: ; xref 4044:051F, 0523
4044:0528 E8 0031 call sub_20 ; (055C)
4044:052B E8 00B1 call sub_21 ; (05DF)
4044:052E B1 10 mov cl,10h
4044:0530 BA 005C mov dx,5Ch
4044:0533 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:0535 BA 0111 mov dx,111h
4044:0538 E8 00DF call sub_25 ; (061A)
4044:053B BA 044E mov dx,44Eh
4044:053E E9 027D jmp loc_79 ; (07BE)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:0494
4044:0541 sub_19:
4044:0541 BA 0111 mov dx,111h
4044:0544 E8 00D3 call sub_25 ; (061A)
4044:0547 BA 03D2 mov dx,3D2h
4044:054A E8 0116 call sub_30 ; (0663)
4044:054D BA 03F6 mov dx,3F6h
4044:0550 E8 00C7 call sub_25 ; (061A)
4044:0553 E8 0126 call sub_31 ; (067C)
4044:0556 BA 0111 mov dx,111h
4044:0559 E9 00BE jmp loc_58 ; (061A)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:0528
4044:055C sub_20:
4044:055C A0 0147 mov al,data_34 ; (4044:0147=0)
4044:055F 3C 09 cmp al,9
4044:0561 72 2E jb loc_53 ; Jump if below
4044:0563 3C 19 cmp al,19h
4044:0565 73 06 jae loc_50 ; Jump if above or =
4044:0567 3C 11 cmp al,11h
4044:0569 72 1A jb loc_52 ; Jump if below
4044:056B EB 0C jmp short loc_51 ; (0579)
4044:056D loc_50: ; xref 4044:0565
4044:056D A0 0147 mov al,data_34 ; (4044:0147=0)
4044:0570 2C 19 sub al,19h
4044:0572 A2 014C mov data_38,al ; (4044:014C=0)
4044:0575 B0 00 mov al,0
4044:0577 EB 22 jmp short loc_54 ; (059B)
4044:0579 loc_51: ; xref 4044:056B
4044:0579 A0 0147 mov al,data_34 ; (4044:0147=0)
4044:057C 2C 11 sub al,11h
4044:057E A2 014C mov data_38,al ; (4044:014C=0)
4044:0581 B0 01 mov al,1
4044:0583 EB 16 jmp short loc_54 ; (059B)
4044:0585 loc_52: ; xref 4044:0569
4044:0585 A0 0147 mov al,data_34 ; (4044:0147=0)
4044:0588 2C 09 sub al,9
4044:058A A2 014C mov data_38,al ; (4044:014C=0)
4044:058D B0 02 mov al,2
4044:058F EB 0A jmp short loc_54 ; (059B)
4044:0591 loc_53: ; xref 4044:0561
4044:0591 A0 0147 mov al,data_34 ; (4044:0147=0)
4044:0594 FE C8 dec al
4044:0596 A2 014C mov data_38,al ; (4044:014C=0)
4044:0599 B0 03 mov al,3
4044:059B loc_54: ; xref 4044:0577, 0583, 058F
4044:059B A2 014D mov data_39,al ; (4044:014D=0)
4044:059E BB 01CA mov bx,1CAh
4044:05A1 B5 00 mov ch,0
4044:05A3 A0 014D mov al,data_39 ; (4044:014D=0)
4044:05A6 8A C8 mov cl,al
4044:05A8 03 D9 add bx,cx
4044:05AA 89 1E 014E mov data_40,bx ; (4044:014E=0)
4044:05AE ,BB 0160 mov bx,offset data_41 ; (4044:0160=0)
4044:05B1 B5 00 mov ch,0
4044:05B3 A0 014C mov al,data_38 ; (4044:014C=0)
4044:05B6 8A C8 mov cl,al
4044:05B8 03 D9 add bx,cx
4044:05BA 8A 2F mov ch,[bx]
4044:05BC 8B 1E 014E mov bx,data_40 ; (4044:014E=0)
4044:05C0 8A 07 mov al,[bx]
4044:05C2 0A C5 or al,ch
4044:05C4 88 07 mov [bx],al
4044:05C6 C3 retn
4044:05C7 loc_55: ; xref 4044:04DA
4044:05C7 BA 0111 mov dx,111h
4044:05CA E8 004D call sub_25 ; (061A)
4044:05CD BA 0436 mov dx,436h
4044:05D0 E8 0090 call sub_30 ; (0663)
4044:05D3 BA 041C mov dx,41Ch
4044:05D6 E8 0041 call sub_25 ; (061A)
4044:05D9 E8 00A0 call sub_31 ; (067C)
4044:05DC E9 01E2 jmp loc_80 ; (07C1)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:052B
4044:05DF sub_21:
4044:05DF B0 01 mov al,1
4044:05E1 A2 007D mov data_7,al ; (4044:007D=0)
4044:05E4 BB 0000 mov bx,0
4044:05E7 89 1E 007E mov data_8,bx ; (4044:007E=0)
4044:05EB B1 22 mov cl,22h ; '"'
4044:05ED BA 005C mov dx,5Ch
4044:05F0 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:05F2 3C 00 cmp al,0
4044:05F4 75 01 jne loc_56 ; Jump if not equal
4044:05F6 C3 retn
4044:05F7 loc_56: ; xref 4044:05F4
4044:05F7 FE C0 inc al
4044:05F9 75 03 jnz loc_57 ; Jump if not zero
4044:05FB E9 01B4 jmp loc_78 ; (07B2)
4044:05FE loc_57: ; xref 4044:05F9
4044:05FE E9 016C jmp loc_75 ; (076D)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:0326, 032C
4044:0601 sub_22:
4044:0601 BA 017E mov dx,17Eh
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:02A5
4044:0604 sub_23:
4044:0604 B1 1A mov cl,1Ah
4044:0606 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:0608 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:0329, 032F
4044:0609 sub_24:
4044:0609 B1 14 mov cl,14h
4044:060B BA 005C mov dx,5Ch
4044:060E CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:0610 C3 retn
;* No entry point to code
4044:0611 BA 0111 mov dx,111h
4044:0614 E8 0003 call sub_25 ; (061A)
4044:0617 BA 0288 mov dx,288h
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:01A3, 01CE, 01D4, 01F7, 01FD, 0290, 0296
; 03DB, 03E1, 03EA, 0407, 04E1, 04ED, 04F3
; 04F9, 0538, 0544, 0550, 05CA, 05D6, 0614
; 0663, 0690, 06E9, 06EF, 06FD, 070F, 071B
; 0727, 0733, 0739, 0751, 0757, 0765, 0770
; 077B, 078C, 079A, 07A0, 07BE, 07C4
4044:061A sub_25:
4044:061A loc_58: ; xref 4044:0559
4044:061A B1 09 mov cl,9
4044:061C CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:061E C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:040C, 0411, 0634, 066C, 069F, 06B3, 06D6
; 06DE, 07A8
4044:061F sub_26:
4044:061F loc_59: ; xref 4044:067A
4044:061F ,8A D0 mov dl,al
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:0501, 0506, 050B, 0651, 0686, 07AD
4044:0621 sub_27:
4044:0621 loc_60: ; xref 4044:06A4, 06B8, 06E3
4044:0621 ,B1 02 mov cl,2
4044:0623 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:0625 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:0681, 075F
4044:0626 sub_28:
4044:0626 loc_61: ; xref 4044:0643, 068E
4044:0626 ,89 1E 0121 mov data_17,bx ; (4044:0121=0)
4044:062A A2 011E mov data_14,al ; (4044:011E=0)
4044:062D 8A 07 mov al,[bx]
4044:062F 3C 20 cmp al,20h ; ' '
4044:0631 75 01 jne loc_62 ; Jump if not equal
4044:0633 C3 retn
4044:0634 loc_62: ; xref 4044:0631
4044:0634 E8 FFE8 call sub_26 ; (061F)
4044:0637 8B 1E 0121 mov bx,data_17 ; (4044:0121=0)
4044:063B 9F lahf ; Load ah from flags
4044:063C 43 inc bx
4044:063D 9E sahf ; Store ah into flags
4044:063E A0 011E mov al,data_14 ; (4044:011E=0)
4044:0641 FE C8 dec al
4044:0643 75 E1 jnz loc_61 ; Jump if not zero
4044:0645 75 01 jnz loc_63 ; Jump if not zero
4044:0647 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:06F7
4044:0648 sub_29:
4044:0648 loc_63: ; xref 4044:0645, 0660
4044:0648 89 1E 0121 mov data_17,bx ; (4044:0121=0)
4044:064C A2 011E mov data_14,al ; (4044:011E=0)
4044:064F 8A 17 mov dl,[bx]
4044:0651 E8 FFCD call sub_27 ; (0621)
4044:0654 8B 1E 0121 mov bx,data_17 ; (4044:0121=0)
4044:0658 9F lahf ; Load ah from flags
4044:0659 43 inc bx
4044:065A 9E sahf ; Store ah into flags
4044:065B A0 011E mov al,data_14 ; (4044:011E=0)
4044:065E FE C8 dec al
4044:0660 75 E6 jnz loc_63 ; Jump if not zero
4044:0662 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:04E7, 054A, 05D0
4044:0663 sub_30:
4044:0663 E8 FFB4 call sub_25 ; (061A)
4044:0666 8B 1E 013E mov bx,data_27 ; (4044:013E=0)
4044:066A 8A C3 mov al,bl
4044:066C E8 FFB0 call sub_26 ; (061F)
4044:066F 8B 1E 013E mov bx,data_27 ; (4044:013E=0)
4044:0673 8A C7 mov al,bh
4044:0675 3C 20 cmp al,20h ; ' '
4044:0677 75 01 jne loc_64 ; Jump if not equal
4044:0679 C3 retn
4044:067A loc_64: ; xref 4044:0677
4044:067A EB A3 jmp short loc_59 ; (061F)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:03E4, 04FC, 0553, 05D9, 0743, 078F
4044:067C sub_31:
4044:067C ,BB 005D mov bx,offset data_3 ; (4044:005D=0)
4044:067F B0 08 mov al,8
4044:0681 E8 FFA2 call sub_28 ; (0626)
4044:0684 B2 2E mov dl,2Eh ; '.'
4044:0686 E8 FF98 call sub_27 ; (0621)
4044:0689 BB 0065 mov bx,65h
4044:068C B0 03 mov al,3
4044:068E EB 96 jmp short loc_61 ; (0626)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:0749, 0781
4044:0690 sub_32:
4044:0690 E8 FF87 call sub_25 ; (061A)
4044:0693 A0 005C mov al,data_2 ; (4044:005C=0)
4044:0696 3C 00 cmp al,0
4044:0698 75 03 jne loc_65 ; Jump if not equal
4044:069A E8 000A call sub_33 ; (06A7)
4044:069D loc_65: ; xref 4044:0698
4044:069D 04 40 add al,40h ; '@'
4044:069F E8 FF7D call sub_26 ; (061F)
4044:06A2 B2 3A mov dl,3Ah ; ':'
4044:06A4 E9 FF7A jmp loc_60 ; (0621)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:069A
4044:06A7 sub_33:
4044:06A7 FE C0 inc al
4044:06A9 C3 retn
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:044F
4044:06AA sub_34:
4044:06AA A0 0145 mov al,data_32 ; (4044:0145=0)
4044:06AD 3C 0A cmp al,0Ah
4044:06AF 73 0A jae loc_66 ; Jump if above or =
4044:06B1 04 30 add al,30h ; '0'
4044:06B3 E8 FF69 call sub_26 ; (061F)
4044:06B6 B2 20 mov dl,20h ; ' '
4044:06B8 E9 FF66 jmp loc_60 ; (0621)
4044:06BB loc_66: ; xref 4044:06AF
4044:06BB A0 0145 mov al,data_32 ; (4044:0145=0)
4044:06BE 24 0F and al,0Fh
4044:06C0 A2 014B mov data_37,al ; (4044:014B=0)
4044:06C3 A0 0145 mov al,data_32 ; (4044:0145=0)
4044:06C6 24 F0 and al,0F0h
4044:06C8 D0 C8 ror al,1 ; Rotate
4044:06CA D0 C8 ror al,1 ; Rotate
4044:06CC D0 C8 ror al,1 ; Rotate
4044:06CE D0 C8 ror al,1 ; Rotate
4044:06D0 04 30 add al,30h ; '0'
4044:06D2 3C 30 cmp al,30h ; '0'
4044:06D4 74 03 je loc_67 ; Jump if equal
4044:06D6 E8 FF46 call sub_26 ; (061F)
4044:06D9 loc_67: ; xref 4044:06D4
4044:06D9 A0 014B mov al,data_37 ; (4044:014B=0)
4044:06DC 04 30 add al,30h ; '0'
4044:06DE E8 FF3E call sub_26 ; (061F)
4044:06E1 B2 20 mov dl,20h ; ' '
4044:06E3 E9 FF3B jmp loc_60 ; (0621)
4044:06E6 loc_68: ; xref 4044:024D, 0257, 0261
4044:06E6 BA 0111 mov dx,111h
4044:06E9 E8 FF2E call sub_25 ; (061A)
4044:06EC BA 02B2 mov dx,2B2h
4044:06EF E8 FF28 call sub_25 ; (061A)
4044:06F2 ,BB 0065 mov bx,offset data_4 ; (4044:0065=0)
4044:06F5 B0 03 mov al,3
4044:06F7 E8 FF4E call sub_29 ; (0648)
4044:06FA BA 0111 mov dx,111h
4044:06FD E8 FF1A call sub_25 ; (061A)
4044:0700 BA 0382 mov dx,382h
4044:0703 E9 00B8 jmp loc_79 ; (07BE)
4044:0706 loc_69: ; xref 4044:0481
4044:0706 BA 043E mov dx,43Eh
4044:0709 E9 00B2 jmp loc_79 ; (07BE)
4044:070C loc_70: ; xref 4044:0342
4044:070C BA 0111 mov dx,111h
4044:070F E8 FF08 call sub_25 ; (061A)
4044:0712 BA 02CA mov dx,2CAh
4044:0715 E9 00A6 jmp loc_79 ; (07BE)
4044:0718 loc_71: ; xref 4044:01B0, 01B9
4044:0718 BA 0111 mov dx,111h
4044:071B E8 FEFC call sub_25 ; (061A)
4044:071E BA 0230 mov dx,230h
4044:0721 E9 009A jmp loc_79 ; (07BE)
4044:0724 loc_72: ; xref 4044:0287
4044:0724 BA 0111 mov dx,111h
4044:0727 E8 FEF0 call sub_25 ; (061A)
4044:072A BA 0292 mov dx,292h
4044:072D E9 008E jmp loc_79 ; (07BE)
4044:0730 loc_73: ; xref 4044:027C
4044:0730 BA 0111 mov dx,111h
4044:0733 E8 FEE4 call sub_25 ; (061A)
4044:0736 BA 01FE mov dx,1FEh
4044:0739 E8 FEDE call sub_25 ; (061A)
4044:073C A0 005D mov al,data_3 ; (4044:005D=0)
4044:073F 3C 20 cmp al,20h ; ' '
4044:0741 74 7E je loc_80 ; Jump if equal
4044:0743 E8 FF36 call sub_31 ; (067C)
4044:0746 BA 033C mov dx,33Ch
4044:0749 E8 FF44 call sub_32 ; (0690)
4044:074C EB 73 jmp short loc_80 ; (07C1)
4044:074E loc_74: ; xref 4044:0357, 0368, 036F, 03BB
4044:074E BA 0111 mov dx,111h
4044:0751 E8 FEC6 call sub_25 ; (061A)
4044:0754 BA 0300 mov dx,300h
4044:0757 E8 FEC0 call sub_25 ; (061A)
4044:075A ,BB 006D mov bx,offset data_5 ; (4044:006D=0)
4044:075D B0 05 mov al,5
4044:075F E8 FEC4 call sub_28 ; (0626)
4044:0762 BA 0111 mov dx,111h
4044:0765 E8 FEB2 call sub_25 ; (061A)
4044:0768 BA 039C mov dx,39Ch
4044:076B EB 51 jmp short loc_79 ; (07BE)
4044:076D loc_75: ; xref 4044:0525, 05FE, 07BC
4044:076D ,BA 0111 mov dx,111h
4044:0770 E8 FEA7 call sub_25 ; (061A)
4044:0773 BA 0468 mov dx,468h
4044:0776 EB 46 jmp short loc_79 ; (07BE)
4044:0778 loc_76: ; xref 4044:07B6
4044:0778 BA 0111 mov dx,111h
4044:077B E8 FE9C call sub_25 ; (061A)
4044:077E BA 031A mov dx,31Ah
4044:0781 E8 FF0C call sub_32 ; (0690)
4044:0784 BA 0324 mov dx,324h
4044:0787 EB 35 jmp short loc_79 ; (07BE)
4044:0789 loc_77: ; xref 4044:07BA
4044:0789 BA 0111 mov dx,111h
4044:078C E8 FE8B call sub_25 ; (061A)
4044:078F E8 FEEA call sub_31 ; (067C)
4044:0792 BA 0324 mov dx,324h
4044:0795 EB 27 jmp short loc_79 ; (07BE)
;* No entry point to code
4044:0797 BA 0111 mov dx,111h
4044:079A E8 FE7D call sub_25 ; (061A)
4044:079D BA 0216 mov dx,216h
4044:07A0 E8 FE77 call sub_25 ; (061A)
4044:07A3 A0 005C mov al,data_2 ; (4044:005C=0)
4044:07A6 04 40 add al,40h ; '@'
4044:07A8 E8 FE74 call sub_26 ; (061F)
4044:07AB B2 3A mov dl,3Ah ; ':'
4044:07AD E8 FE71 call sub_27 ; (0621)
4044:07B0 EB 0F jmp short loc_80 ; (07C1)
4044:07B2 loc_78: ; xref 4044:05FB
4044:07B2 8A C7 mov al,bh
4044:07B4 3C 02 cmp al,2
4044:07B6 74 C0 je loc_76 ; Jump if equal
4044:07B8 3C 03 cmp al,3
4044:07BA 74 CD je loc_77 ; Jump if equal
4044:07BC EB AF jmp short loc_75 ; (076D)
4044:07BE loc_79: ; xref 4044:053E, 0703, 0709, 0715
; 0721, 072D, 076B, 0776
; 0787, 0795
4044:07BE E8 FE59 call sub_25 ; (061A)
;==== External Entry into Subroutine ======================================
;
; Called from: 4044:07F3
4044:07C1 sub_35:
4044:07C1 loc_80: ; xref 4044:01EA, 02C6, 038D, 0426
; 05DC, 0741, 074C, 07B0
4044:07C1 BA 0114 mov dx,114h
4044:07C4 E8 FE53 call sub_25 ; (061A)
4044:07C7 B1 00 mov cl,0
4044:07C9 CD E0 int 0E0h ; ??INT Non-standard interrupt
4044:07CB 9C pushf ; Push flags
4044:07CC FA cli ; Disable interrupts
4044:07CD 58 pop ax
4044:07CE 8C DB mov bx,ds
4044:07D0 8E D3 mov ss,bx
4044:07D2 BC 017C mov sp,17Ch
4044:07D5 50 push ax
4044:07D6 FB sti ; Enable interrupts
4044:07D7 9D popf ; Pop flags
4044:07D8 E8 F9B7 call sub_1 ; (0192)
4044:07DB E8 F9E5 call sub_2 ; (01C3)
4044:07DE E8 FA3D call sub_3 ; (021E)
4044:07E1 E8 FA60 call sub_4 ; (0244)
4044:07E4 E8 FB69 call sub_10 ; (0350)
4044:07E7 E8 FBA6 call sub_12 ; (0390)
4044:07EA E8 FA78 call sub_5 ; (0265)
4044:07ED E8 FB36 call sub_9 ; (0326)
4044:07F0 E8 FB89 call sub_11 ; (037C)
4044:07F3 E8 FFCB call sub_35 ; (07C1)
4044:07F6 010A[00] db 266 dup (0)
4044:0900 0D 0A 50 41 54 43 db 0Dh, 0Ah, 'PATCH86 - V3.1$'
4044:0906 48 38 36 20 2D 20
4044:090C 56 33 2E 31 24
4044:0911 0D 0A 24 db 0Dh, 0Ah, '$'
4044:0914 0D 0A 0A 24 db 0Dh, 0Ah, 0Ah, '$'
4044:0918 3A 0D 0A 20 20 24 db ':', 0Dh, 0Ah, ' $'
4044:091E 00 00 00 00 00 20 db 00h, 00h, 00h, 00h, 00h, 20h
4044:0924 0016[20] db 22 dup (20h)
4044:093A 0016[00] db 22 dup (0)
4044:0950 44 49 47 49 54 41 db 'DIGITAL RESEARCH'
4044:0956 4C 20 52 45 53 45
4044:095C 41 52 43 48
4044:0960 01 02 04 08 10 20 db 01h, 02h, 04h, 08h, 10h, 20h
4044:0966 40 80 25 01 db 40h, 80h, 25h, 01h
4044:096A 5C db 5Ch
4044:096B 0093[00] db 147 dup (0)
4044:09FE 44 61 74 65 69 20 db 'Datei nicht gefunden: $'
4044:0A04 6E 69 63 68 74 20
4044:0A0A 67 65 66 75 6E 64
4044:0A10 65 6E 3A 20 24
4044:0A15 00 db 0
4044:0A16 55 6E 7A 75 6C 61 db 'Unzulaessiges Laufwerk: $'
4044:0A1C 65 73 73 69 67 65
4044:0A22 73 20 4C 61 75 66
4044:0A28 77 65 72 6B 3A 20
4044:0A2E 24
4044:0A2F 00 db 0
4044:0A30 4E 75 72 20 75 6E db 'Nur unter Basis-Betriebssystem a'
4044:0A36 74 65 72 20 42 61
4044:0A3C 73 69 73 2D 42 65
4044:0A42 74 72 69 65 62 73
4044:0A48 73 79 73 74 65 6D
4044:0A4E 20 61
4044:0A50 62 6C 61 75 66 66 db 'blauffaehig', 0
4044:0A56 61 65 68 69 67 00
4044:0A5C 50 61 73 73 77 6F db 'Passwort eingeben: $'
4044:0A62 72 74 20 65 69 6E
4044:0A68 67 65 62 65 6E 3A
4044:0A6E 20 20 24
4044:0A71 00 db 0
4044:0A72 44 61 74 65 69 6E db 'Dateiname eingeben: $'
4044:0A78 61 6D 65 20 65 69
4044:0A7E 6E 67 65 62 65 6E
4044:0A84 3A 20 24
4044:0A87 00 db 0
4044:0A88 46 45 48 4C 45 52 db 'FEHLER: $'
4044:0A8E 3A 20 20 24
4044:0A92 46 61 6C 73 63 68 db 'Falsches Passwort fuer Datei: $'
4044:0A98 65 73 20 50 61 73
4044:0A9E 73 77 6F 72 74 20
4044:0AA4 66 75 65 72 20 44
4044:0AAA 61 74 65 69 3A 20
4044:0AB0 24
4044:0AB1 00 db 0
4044:0AB2 44 61 74 65 69 74 db 'Dateityp unzulaessig: $'
4044:0AB8 79 70 20 75 6E 7A
4044:0ABE 75 6C 61 65 73 73
4044:0AC4 69 67 3A 20 24
4044:0AC9 00 db 0
4044:0ACA 44 69 65 6E 73 74 db 'Dienstprogramm mit Betriebssyste'
4044:0AD0 70 72 6F 67 72 61
4044:0AD6 6D 6D 20 6D 69 74
4044:0ADC 20 42 65 74 72 69
4044:0AE2 65 62 73 73 79 73
4044:0AE8 74 65
4044:0AEA 6D 20 6E 69 63 68 db 'm nicht vertraeglich $'
4044:0AF0 74 20 76 65 72 74
4044:0AF6 72 61 65 67 6C 69
4044:0AFC 63 68 20 24
4044:0B00 55 6E 67 75 65 6C db 'Ungueltige Patch-Nummer: $'
4044:0B06 74 69 67 65 20 50
4044:0B0C 61 74 63 68 2D 4E
4044:0B12 75 6D 6D 65 72 3A
4044:0B18 20 24
4044:0B1A 4C 61 75 66 77 65 db 'Laufwerk $'
4044:0B20 72 6B 20 24
4044:0B24 20 69 73 74 20 73 db ' ist schreibgeschuetzt $'
4044:0B2A 63 68 72 65 69 62
4044:0B30 67 65 73 63 68 75
4044:0B36 65 74 7A 74 20 24
4044:0B3C 20 69 6E 20 24 db ' in $'
4044:0B41 00 db 0
4044:0B42 50 61 74 63 68 2D db 'Patch-Nummer eingeben (RETURN fa'
4044:0B48 4E 75 6D 6D 65 72
4044:0B4E 20 65 69 6E 67 65
4044:0B54 62 65 6E 20 28 52
4044:0B5A 45 54 55 52 4E 20
4044:0B60 66 61
4044:0B62 6C 6C 73 20 6B 65 db 'lls keine existiert): $'
4044:0B68 69 6E 65 20 65 78
4044:0B6E 69 73 74 69 65 72
4044:0B74 74 29 3A 20 24
4044:0B79 00 db 0
4044:0B7A 20 50 61 74 63 68 db ' Patch $'
4044:0B80 20 24
4044:0B82 47 75 65 6C 74 69 db 'Gueltiger Dateityp: .CMD $'
4044:0B88 67 65 72 20 44 61
4044:0B8E 74 65 69 74 79 70
4044:0B94 3A 20 2E 43 4D 44
4044:0B9A 20 24
4044:0B9C 47 75 65 6C 74 69 db 'Gueltige Patch-Nummern: 1-32 $'
4044:0BA2 67 65 20 50 61 74
4044:0BA8 63 68 2D 4E 75 6D
4044:0BAE 6D 65 72 6E 3A 20
4044:0BB4 31 2D 33 32 20 24
4044:0BBA 41 6B 74 75 65 6C db 'Aktuelle Patches fuer $'
4044:0BC0 6C 65 20 50 61 74
4044:0BC6 63 68 65 73 20 66
4044:0BCC 75 65 72 20 20 24
4044:0BD2 57 41 52 4E 55 4E db 'WARNUNG: Patch-Nummer groesser a'
4044:0BD8 47 3A 20 50 61 74
4044:0BDE 63 68 2D 4E 75 6D
4044:0BE4 6D 65 72 20 67 72
4044:0BEA 6F 65 73 73 65 72
4044:0BF0 20 61
4044:0BF2 6C 73 20 24 db 'ls $'
4044:0BF6 20 65 78 69 73 74 db ' existiert fuer $'
4044:0BFC 69 65 72 74 20 66
4044:0C02 75 65 72 20 24
4044:0C07 00 db 0
4044:0C08 20 77 75 72 64 65 db ' wurde installiert $'
4044:0C0E 20 69 6E 73 74 61
4044:0C14 6C 6C 69 65 72 74
4044:0C1A 20 24
4044:0C1C 20 65 78 69 73 74 db ' existiert bereits fuer $'
4044:0C22 69 65 72 74 20 62
4044:0C28 65 72 65 69 74 73
4044:0C2E 20 66 75 65 72 20
4044:0C34 24
4044:0C35 00 db 0
4044:0C36 50 61 74 63 68 20 db 'Patch $'
4044:0C3C 24
4044:0C3D 00 db 0
4044:0C3E 4B 65 69 6E 65 20 db 'Keine $'
4044:0C44 24
4044:0C45 00 db 0
4044:0C46 20 66 75 65 72 20 db ' fuer $'
4044:0C4C 24
4044:0C4D 00 db 0
4044:0C4E 50 61 74 63 68 2D db 'Patch-Nummer eingefuegt $'
4044:0C54 4E 75 6D 6D 65 72
4044:0C5A 20 65 69 6E 67 65
4044:0C60 66 75 65 67 74 20
4044:0C66 24
4044:0C67 00 db 0
4044:0C68 50 61 74 63 68 2D db 'Patch-Nummer nicht eingefuegt $'
4044:0C6E 4E 75 6D 6D 65 72
4044:0C74 20 6E 69 63 68 74
4044:0C7A 20 65 69 6E 67 65
4044:0C80 66 75 65 67 74 20
4044:0C86 24
4044:0C87 0079[00] db 121 dup (0)
sub_11 endp
seg_a ends
end
__________________ Interrupt Usage Synopsis __________________
15 Ocurrences of non-standard interrupts used (search for ??).
__________________ I/O Port Usage Synopsis __________________
No I/O ports used.