mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 00:14:25 +00:00
4350 lines
301 KiB
Plaintext
4350 lines
301 KiB
Plaintext
DSKMAINT.LST Sourcer v7.00
|
||
|
||
|
||
PAGE 59,132
|
||
|
||
;==========================================================================
|
||
;== ==
|
||
;== DSKMAINT ==
|
||
;== ==
|
||
;== Created: ==
|
||
;== Code type: special ==
|
||
;== Passes: 9 Analysis Options on: QRSUX ==
|
||
;== ==
|
||
;==========================================================================
|
||
|
||
target EQU 'T3' ; Target assembler: TASM-3.0
|
||
|
||
|
||
; The following equates show data references outside the range of the program.
|
||
|
||
= 0000 data_1e equ 0 ; (0000:0000=60h)
|
||
= 013C data_2e equ 13Ch ; (0000:013C=0EF6Fh)
|
||
= 0150 data_3e equ 150h ; (0000:0150=73h)
|
||
= 7DFF data_4e equ 7DFFh ;*(0000:7DFF=15h)
|
||
= 0090 data_5e equ 90h ; (0040:0090=7)
|
||
= 0999 data_263e equ 999h ;*(8003:0999=0)
|
||
= 0006 data_264e equ 6 ; (F9F0:0006=3)
|
||
= 0007 data_265e equ 7 ; (F9F0:0007=3)
|
||
= 0020 data_266e equ 20h ; (F9F0:0020=0FBh)
|
||
= 0024 data_267e equ 24h ; (F9F0:0024=0FDh)
|
||
= 000E data_268e equ 0Eh ; (FFFF:000E=0FCh)
|
||
|
||
;------------------------------------------------------------ seg_a ----
|
||
|
||
seg_a segment byte public
|
||
assume cs:seg_a , ds:seg_a
|
||
|
||
3BE9:0000 C501 data_6 dw 0C501h ; Data table (indexed access)
|
||
; xref 3BE9:09B2, 09CD, 1029
|
||
3BE9:0002 02 data_7 db 2 ; Data table (indexed access)
|
||
; xref 3BE9:06A9, 08FF, 0FB6, 0FD0
|
||
3BE9:0003 00 00 C5 db 00h, 00h,0C5h
|
||
3BE9:0006 02 data_8 db 2 ; xref 3BE9:0A11
|
||
3BE9:0007 00 00 02 BD 04 db 00h, 00h, 02h,0BDh, 04h
|
||
3BE9:000C 0000 data_9 dw 0 ; xref 3BE9:0809
|
||
3BE9:000E BD data_10 db 0BDh ; xref 3BE9:080E
|
||
3BE9:000F 0004 data_11 dw 4 ; xref 3BE9:02E9, 051F, 0595, 0803
|
||
3BE9:0011 00 03 00 00 db 0, 3, 0, 0
|
||
3BE9:0015 0000 data_12 dw 0
|
||
3BE9:0017 80 02 FF FF 04 10 db 80h, 02h,0FFh,0FFh, 04h, 10h
|
||
3BE9:001D 00 00 00 db 00h, 00h, 00h
|
||
3BE9:0020 10 data_13 db 10h ; xref 3BE9:063A, 0644, 0668
|
||
3BE9:0021 00 db 0
|
||
3BE9:0022 00 00 db 0, 0
|
||
3BE9:0024 00 data_15 db 0 ; xref 3BE9:0621, 062E
|
||
3BE9:0025 00 00 00 db 0, 0, 0
|
||
3BE9:0028 0000 0000 data_16 dw 0, 0 ; xref 3BE9:0770, 08A2
|
||
3BE9:002C 0022[00] db 34 dup (0)
|
||
3BE9:004E 0000 data_17 dw 0 ; Data table (indexed access)
|
||
; xref 3BE9:0C46
|
||
3BE9:0050 00 00 00 00 db 0, 0, 0, 0
|
||
3BE9:0054 0000 data_18 dw 0 ; xref 3BE9:0C35
|
||
3BE9:0056 002A[00] db 42 dup (0)
|
||
3BE9:0080 E9 02 00 4B 0C FA db 0E9h, 02h, 00h, 4Bh, 0Ch,0FAh
|
||
3BE9:0086 8E 16 15 00 BC 00 db 8Eh, 16h, 15h, 00h,0BCh, 00h
|
||
3BE9:008C 01 FB 8C D8 8E C0 db 01h,0FBh, 8Ch,0D8h, 8Eh,0C0h
|
||
3BE9:0092 A3 B3 49 C6 06 00 db 0A3h,0B3h, 49h,0C6h, 06h, 00h
|
||
3BE9:0098 01 00 BE 5D 00 B1 db 01h, 00h,0BEh, 5Dh, 00h,0B1h
|
||
3BE9:009E 0A db 0Ah
|
||
3BE9:009F loc_1: ; xref 3BE9:00AB
|
||
3BE9:009F 3C 00 cmp al,0
|
||
3BE9:00A1 74 1E je loc_2 ; Jump if equal
|
||
3BE9:00A3 26: 8A 04 mov al,es:[si]
|
||
3BE9:00A6 46 inc si
|
||
3BE9:00A7 FE C9 dec cl
|
||
3BE9:00A9 3C 20 cmp al,20h ; ' '
|
||
3BE9:00AB 74 F2 je loc_1 ; Jump if equal
|
||
3BE9:00AD 24 DF and al,0DFh
|
||
3BE9:00AF 3C 4E cmp al,4Eh ; 'N'
|
||
3BE9:00B1 75 0E jne loc_2 ; Jump if not equal
|
||
3BE9:00B3 26: 8A 04 mov al,es:[si]
|
||
3BE9:00B6 24 DF and al,0DFh
|
||
3BE9:00B8 3C 56 cmp al,56h ; 'V'
|
||
3BE9:00BA 75 05 jne loc_2 ; Jump if not equal
|
||
3BE9:00BC C6 06 0100 FF mov byte ptr ds:[100h],0FFh ; (3BE9:0100=0FFh)
|
||
3BE9:00C1 loc_2: ; xref 3BE9:00A1, 00B1, 00BA
|
||
3BE9:00C1 E8 006C call sub_2 ; (0130)
|
||
3BE9:00C4 80 3E 0101 00 cmp byte ptr ds:[101h],0 ; (3BE9:0101=97h)
|
||
3BE9:00C9 74 0B je loc_3 ; Jump if equal
|
||
3BE9:00CB E8 0B71 call sub_64 ; (0C3F)
|
||
3BE9:00CE E8 0AC6 call sub_55 ; (0B97)
|
||
3BE9:00D1 E8 0B80 call sub_65 ; (0C54)
|
||
3BE9:00D4 EB 1C jmp short loc_4 ; (00F2)
|
||
3BE9:00D6 loc_3: ; xref 3BE9:00C9
|
||
3BE9:00D6 E8 0B36 call sub_63 ; (0C0F)
|
||
3BE9:00D9 E8 00DA call sub_3 ; (01B6)
|
||
3BE9:00DC B2 96 mov dl,96h
|
||
3BE9:00DE E8 0ABE call sub_56 ; (0B9F)
|
||
3BE9:00E1 E8 0AB3 call sub_55 ; (0B97)
|
||
3BE9:00E4 E8 0ABD call sub_57 ; (0BA4)
|
||
3BE9:00E7 E8 0ADA call sub_59 ; (0BC4)
|
||
3BE9:00EA E8 0B08 call sub_61 ; (0BF5)
|
||
3BE9:00ED B2 C8 mov dl,0C8h
|
||
3BE9:00EF E8 0AAD call sub_56 ; (0B9F)
|
||
3BE9:00F2 loc_4: ; xref 3BE9:00D4
|
||
3BE9:00F2 E8 0BC6 call sub_68 ; (0CBB)
|
||
3BE9:00F5 E8 08AD call sub_39 ; (09A5)
|
||
3BE9:00F8 loc_5: ; xref 3BE9:0107
|
||
3BE9:00F8 ,BE 0265 mov si,265h ; (3BE9:0265=0C2h)
|
||
3BE9:00FB E8 0913 call sub_42 ; (0A11)
|
||
3BE9:00FE D1 E3 shl bx,1 ; Shift w/zeros fill
|
||
3BE9:0100 FF 97 01D7 call word ptr ds:[1D7h][bx] ;*(3BE9:01D7=0C704h)
|
||
3BE9:0104 E8 0A16 call sub_47 ; (0B1D)
|
||
3BE9:0107 EB EF jmp short loc_5 ; (00F8)
|
||
3BE9:0109 E8 A9 0B db 0E8h,0A9h, 0Bh
|
||
3BE9:010C loc_6: ; xref 3BE9:012E
|
||
3BE9:010C ,80 3E 0101 FF cmp byte ptr ds:[101h],0FFh ; (3BE9:0101=97h)
|
||
3BE9:0111 74 09 je loc_7 ; Jump if equal
|
||
3BE9:0113 E8 0AF0 call sub_62 ; (0C06)
|
||
3BE9:0116 E8 0ACC call sub_60 ; (0BE5)
|
||
3BE9:0119 E8 0A98 call sub_58 ; (0BB4)
|
||
3BE9:011C loc_7: ; xref 3BE9:0111
|
||
3BE9:011C 33 C9 xor cx,cx ; Zero register
|
||
3BE9:011E 33 D2 xor dx,dx ; Zero register
|
||
3BE9:0120 E9 0A2F jmp loc_92 ; (0B52)
|
||
3BE9:0123 loc_8: ; xref 3BE9:0BDA, 0C84
|
||
3BE9:0123 ,56 push si
|
||
3BE9:0124 ,BE 0103 mov si,103h ; (3BE9:0103=1)
|
||
3BE9:0127 E8 0A2B call sub_51 ; (0B55)
|
||
3BE9:012A 5E pop si
|
||
3BE9:012B E8 0A27 call sub_51 ; (0B55)
|
||
3BE9:012E EB DC jmp short loc_6 ; (010C)
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00C1
|
||
;==========================================================================
|
||
|
||
3BE9:0130 sub_2 proc near
|
||
3BE9:0130 B9 000C mov cx,0Ch
|
||
3BE9:0133 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:0135 80 E4 0F and ah,0Fh
|
||
3BE9:0138 80 FC 00 cmp ah,0
|
||
3BE9:013B 74 30 je loc_10 ; Jump if equal
|
||
3BE9:013D 80 FC 04 cmp ah,4
|
||
3BE9:0140 74 05 je loc_9 ; Jump if equal
|
||
3BE9:0142 80 FC 06 cmp ah,6
|
||
3BE9:0145 75 61 jne loc_13 ; Jump if not equal
|
||
3BE9:0147 loc_9: ; xref 3BE9:0140
|
||
3BE9:0147 B9 00A3 mov cx,0A3h
|
||
3BE9:014A CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:014C 3D 1431 cmp ax,1431h
|
||
3BE9:014F 75 57 jne loc_13 ; Jump if not equal
|
||
3BE9:0151 06 push es
|
||
3BE9:0152 33 DB xor bx,bx ; Zero register
|
||
3BE9:0154 8E C3 mov es,bx
|
||
3BE9:0156 26: C4 1E 013C les bx,dword ptr es:data_2e ; (0000:013C=0EF6Fh) Load seg:offset p
|
||
3BE9:015B 26: 8A 1F mov bl,es:[bx]
|
||
3BE9:015E 07 pop es
|
||
3BE9:015F 80 E3 F0 and bl,0F0h
|
||
3BE9:0162 80 FB 50 cmp bl,50h ; 'P'
|
||
3BE9:0165 75 41 jne loc_13 ; Jump if not equal
|
||
3BE9:0167 C6 06 0101 00 mov byte ptr ds:[101h],0 ; (3BE9:0101=97h)
|
||
3BE9:016C C3 retn
|
||
3BE9:016D loc_10: ; xref 3BE9:013B
|
||
3BE9:016D C6 06 0101 FF mov byte ptr ds:[101h],0FFh ; (3BE9:0101=97h)
|
||
3BE9:0172 3C 41 cmp al,41h ; 'A'
|
||
3BE9:0174 77 28 ja loc_12 ; Jump if above
|
||
3BE9:0176 06 push es
|
||
3BE9:0177 33 DB xor bx,bx ; Zero register
|
||
3BE9:0179 8E C3 mov es,bx
|
||
3BE9:017B 26: C4 1E 013C les bx,dword ptr es:data_2e ; (0000:013C=0EF6Fh) Load seg:offset p
|
||
3BE9:0180 26: 8A 1F mov bl,es:[bx]
|
||
3BE9:0183 07 pop es
|
||
3BE9:0184 8A FB mov bh,bl
|
||
3BE9:0186 81 E3 F00F and bx,0F00Fh
|
||
3BE9:018A 80 FF 50 cmp bh,50h ; 'P'
|
||
3BE9:018D 75 0F jne loc_12 ; Jump if not equal
|
||
3BE9:018F C6 06 0102 00 mov byte ptr ds:[102h],0 ; (3BE9:0102=0D7h)
|
||
3BE9:0194 80 FB 09 cmp bl,9
|
||
3BE9:0197 74 04 je loc_ret_11 ; Jump if equal
|
||
3BE9:0199 FE 0E 0102 dec byte ptr ds:[102h] ; (3BE9:0102=0D7h)
|
||
|
||
3BE9:019D loc_ret_11: ; xref 3BE9:0197
|
||
3BE9:019D C3 retn
|
||
3BE9:019E loc_12: ; xref 3BE9:0174, 018D
|
||
3BE9:019E BA 0149 mov dx,149h
|
||
3BE9:01A1 B9 0009 mov cx,9
|
||
3BE9:01A4 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:01A6 EB 08 jmp short loc_14 ; (01B0)
|
||
3BE9:01A8 loc_13: ; xref 3BE9:0145, 014F, 0165
|
||
3BE9:01A8 BA 0109 mov dx,109h
|
||
3BE9:01AB B9 0009 mov cx,9
|
||
3BE9:01AE CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:01B0 loc_14: ; xref 3BE9:01A6
|
||
3BE9:01B0 33 C9 xor cx,cx ; Zero register
|
||
3BE9:01B2 33 D2 xor dx,dx ; Zero register
|
||
3BE9:01B4 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
sub_2 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00D9
|
||
;==========================================================================
|
||
|
||
3BE9:01B6 sub_3 proc near
|
||
3BE9:01B6 1E push ds
|
||
3BE9:01B7 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
|
||
3BE9:01BB A0 0C3A mov al,byte ptr ds:[0C3Ah] ; (3BE9:0C3A=0A3h)
|
||
3BE9:01BE 3C 31 cmp al,31h ; '1'
|
||
3BE9:01C0 1F pop ds
|
||
3BE9:01C1 75 01 jnz loc_15 ; Jump if not zero
|
||
3BE9:01C3 C3 retn
|
||
3BE9:01C4 loc_15: ; xref 3BE9:01C1
|
||
3BE9:01C4 BA 0198 mov dx,198h
|
||
3BE9:01C7 B9 0009 mov cx,9
|
||
3BE9:01CA CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:01CC 33 C9 xor cx,cx ; Zero register
|
||
3BE9:01CE 33 D2 xor dx,dx ; Zero register
|
||
3BE9:01D0 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:01D2 loc_16: ; xref 3BE9:0210, 0220
|
||
3BE9:01D2 ,C7 06 04BF 04EA mov word ptr ds:[4BFh],4EAh ; (3BE9:04BF=3CBBh)
|
||
3BE9:01D8 C7 06 03DD 044D mov word ptr ds:[3DDh],44Dh ; (3BE9:03DD=0E0D3h)
|
||
3BE9:01DE BE 03CB mov si,3CBh
|
||
3BE9:01E1 E8 0763 call sub_37 ; (0947)
|
||
3BE9:01E4 74 2C jz loc_ret_18 ; Jump if zero
|
||
3BE9:01E6 E8 0669 call sub_25 ; (0852)
|
||
3BE9:01E9 74 28 jz loc_19 ; Jump if zero
|
||
3BE9:01EB C7 06 03DD 0484 mov word ptr ds:[3DDh],484h ; (3BE9:03DD=0E0D3h)
|
||
3BE9:01F1 BE 03CB mov si,3CBh
|
||
3BE9:01F4 E8 0750 call sub_37 ; (0947)
|
||
3BE9:01F7 74 19 jz loc_ret_18 ; Jump if zero
|
||
3BE9:01F9 E8 0661 call sub_26 ; (085D)
|
||
3BE9:01FC 74 15 jz loc_19 ; Jump if zero
|
||
3BE9:01FE E8 0708 call sub_34 ; (0909)
|
||
3BE9:0201 75 05 jnz loc_17 ; Jump if not zero
|
||
3BE9:0203 BE 05F4 mov si,5F4h
|
||
3BE9:0206 EB 0E jmp short loc_20 ; (0216)
|
||
3BE9:0208 loc_17: ; xref 3BE9:0201
|
||
3BE9:0208 E8 06B5 call sub_31 ; (08C0)
|
||
3BE9:020B 75 05 jnz loc_ret_18 ; Jump if not zero
|
||
3BE9:020D E8 0012 call sub_4 ; (0222)
|
||
3BE9:0210 EB C0 jmp short loc_16 ; (01D2)
|
||
|
||
3BE9:0212 loc_ret_18: ; xref 3BE9:01E4, 01F7, 020B
|
||
3BE9:0212 C3 retn
|
||
3BE9:0213 loc_19: ; xref 3BE9:01E9, 01FC, 0338
|
||
3BE9:0213 ,BE 0638 mov si,638h
|
||
3BE9:0216 loc_20: ; xref 3BE9:0206
|
||
3BE9:0216 89 36 0634 mov word ptr ds:[634h],si ; (3BE9:0634=0A0BEh)
|
||
3BE9:021A ,BE 062A mov si,62Ah ; (3BE9:062A=9)
|
||
3BE9:021D E8 07F1 call sub_42 ; (0A11)
|
||
3BE9:0220 EB B0 jmp short loc_16 ; (01D2)
|
||
sub_3 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:020D
|
||
;==========================================================================
|
||
|
||
3BE9:0222 sub_4 proc near
|
||
3BE9:0222 E8 05B9 call sub_24 ; (07DE)
|
||
3BE9:0225 E8 0058 call sub_6 ; (0280)
|
||
3BE9:0228 C7 06 03BC 000A mov word ptr ds:[3BCh],0Ah ; (3BE9:03BC=931h)
|
||
3BE9:022E 8B 0E 03B2 mov cx,word ptr ds:[3B2h] ; (3BE9:03B2=0FB00h)
|
||
3BE9:0232 E8 06ED call sub_35 ; (0922)
|
||
|
||
3BE9:0235 locloop_21: ; xref 3BE9:026B
|
||
3BE9:0235 51 push cx
|
||
3BE9:0236 E8 057A call sub_22 ; (07B3)
|
||
3BE9:0239 8A 0E 03BA mov cl,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
|
||
3BE9:023D E8 04CC call sub_18 ; (070C)
|
||
3BE9:0240 50 push ax
|
||
3BE9:0241 74 2D jz loc_23 ; Jump if zero
|
||
3BE9:0243 E8 06E1 call sub_36 ; (0927)
|
||
3BE9:0246 E8 0582 call sub_23 ; (07CB)
|
||
3BE9:0249 8A 0E 03BB mov cl,byte ptr ds:[3BBh] ; (3BE9:03BB=6)
|
||
3BE9:024D E8 04C4 call sub_19 ; (0714)
|
||
3BE9:0250 74 1E jz loc_23 ; Jump if zero
|
||
3BE9:0252 E8 0576 call sub_23 ; (07CB)
|
||
3BE9:0255 8A 0E 03BB mov cl,byte ptr ds:[3BBh] ; (3BE9:03BB=6)
|
||
3BE9:0259 E8 04A8 call sub_17 ; (0704)
|
||
3BE9:025C 74 12 jz loc_23 ; Jump if zero
|
||
3BE9:025E 58 pop ax
|
||
3BE9:025F 3C 02 cmp al,2
|
||
3BE9:0261 74 0B je loc_22 ; Jump if equal
|
||
3BE9:0263 FF 06 03C2 inc word ptr ds:[3C2h] ; (3BE9:03C2=9)
|
||
3BE9:0267 E8 06B8 call sub_35 ; (0922)
|
||
3BE9:026A 59 pop cx
|
||
3BE9:026B E2 C8 loop locloop_21 ; Loop if cx > 0
|
||
|
||
3BE9:026D C3 retn
|
||
3BE9:026E loc_22: ; xref 3BE9:0261
|
||
3BE9:026E 59 pop cx
|
||
3BE9:026F C3 retn
|
||
3BE9:0270 loc_23: ; xref 3BE9:0241, 0250, 025C
|
||
3BE9:0270 59 pop cx
|
||
3BE9:0271 59 pop cx
|
||
sub_4 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:02DE
|
||
;==========================================================================
|
||
|
||
3BE9:0272 sub_5 proc near
|
||
3BE9:0272 loc_24: ; xref 3BE9:06F1
|
||
3BE9:0272 ,BE 0638 mov si,638h
|
||
3BE9:0275 89 36 0634 mov word ptr ds:[634h],si ; (3BE9:0634=0A0BEh)
|
||
3BE9:0279 ,BE 062A mov si,62Ah ; (3BE9:062A=9)
|
||
3BE9:027C E8 0792 call sub_42 ; (0A11)
|
||
3BE9:027F C3 retn
|
||
sub_5 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0225
|
||
;==========================================================================
|
||
|
||
3BE9:0280 sub_6 proc near
|
||
3BE9:0280 C7 06 03C2 0000 mov word ptr ds:[3C2h],0 ; (3BE9:03C2=9)
|
||
3BE9:0286 C3 retn
|
||
sub_6 endp
|
||
|
||
;* No entry point to code
|
||
3BE9:0287 C7 06 04BF 0513 mov word ptr ds:[4BFh],513h ; (3BE9:04BF=3CBBh)
|
||
3BE9:028D C6 06 0997 00 mov byte ptr ds:[997h],0 ; (3BE9:0997=75h)
|
||
3BE9:0292 EB 0B jmp short loc_25 ; (029F)
|
||
;* No entry point to code
|
||
3BE9:0294 C7 06 04BF 053C mov word ptr ds:[4BFh],53Ch ; (3BE9:04BF=3CBBh)
|
||
3BE9:029A C6 06 0997 FF mov byte ptr ds:[997h],0FFh ; (3BE9:0997=75h)
|
||
3BE9:029F loc_25: ; xref 3BE9:0292, 02E1, 0332
|
||
3BE9:029F ,C7 06 03DD 0416 mov word ptr ds:[3DDh],416h ; (3BE9:03DD=0E0D3h)
|
||
3BE9:02A5 BE 03CB mov si,3CBh
|
||
3BE9:02A8 E8 069C call sub_37 ; (0947)
|
||
3BE9:02AB 75 03 jnz loc_26 ; Jump if not zero
|
||
3BE9:02AD E9 008B jmp loc_33 ; (033B)
|
||
3BE9:02B0 loc_26: ; xref 3BE9:02AB
|
||
3BE9:02B0 E8 0222 call sub_9 ; (04D5)
|
||
3BE9:02B3 E8 059C call sub_25 ; (0852)
|
||
3BE9:02B6 74 7D jz loc_32 ; Jump if zero
|
||
3BE9:02B8 8A 1E 03BA mov bl,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
|
||
3BE9:02BC 80 C3 41 add bl,41h ; 'A'
|
||
3BE9:02BF 88 1E 075E mov byte ptr ds:[75Eh],bl ; (3BE9:075E=51h)
|
||
3BE9:02C3 88 1E 07C7 mov byte ptr ds:[7C7h],bl ; (3BE9:07C7=3)
|
||
3BE9:02C7 E8 0618 call sub_32 ; (08E2)
|
||
3BE9:02CA 75 6F jnz loc_33 ; Jump if not zero
|
||
3BE9:02CC ,06 push es
|
||
3BE9:02CD B8 F9F0 mov ax,0F9F0h
|
||
3BE9:02D0 8E C0 mov es,ax
|
||
3BE9:02D2 26: C6 06 0020 D0 mov byte ptr es:data_266e,0D0h ; (F9F0:0020=0FBh)
|
||
3BE9:02D8 E8 009A call sub_7 ; (0375)
|
||
3BE9:02DB 07 pop es
|
||
3BE9:02DC 74 05 jz loc_27 ; Jump if zero
|
||
3BE9:02DE E8 FF91 call sub_5 ; (0272)
|
||
3BE9:02E1 EB BC jmp short loc_25 ; (029F)
|
||
3BE9:02E3 loc_27: ; xref 3BE9:02DC
|
||
3BE9:02E3 A1 03B0 mov ax,word ptr ds:[3B0h] ; (3BE9:03B0=7A2h)
|
||
3BE9:02E6 A2 03C1 mov byte ptr ds:[3C1h],al ; (3BE9:03C1=2Eh)
|
||
3BE9:02E9 A1 000F mov ax,data_11 ; (3BE9:000F=4)
|
||
3BE9:02EC A3 03C8 mov word ptr ds:[3C8h],ax ; (3BE9:03C8=386h)
|
||
3BE9:02EF 33 C0 xor ax,ax ; Zero register
|
||
3BE9:02F1 A3 03C6 mov word ptr ds:[3C6h],ax ; (3BE9:03C6=0BB04h)
|
||
3BE9:02F4 80 3E 0100 FF cmp byte ptr ds:[100h],0FFh ; (3BE9:0100=0FFh)
|
||
3BE9:02F9 74 03 je loc_28 ; Jump if equal
|
||
3BE9:02FB E8 03B7 call sub_16 ; (06B5)
|
||
3BE9:02FE loc_28: ; xref 3BE9:02F9
|
||
3BE9:02FE C6 06 099A 00 mov byte ptr ds:[99Ah],0 ; (3BE9:099A=1Ch)
|
||
3BE9:0303 loc_29: ; xref 3BE9:0317, 0322
|
||
3BE9:0303 ,E8 02A3 call sub_13 ; (05A9)
|
||
3BE9:0306 3C 00 cmp al,0
|
||
3BE9:0308 74 1B je loc_30 ; Jump if equal
|
||
3BE9:030A 80 3E 099A 05 cmp byte ptr ds:[99Ah],5 ; (3BE9:099A=1Ch)
|
||
3BE9:030F 74 24 je loc_32 ; Jump if equal
|
||
3BE9:0311 FE 06 099A inc byte ptr ds:[99Ah] ; (3BE9:099A=1Ch)
|
||
3BE9:0315 3C FF cmp al,0FFh
|
||
3BE9:0317 75 EA jne loc_29 ; Jump if not equal
|
||
3BE9:0319 8A 0E 03BA mov cl,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
|
||
3BE9:031D B2 00 mov dl,0
|
||
3BE9:031F E8 0574 call sub_28 ; (0896)
|
||
3BE9:0322 E9 FFDE ;* jmp loc_29 ; (0303)
|
||
3BE9:0322 db 0E9h,0DEh,0FFh ; Fixup - byte match
|
||
3BE9:0325 loc_30: ; xref 3BE9:0308
|
||
3BE9:0325 80 3E 0997 00 cmp byte ptr ds:[997h],0 ; (3BE9:0997=75h)
|
||
3BE9:032A 74 03 je loc_31 ; Jump if equal
|
||
3BE9:032C E8 01E3 call sub_11 ; (0512)
|
||
3BE9:032F loc_31: ; xref 3BE9:032A
|
||
3BE9:032F E8 01C4 call sub_10 ; (04F6)
|
||
3BE9:0332 E9 FF6A jmp loc_25 ; (029F)
|
||
3BE9:0335 loc_32: ; xref 3BE9:02B6, 030F
|
||
3BE9:0335 E8 01BE call sub_10 ; (04F6)
|
||
3BE9:0338 E9 FED8 jmp loc_19 ; (0213)
|
||
3BE9:033B loc_33: ; xref 3BE9:02AD, 02CA
|
||
3BE9:033B E8 01B8 call sub_10 ; (04F6)
|
||
3BE9:033E C3 retn
|
||
;* No entry point to code
|
||
3BE9:033F 06 push es
|
||
3BE9:0340 55 push bp
|
||
3BE9:0341 8B EC mov bp,sp
|
||
3BE9:0343 C4 6E 04 les bp,dword ptr [bp+4] ; Load seg:offset ptr
|
||
3BE9:0346 26: 81 7E 00 A49B cmp word ptr es:[bp],0A49Bh
|
||
3BE9:034C 75 06 jne loc_34 ; Jump if not equal
|
||
3BE9:034E 8B EC mov bp,sp
|
||
3BE9:0350 83 46 04 05 add word ptr [bp+4],5
|
||
3BE9:0354 loc_34: ; xref 3BE9:034C
|
||
3BE9:0354 5D pop bp
|
||
3BE9:0355 50 push ax
|
||
3BE9:0356 B8 F9F0 mov ax,0F9F0h
|
||
3BE9:0359 8E C0 mov es,ax
|
||
3BE9:035B 26: A0 0020 mov al,es:data_266e ; (F9F0:0020=0FBh)
|
||
3BE9:035F 26: C6 06 0006 64 mov byte ptr es:data_264e,64h ; (F9F0:0006=3) 'd'
|
||
3BE9:0365 2E: 8E 06 02F3 mov es,word ptr cs:[2F3h] ; (3BE9:02F3=8003h)
|
||
3BE9:036A 26: C6 06 0999 01 mov byte ptr es:data_263e,1 ; (8003:0999=0)
|
||
3BE9:0370 58 pop ax
|
||
3BE9:0371 07 pop es
|
||
3BE9:0372 CF iret ; Interrupt return
|
||
3BE9:0373 00 00 db 0, 0
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:02D8
|
||
;==========================================================================
|
||
|
||
3BE9:0375 sub_7 proc near
|
||
3BE9:0375 06 push es
|
||
3BE9:0376 FA cli ; Disable interrupts
|
||
3BE9:0377 8C D8 mov ax,ds
|
||
3BE9:0379 2E: A3 02F3 mov word ptr cs:[2F3h],ax ; (3BE9:02F3=8003h)
|
||
3BE9:037D 33 C0 xor ax,ax ; Zero register
|
||
3BE9:037F 8E C0 mov es,ax
|
||
3BE9:0381 ,BB 0150 mov bx,data_3e ; (0000:0150=73h)
|
||
3BE9:0384 26: 8B 07 mov ax,es:[bx]
|
||
3BE9:0387 A3 099C mov word ptr ds:[99Ch],ax ; (3BE9:099C=346h)
|
||
3BE9:038A 26: 8B 47 02 mov ax,es:[bx+2]
|
||
3BE9:038E A3 099E mov word ptr ds:[99Eh],ax ; (3BE9:099E=0B8F0h)
|
||
3BE9:0391 B8 02BF mov ax,2BFh
|
||
3BE9:0394 26: 89 07 mov es:[bx],ax
|
||
3BE9:0397 26: 8C 4F 02 mov es:[bx+2],cs
|
||
3BE9:039B ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
|
||
3BE9:039E 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
|
||
3BE9:03A1 26: 8A 47 0B mov al,es:[bx+0Bh]
|
||
3BE9:03A5 A2 099B mov byte ptr ds:[99Bh],al ; (3BE9:099B=46h)
|
||
3BE9:03A8 B0 EF mov al,0EFh
|
||
3BE9:03AA BB F9F0 mov bx,0F9F0h
|
||
3BE9:03AD 8E C3 mov es,bx
|
||
3BE9:03AF 26: A2 0007 mov es:data_265e,al ; (F9F0:0007=3)
|
||
3BE9:03B3 FB sti ; Enable interrupts
|
||
3BE9:03B4 07 pop es
|
||
3BE9:03B5 C6 06 0993 01 mov byte ptr ds:[993h],1 ; (3BE9:0993=7)
|
||
3BE9:03BA C6 06 0931 00 mov byte ptr ds:[931h],0 ; (3BE9:0931=75h)
|
||
3BE9:03BF C6 06 092E 00 mov byte ptr ds:[92Eh],0 ; (3BE9:092E=6)
|
||
3BE9:03C4 E8 0417 call sub_24 ; (07DE)
|
||
3BE9:03C7 ,BB 0386 mov bx,386h ; (3BE9:0386=7)
|
||
3BE9:03CA 8B 47 0D mov ax,[bx+0Dh]
|
||
3BE9:03CD A2 0995 mov byte ptr ds:[995h],al ; (3BE9:0995=0E0h)
|
||
3BE9:03D0 8B 07 mov ax,[bx]
|
||
3BE9:03D2 D1 E8 shr ax,1 ; Shift w/zeros fill
|
||
3BE9:03D4 A2 0996 mov byte ptr ds:[996h],al ; (3BE9:0996=0BEh)
|
||
3BE9:03D7 B8 0080 mov ax,80h
|
||
3BE9:03DA 8A 4F 0F mov cl,[bx+0Fh]
|
||
3BE9:03DD D3 E0 shl ax,cl ; Shift w/zeros fill
|
||
3BE9:03DF B1 20 mov cl,20h ; ' '
|
||
3BE9:03E1 F6 F1 div cl ; al, ah rem = ax/reg
|
||
3BE9:03E3 8B 4F 07 mov cx,[bx+7]
|
||
3BE9:03E6 41 inc cx
|
||
3BE9:03E7 91 xchg cx,ax
|
||
3BE9:03E8 33 D2 xor dx,dx ; Zero register
|
||
3BE9:03EA F7 F1 div cx ; ax,dx rem=dx:ax/reg
|
||
3BE9:03EC A2 0994 mov byte ptr ds:[994h],al ; (3BE9:0994=0D1h)
|
||
3BE9:03EF C7 06 0857 089E mov word ptr ds:[857h],89Eh ; (3BE9:0857=0BA03h)
|
||
3BE9:03F5 C7 06 03C2 0000 mov word ptr ds:[3C2h],0 ; (3BE9:03C2=9)
|
||
3BE9:03FB B8 F9F0 mov ax,0F9F0h
|
||
3BE9:03FE 8E C0 mov es,ax
|
||
3BE9:0400 A0 03BA mov al,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
|
||
3BE9:0403 FE C0 inc al
|
||
3BE9:0405 0C 40 or al,40h ; '@'
|
||
3BE9:0407 26: A2 0024 mov es:data_267e,al ; (F9F0:0024=0FDh)
|
||
3BE9:040B 26: F6 06 0020 80 test byte ptr es:data_266e,80h ; (F9F0:0020=0FBh)
|
||
3BE9:0411 74 03 jz loc_35 ; Jump if zero
|
||
3BE9:0413 E9 007C jmpn loc_43 ; (0492)
|
||
3BE9:0416 loc_35: ; xref 3BE9:0411, 048F
|
||
3BE9:0416 ,E8 04CE call sub_33 ; (08E7)
|
||
3BE9:0419 loc_36: ; xref 3BE9:048C
|
||
3BE9:0419 ,FC cld ; Clear direction
|
||
3BE9:041A C6 06 0934 01 mov byte ptr ds:[934h],1 ; (3BE9:0934=36h)
|
||
3BE9:041F ,BF 09A0 mov di,9A0h ; (3BE9:09A0=0CDh)
|
||
3BE9:0422 1E push ds
|
||
3BE9:0423 07 pop es
|
||
3BE9:0424 ,BE 0914 mov si,914h ; (3BE9:0914=0B9h)
|
||
3BE9:0427 B2 05 mov dl,5
|
||
3BE9:0429 loc_37: ; xref 3BE9:0430
|
||
3BE9:0429 AD lodsw ; String [si] to ax
|
||
3BE9:042A 91 xchg cx,ax
|
||
3BE9:042B AC lodsb ; String [si] to al
|
||
3BE9:042C F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
|
||
3BE9:042E FE CA dec dl
|
||
3BE9:0430 75 F7 jnz loc_37 ; Jump if not zero
|
||
3BE9:0432 8A 36 0996 mov dh,byte ptr ds:[996h] ; (3BE9:0996=0BEh)
|
||
3BE9:0436 loc_38: ; xref 3BE9:044A
|
||
3BE9:0436 B2 0F mov dl,0Fh
|
||
3BE9:0438 ,BE 0923 mov si,923h ; (3BE9:0923=11h)
|
||
3BE9:043B loc_39: ; xref 3BE9:0442
|
||
3BE9:043B AD lodsw ; String [si] to ax
|
||
3BE9:043C 91 xchg cx,ax
|
||
3BE9:043D AC lodsb ; String [si] to al
|
||
3BE9:043E F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
|
||
3BE9:0440 FE CA dec dl
|
||
3BE9:0442 75 F7 jnz loc_39 ; Jump if not zero
|
||
3BE9:0444 FE 06 0934 inc byte ptr ds:[934h] ; (3BE9:0934=36h)
|
||
3BE9:0448 FE CE dec dh
|
||
3BE9:044A 75 EA jnz loc_38 ; Jump if not zero
|
||
3BE9:044C B9 09A0 mov cx,9A0h
|
||
3BE9:044F 81 C1 2000 add cx,2000h
|
||
3BE9:0453 2B CF sub cx,di
|
||
3BE9:0455 46 inc si
|
||
3BE9:0456 46 inc si
|
||
3BE9:0457 AC lodsb ; String [si] to al
|
||
3BE9:0458 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
|
||
3BE9:045A E8 0178 call sub_14 ; (05D5)
|
||
3BE9:045D 75 33 jnz loc_43 ; Jump if not zero
|
||
3BE9:045F 80 3E 0931 00 cmp byte ptr ds:[931h],0 ; (3BE9:0931=75h)
|
||
3BE9:0464 75 07 jne loc_40 ; Jump if not equal
|
||
3BE9:0466 C6 06 0931 01 mov byte ptr ds:[931h],1 ; (3BE9:0931=75h)
|
||
3BE9:046B EB 0D jmp short loc_41 ; (047A)
|
||
3BE9:046D loc_40: ; xref 3BE9:0464
|
||
3BE9:046D C6 06 0931 00 mov byte ptr ds:[931h],0 ; (3BE9:0931=75h)
|
||
3BE9:0472 FE 06 092E inc byte ptr ds:[92Eh] ; (3BE9:092E=6)
|
||
3BE9:0476 FF 06 03C2 inc word ptr ds:[3C2h] ; (3BE9:03C2=9)
|
||
3BE9:047A loc_41: ; xref 3BE9:046B
|
||
3BE9:047A 33 C0 xor ax,ax ; Zero register
|
||
3BE9:047C A0 092E mov al,byte ptr ds:[92Eh] ; (3BE9:092E=6)
|
||
3BE9:047F 3B 06 03AE cmp ax,word ptr ds:[3AEh] ; (3BE9:03AE=26C3h)
|
||
3BE9:0483 77 1B ja loc_44 ; Jump if above
|
||
3BE9:0485 80 3E 0931 00 cmp byte ptr ds:[931h],0 ; (3BE9:0931=75h)
|
||
3BE9:048A 74 03 je loc_42 ; Jump if equal
|
||
3BE9:048C E9 FF8A ;* jmp loc_36 ; (0419)
|
||
3BE9:048C db 0E9h, 8Ah,0FFh ; Fixup - byte match
|
||
3BE9:048F loc_42: ; xref 3BE9:048A
|
||
3BE9:048F E9 FF84 ;* jmp loc_35 ; (0416)
|
||
3BE9:048F db 0E9h, 84h,0FFh ; Fixup - byte match
|
||
3BE9:0492 loc_43: ; xref 3BE9:0413, 045D
|
||
3BE9:0492 26: 80 26 0024 40 and byte ptr es:data_267e,40h ; (F9F0:0024=0FDh) '@'
|
||
3BE9:0498 E8 000B call sub_8 ; (04A6)
|
||
3BE9:049B B0 01 mov al,1
|
||
3BE9:049D 0A C0 or al,al ; Zero ?
|
||
3BE9:049F C3 retn
|
||
3BE9:04A0 loc_44: ; xref 3BE9:0483
|
||
3BE9:04A0 E8 0003 call sub_8 ; (04A6)
|
||
3BE9:04A3 33 C0 xor ax,ax ; Zero register
|
||
3BE9:04A5 C3 retn
|
||
sub_7 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0498, 04A0
|
||
;==========================================================================
|
||
|
||
3BE9:04A6 sub_8 proc near
|
||
3BE9:04A6 06 push es
|
||
3BE9:04A7 FA cli ; Disable interrupts
|
||
3BE9:04A8 33 C0 xor ax,ax ; Zero register
|
||
3BE9:04AA 8E C0 mov es,ax
|
||
3BE9:04AC A1 099C mov ax,word ptr ds:[99Ch] ; (3BE9:099C=346h)
|
||
3BE9:04AF ,BB 0150 mov bx,data_3e ; (0000:0150=73h)
|
||
3BE9:04B2 26: 89 07 mov es:[bx],ax
|
||
3BE9:04B5 A1 099E mov ax,word ptr ds:[99Eh] ; (3BE9:099E=0B8F0h)
|
||
3BE9:04B8 26: 89 47 02 mov es:[bx+2],ax
|
||
3BE9:04BC A0 099B mov al,byte ptr ds:[99Bh] ; (3BE9:099B=46h)
|
||
3BE9:04BF ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
|
||
3BE9:04C2 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
|
||
3BE9:04C5 26: 88 47 0B mov es:[bx+0Bh],al
|
||
3BE9:04C9 BB F9F0 mov bx,0F9F0h
|
||
3BE9:04CC 8E C3 mov es,bx
|
||
3BE9:04CE 26: A2 0007 mov es:data_265e,al ; (F9F0:0007=3)
|
||
3BE9:04D2 FB sti ; Enable interrupts
|
||
3BE9:04D3 07 pop es
|
||
3BE9:04D4 C3 retn
|
||
sub_8 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:02B0
|
||
;==========================================================================
|
||
|
||
3BE9:04D5 sub_9 proc near
|
||
3BE9:04D5 06 push es
|
||
3BE9:04D6 53 push bx
|
||
3BE9:04D7 50 push ax
|
||
3BE9:04D8 9C pushf ; Push flags
|
||
3BE9:04D9 FA cli ; Disable interrupts
|
||
3BE9:04DA 33 DB xor bx,bx ; Zero register
|
||
3BE9:04DC 8E C3 mov es,bx
|
||
3BE9:04DE ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
|
||
3BE9:04E1 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
|
||
3BE9:04E4 26: 8A 67 0F mov ah,es:[bx+0Fh]
|
||
3BE9:04E8 88 26 03CA mov byte ptr ds:[3CAh],ah ; (3BE9:03CA=8Bh)
|
||
3BE9:04EC 26: C6 47 0F FF mov byte ptr es:[bx+0Fh],0FFh
|
||
3BE9:04F1 9D popf ; Pop flags
|
||
3BE9:04F2 58 pop ax
|
||
3BE9:04F3 5B pop bx
|
||
3BE9:04F4 07 pop es
|
||
3BE9:04F5 C3 retn
|
||
sub_9 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:032F, 0335, 033B
|
||
;==========================================================================
|
||
|
||
3BE9:04F6 sub_10 proc near
|
||
3BE9:04F6 06 push es
|
||
3BE9:04F7 53 push bx
|
||
3BE9:04F8 50 push ax
|
||
3BE9:04F9 9C pushf ; Push flags
|
||
3BE9:04FA FA cli ; Disable interrupts
|
||
3BE9:04FB 33 DB xor bx,bx ; Zero register
|
||
3BE9:04FD 8E C3 mov es,bx
|
||
3BE9:04FF ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
|
||
3BE9:0502 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
|
||
3BE9:0505 8A 26 03CA mov ah,byte ptr ds:[3CAh] ; (3BE9:03CA=8Bh)
|
||
3BE9:0509 26: 88 67 0F mov es:[bx+0Fh],ah
|
||
3BE9:050D 9D popf ; Pop flags
|
||
3BE9:050E 58 pop ax
|
||
3BE9:050F 5B pop bx
|
||
3BE9:0510 07 pop es
|
||
3BE9:0511 C3 retn
|
||
sub_10 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:032C
|
||
;==========================================================================
|
||
|
||
3BE9:0512 sub_11 proc near
|
||
3BE9:0512 E8 007E call sub_12 ; (0593)
|
||
3BE9:0515 A0 0995 mov al,byte ptr ds:[995h] ; (3BE9:0995=0E0h)
|
||
3BE9:0518 2A E4 sub ah,ah
|
||
3BE9:051A A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
|
||
3BE9:051D 8C C5 mov bp,es
|
||
3BE9:051F 8E 06 000F mov es,data_11 ; (3BE9:000F=4)
|
||
3BE9:0523 B9 0020 mov cx,20h
|
||
3BE9:0526 33 FF xor di,di ; Zero register
|
||
3BE9:0528 ,BE 0953 mov si,953h ; (3BE9:0953=34h)
|
||
3BE9:052B F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:052D loc_45: ; xref 3BE9:0590
|
||
3BE9:052D A1 03A8 mov ax,word ptr ds:[3A8h] ; (3BE9:03A8=0EFB0h)
|
||
3BE9:0530 99 cwd ; Word to double word
|
||
3BE9:0531 2A FF sub bh,bh
|
||
3BE9:0533 B3 20 mov bl,20h ; ' '
|
||
3BE9:0535 33 D2 xor dx,dx ; Zero register
|
||
3BE9:0537 F7 F3 div bx ; ax,dx rem=dx:ax/reg
|
||
3BE9:0539 D1 E8 shr ax,1 ; Shift w/zeros fill
|
||
3BE9:053B D1 E8 shr ax,1 ; Shift w/zeros fill
|
||
3BE9:053D 91 xchg cx,ax
|
||
3BE9:053E 33 FF xor di,di ; Zero register
|
||
|
||
3BE9:0540 locloop_46: ; xref 3BE9:054D
|
||
3BE9:0540 51 push cx
|
||
3BE9:0541 83 C7 60 add di,60h
|
||
3BE9:0544 B9 0020 mov cx,20h
|
||
3BE9:0547 ,BE 0973 mov si,973h ; (3BE9:0973=47h)
|
||
3BE9:054A F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:054C 59 pop cx
|
||
3BE9:054D E2 F1 loop locloop_46 ; Loop if cx > 0
|
||
|
||
3BE9:054F 8C 06 03C8 mov word ptr ds:[3C8h],es ; (3BE9:03C8=386h)
|
||
3BE9:0553 8E C5 mov es,bp
|
||
3BE9:0555 C7 06 03C6 0000 mov word ptr ds:[3C6h],0 ; (3BE9:03C6=0BB04h)
|
||
3BE9:055B C7 06 03C4 0000 mov word ptr ds:[3C4h],0 ; (3BE9:03C4=17E8h)
|
||
3BE9:0561 C7 06 03BC 000B mov word ptr ds:[3BCh],0Bh ; (3BE9:03BC=931h)
|
||
3BE9:0567 2A E4 sub ah,ah
|
||
3BE9:0569 A0 0994 mov al,byte ptr ds:[994h] ; (3BE9:0994=0D1h)
|
||
3BE9:056C 2B 06 03B0 sub ax,word ptr ds:[3B0h] ; (3BE9:03B0=7A2h)
|
||
3BE9:0570 8B 1E 03B0 mov bx,word ptr ds:[3B0h] ; (3BE9:03B0=7A2h)
|
||
3BE9:0574 88 1E 03C1 mov byte ptr ds:[3C1h],bl ; (3BE9:03C1=2Eh)
|
||
3BE9:0578 77 08 ja loc_47 ; Jump if above
|
||
3BE9:057A A0 0994 mov al,byte ptr ds:[994h] ; (3BE9:0994=0D1h)
|
||
3BE9:057D A2 03C1 mov byte ptr ds:[3C1h],al ; (3BE9:03C1=2Eh)
|
||
3BE9:0580 2A C0 sub al,al
|
||
3BE9:0582 loc_47: ; xref 3BE9:0578
|
||
3BE9:0582 A2 0994 mov byte ptr ds:[994h],al ; (3BE9:0994=0D1h)
|
||
3BE9:0585 E8 01BE call sub_20 ; (0746)
|
||
3BE9:0588 E8 0008 call sub_12 ; (0593)
|
||
3BE9:058B A0 0994 mov al,byte ptr ds:[994h] ; (3BE9:0994=0D1h)
|
||
3BE9:058E 0A C0 or al,al ; Zero ?
|
||
3BE9:0590 75 9B jnz loc_45 ; Jump if not zero
|
||
3BE9:0592 C3 retn
|
||
sub_11 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0512, 0588
|
||
;==========================================================================
|
||
|
||
3BE9:0593 sub_12 proc near
|
||
3BE9:0593 8C C5 mov bp,es
|
||
3BE9:0595 8E 06 000F mov es,data_11 ; (3BE9:000F=4)
|
||
3BE9:0599 33 FF xor di,di ; Zero register
|
||
3BE9:059B 8B 0E 03A8 mov cx,word ptr ds:[3A8h] ; (3BE9:03A8=0EFB0h)
|
||
3BE9:059F D1 E9 shr cx,1 ; Shift w/zeros fill
|
||
3BE9:05A1 B8 E5E5 mov ax,0E5E5h
|
||
3BE9:05A4 F3/ AB rep stosw ; Rep when cx >0 Store ax to es:[di]
|
||
3BE9:05A6 8E C5 mov es,bp
|
||
3BE9:05A8 C3 retn
|
||
sub_12 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0303
|
||
;==========================================================================
|
||
|
||
3BE9:05A9 sub_13 proc near
|
||
3BE9:05A9 C7 06 03C2 0000 mov word ptr ds:[3C2h],0 ; (3BE9:03C2=9)
|
||
3BE9:05AF C7 06 03C4 0000 mov word ptr ds:[3C4h],0 ; (3BE9:03C4=17E8h)
|
||
3BE9:05B5 C7 06 03C6 0C4B mov word ptr ds:[3C6h],0C4Bh ; (3BE9:03C6=0BB04h)
|
||
3BE9:05BB 8C 0E 03C8 mov word ptr ds:[3C8h],cs ; (3BE9:03C8=386h)
|
||
3BE9:05BF C7 06 03BC 000B mov word ptr ds:[3BCh],0Bh ; (3BE9:03BC=931h)
|
||
3BE9:05C5 A0 03BA mov al,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
|
||
3BE9:05C8 A2 03BE mov byte ptr ds:[3BEh],al ; (3BE9:03BE=0)
|
||
3BE9:05CB B8 0010 mov ax,10h
|
||
3BE9:05CE A2 03C1 mov byte ptr ds:[3C1h],al ; (3BE9:03C1=2Eh)
|
||
3BE9:05D1 E8 0172 call sub_20 ; (0746)
|
||
3BE9:05D4 C3 retn
|
||
sub_13 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:045A
|
||
;==========================================================================
|
||
|
||
3BE9:05D5 sub_14 proc near
|
||
3BE9:05D5 B8 F9F0 mov ax,0F9F0h
|
||
3BE9:05D8 8E C0 mov es,ax
|
||
3BE9:05DA 26: F6 06 0020 01 test byte ptr es:data_266e,1 ; (F9F0:0020=0FBh)
|
||
3BE9:05E0 74 05 jz loc_49 ; Jump if zero
|
||
3BE9:05E2 loc_48: ; xref 3BE9:064C
|
||
3BE9:05E2 B0 01 mov al,1
|
||
3BE9:05E4 0A C0 or al,al ; Zero ?
|
||
3BE9:05E6 C3 retn
|
||
3BE9:05E7 loc_49: ; xref 3BE9:05E0
|
||
3BE9:05E7 80 3E 0931 00 cmp byte ptr ds:[931h],0 ; (3BE9:0931=75h)
|
||
3BE9:05EC 9C pushf ; Push flags
|
||
3BE9:05ED 80 3E 092E 00 cmp byte ptr ds:[92Eh],0 ; (3BE9:092E=6)
|
||
3BE9:05F2 75 19 jne loc_50 ; Jump if not equal
|
||
3BE9:05F4 9D popf ; Pop flags
|
||
3BE9:05F5 75 1E jnz loc_51 ; Jump if not zero
|
||
3BE9:05F7 B2 48 mov dl,48h ; 'H'
|
||
3BE9:05F9 E8 0067 call sub_15 ; (0663)
|
||
3BE9:05FC B2 48 mov dl,48h ; 'H'
|
||
3BE9:05FE E8 0062 call sub_15 ; (0663)
|
||
3BE9:0601 B2 48 mov dl,48h ; 'H'
|
||
3BE9:0603 E8 005D call sub_15 ; (0663)
|
||
3BE9:0606 B2 08 mov dl,8
|
||
3BE9:0608 E8 0058 call sub_15 ; (0663)
|
||
3BE9:060B EB 08 jmp short loc_51 ; (0615)
|
||
3BE9:060D loc_50: ; xref 3BE9:05F2
|
||
3BE9:060D 9D popf ; Pop flags
|
||
3BE9:060E 75 05 jnz loc_51 ; Jump if not zero
|
||
3BE9:0610 B2 48 mov dl,48h ; 'H'
|
||
3BE9:0612 E8 004E call sub_15 ; (0663)
|
||
3BE9:0615 loc_51: ; xref 3BE9:05F5, 060B, 060E
|
||
3BE9:0615 B2 F0 mov dl,0F0h
|
||
3BE9:0617 80 3E 0931 00 cmp byte ptr ds:[931h],0 ; (3BE9:0931=75h)
|
||
3BE9:061C 74 03 je loc_52 ; Jump if equal
|
||
3BE9:061E 80 CA 02 or dl,2
|
||
3BE9:0621 loc_52: ; xref 3BE9:061C
|
||
3BE9:0621 26: 80 26 0024 EF and es:data_15,0EFh ; (3BE9:0024=0)
|
||
3BE9:0627 80 3E 092E 20 cmp byte ptr ds:[92Eh],20h ; (3BE9:092E=6) ' '
|
||
3BE9:062C 72 06 jb loc_53 ; Jump if below
|
||
3BE9:062E 26: 80 0E 0024 10 or es:data_15,10h ; (3BE9:0024=0)
|
||
3BE9:0634 loc_53: ; xref 3BE9:062C
|
||
3BE9:0634 BE 09A0 mov si,9A0h
|
||
3BE9:0637 BF 0023 mov di,23h
|
||
3BE9:063A 26: 88 16 0020 mov es:data_13,dl ; (3BE9:0020=10h)
|
||
3BE9:063F B9 FFFF mov cx,0FFFFh
|
||
3BE9:0642 8B D9 mov bx,cx
|
||
|
||
3BE9:0644 locloop_54: ; xref 3BE9:064A
|
||
3BE9:0644 26: A0 0020 mov al,es:data_13 ; (3BE9:0020=10h)
|
||
3BE9:0648 A8 01 test al,1
|
||
3BE9:064A E1 F8 loopz locloop_54 ; Loop if zf=1, cx>0
|
||
|
||
3BE9:064C E3 94 jcxz loc_48 ; Jump if cx=0
|
||
3BE9:064E 8B CB mov cx,bx
|
||
3BE9:0650 9B A4 4F E2 FB 26 db 9Bh,0A4h, 4Fh,0E2h,0FBh, 26h
|
||
3BE9:0656 A0 20 00 A8 40 74 db 0A0h, 20h, 00h,0A8h, 40h, 74h
|
||
3BE9:065C 03 0A C0 C3 33 C0 db 03h, 0Ah,0C0h,0C3h, 33h,0C0h
|
||
3BE9:0662 C3 db 0C3h
|
||
sub_14 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:05F9, 05FE, 0603, 0608, 0612
|
||
;==========================================================================
|
||
|
||
3BE9:0663 sub_15 proc near
|
||
3BE9:0663 C6 06 0999 00 mov byte ptr ds:[999h],0 ; (3BE9:0999=89h)
|
||
3BE9:0668 26: 88 16 0020 mov es:data_13,dl ; (3BE9:0020=10h)
|
||
3BE9:066D loc_55: ; xref 3BE9:0672
|
||
3BE9:066D A0 0999 mov al,byte ptr ds:[999h] ; (3BE9:0999=89h)
|
||
3BE9:0670 0A C0 or al,al ; Zero ?
|
||
3BE9:0672 74 F9 jz loc_55 ; Jump if zero
|
||
3BE9:0674 C3 retn
|
||
sub_15 endp
|
||
|
||
3BE9:0675 loc_56: ; xref 3BE9:06B2, 0701
|
||
3BE9:0675 ,C7 06 04BF 04C1 mov word ptr ds:[4BFh],4C1h ; (3BE9:04BF=3CBBh)
|
||
3BE9:067B C7 06 03DD 03DF mov word ptr ds:[3DDh],3DFh ; (3BE9:03DD=0E0D3h)
|
||
3BE9:0681 BE 03CB mov si,3CBh
|
||
3BE9:0684 E8 02C0 call sub_37 ; (0947)
|
||
3BE9:0687 74 2B jz loc_ret_58 ; Jump if zero
|
||
3BE9:0689 E8 01C6 call sub_25 ; (0852)
|
||
3BE9:068C 75 03 jnz loc_57 ; Jump if not zero
|
||
3BE9:068E E9 0063 jmpn loc_62 ; (06F4)
|
||
3BE9:0691 loc_57: ; xref 3BE9:068C
|
||
3BE9:0691 E8 014A call sub_24 ; (07DE)
|
||
3BE9:0694 E8 011C call sub_22 ; (07B3)
|
||
3BE9:0697 C7 06 03C2 0000 mov word ptr ds:[3C2h],0 ; (3BE9:03C2=9)
|
||
3BE9:069D E8 047D call sub_47 ; (0B1D)
|
||
3BE9:06A0 A0 075E mov al,byte ptr ds:[75Eh] ; (3BE9:075E=51h)
|
||
3BE9:06A3 A2 08DE mov byte ptr ds:[8DEh],al ; (3BE9:08DE=3Ch)
|
||
3BE9:06A6 ,BE 08B1 mov si,8B1h ; (3BE9:08B1=1Eh)
|
||
3BE9:06A9 ,BB 0002 mov bx,offset data_7 ; (3BE9:0002=2)
|
||
3BE9:06AC E8 0391 call sub_44 ; (0A40)
|
||
3BE9:06AF E8 0003 call sub_16 ; (06B5)
|
||
3BE9:06B2 EB C1 jmp short loc_56 ; (0675)
|
||
|
||
3BE9:06B4 loc_ret_58: ; xref 3BE9:0687
|
||
3BE9:06B4 C3 retn
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:02FB, 06AF
|
||
;==========================================================================
|
||
|
||
3BE9:06B5 sub_16 proc near
|
||
3BE9:06B5 33 C0 xor ax,ax ; Zero register
|
||
3BE9:06B7 A3 03B8 mov word ptr ds:[3B8h],ax ; (3BE9:03B8=109h)
|
||
3BE9:06BA A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
|
||
3BE9:06BD B8 000A mov ax,0Ah
|
||
3BE9:06C0 A3 03BC mov word ptr ds:[3BCh],ax ; (3BE9:03BC=931h)
|
||
3BE9:06C3 8A 0E 03BA mov cl,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
|
||
3BE9:06C7 88 0E 03BE mov byte ptr ds:[3BEh],cl ; (3BE9:03BE=0)
|
||
3BE9:06CB E8 01DB call sub_29 ; (08A9)
|
||
3BE9:06CE 74 21 jz loc_61 ; Jump if zero
|
||
3BE9:06D0 BE 088B mov si,88Bh
|
||
3BE9:06D3 89 36 0857 mov word ptr ds:[857h],si ; (3BE9:0857=0BA03h)
|
||
3BE9:06D7 loc_59: ; xref 3BE9:06EE
|
||
3BE9:06D7 ,E8 020D call sub_33 ; (08E7)
|
||
3BE9:06DA E8 0069 call sub_20 ; (0746)
|
||
3BE9:06DD 0A C0 or al,al ; Zero ?
|
||
3BE9:06DF 75 10 jnz loc_61 ; Jump if not zero
|
||
3BE9:06E1 A1 03C2 mov ax,word ptr ds:[3C2h] ; (3BE9:03C2=9)
|
||
3BE9:06E4 40 inc ax
|
||
3BE9:06E5 3B 06 03AE cmp ax,word ptr ds:[3AEh] ; (3BE9:03AE=26C3h)
|
||
3BE9:06E9 77 05 ja loc_ret_60 ; Jump if above
|
||
3BE9:06EB A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
|
||
3BE9:06EE EB E7 jmp short loc_59 ; (06D7)
|
||
|
||
3BE9:06F0 loc_ret_60: ; xref 3BE9:06E9
|
||
3BE9:06F0 C3 retn
|
||
3BE9:06F1 loc_61: ; xref 3BE9:06CE, 06DF
|
||
3BE9:06F1 E9 FB7E jmp loc_24 ; (0272)
|
||
sub_16 endp
|
||
|
||
3BE9:06F4 loc_62: ; xref 3BE9:068E
|
||
3BE9:06F4 BE 0638 mov si,638h
|
||
3BE9:06F7 89 36 0634 mov word ptr ds:[634h],si ; (3BE9:0634=0A0BEh)
|
||
3BE9:06FB ,BE 062A mov si,62Ah ; (3BE9:062A=9)
|
||
3BE9:06FE E8 0310 call sub_42 ; (0A11)
|
||
3BE9:0701 E9 FF71 jmp loc_56 ; (0675)
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0259
|
||
;==========================================================================
|
||
|
||
3BE9:0704 sub_17 proc near
|
||
3BE9:0704 B8 000A mov ax,0Ah
|
||
3BE9:0707 BE 088B mov si,88Bh
|
||
3BE9:070A EB 0E jmp short loc_63 ; (071A)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:023D
|
||
|
||
3BE9:070C sub_18:
|
||
3BE9:070C B8 000A mov ax,0Ah
|
||
3BE9:070F BE 0865 mov si,865h
|
||
3BE9:0712 EB 06 jmp short loc_63 ; (071A)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:024D
|
||
|
||
3BE9:0714 sub_19:
|
||
3BE9:0714 B8 000B mov ax,0Bh
|
||
3BE9:0717 ,BE 0878 mov si,878h ; (3BE9:0878=26h)
|
||
3BE9:071A loc_63: ; xref 3BE9:070A, 0712
|
||
3BE9:071A C7 06 03B4 0000 mov word ptr ds:[3B4h],0 ; (3BE9:03B4=0C607h)
|
||
3BE9:0720 A3 03BC mov word ptr ds:[3BCh],ax ; (3BE9:03BC=931h)
|
||
3BE9:0723 89 36 0857 mov word ptr ds:[857h],si ; (3BE9:0857=0BA03h)
|
||
3BE9:0727 88 0E 03BE mov byte ptr ds:[3BEh],cl ; (3BE9:03BE=0)
|
||
3BE9:072B E8 017B call sub_29 ; (08A9)
|
||
3BE9:072E 74 10 jz loc_65 ; Jump if zero
|
||
3BE9:0730 loc_64: ; xref 3BE9:073D
|
||
3BE9:0730 E8 01B4 call sub_33 ; (08E7)
|
||
3BE9:0733 E8 0010 call sub_20 ; (0746)
|
||
3BE9:0736 0A C0 or al,al ; Zero ?
|
||
3BE9:0738 75 06 jnz loc_65 ; Jump if not zero
|
||
3BE9:073A E8 003D call sub_21 ; (077A)
|
||
3BE9:073D 74 F1 jz loc_64 ; Jump if zero
|
||
3BE9:073F C3 retn
|
||
3BE9:0740 loc_65: ; xref 3BE9:072E, 0738
|
||
3BE9:0740 BE 062A mov si,62Ah
|
||
3BE9:0743 32 C0 xor al,al ; Zero register
|
||
3BE9:0745 C3 retn
|
||
sub_17 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0585, 05D1, 06DA, 0733
|
||
;==========================================================================
|
||
|
||
3BE9:0746 sub_20 proc near
|
||
3BE9:0746 06 push es
|
||
3BE9:0747 1E push ds
|
||
3BE9:0748 8E 06 4AFC mov es,data_251 ; (3BE9:4AFC=0)
|
||
3BE9:074C 8A 0E 03BE mov cl,byte ptr ds:[3BEh] ; (3BE9:03BE=0)
|
||
3BE9:0750 8A 2E 03C1 mov ch,byte ptr ds:[3C1h] ; (3BE9:03C1=2Eh)
|
||
3BE9:0754 51 push cx
|
||
3BE9:0755 8B 0E 03C2 mov cx,word ptr ds:[3C2h] ; (3BE9:03C2=9)
|
||
3BE9:0759 51 push cx
|
||
3BE9:075A 8B 0E 03C4 mov cx,word ptr ds:[3C4h] ; (3BE9:03C4=17E8h)
|
||
3BE9:075E 51 push cx
|
||
3BE9:075F 8B 0E 03C8 mov cx,word ptr ds:[3C8h] ; (3BE9:03C8=386h)
|
||
3BE9:0763 51 push cx
|
||
3BE9:0764 8B 0E 03C6 mov cx,word ptr ds:[3C6h] ; (3BE9:03C6=0BB04h)
|
||
3BE9:0768 51 push cx
|
||
3BE9:0769 A1 03BC mov ax,word ptr ds:[3BCh] ; (3BE9:03BC=931h)
|
||
3BE9:076C 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
|
||
3BE9:0770 FF 1E 0028 call dword ptr data_16 ; (3BE9:0028=0)
|
||
3BE9:0774 83 C4 0A add sp,0Ah
|
||
3BE9:0777 1F pop ds
|
||
3BE9:0778 07 pop es
|
||
3BE9:0779 C3 retn
|
||
sub_20 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:073A
|
||
;==========================================================================
|
||
|
||
3BE9:077A sub_21 proc near
|
||
3BE9:077A A1 03C2 mov ax,word ptr ds:[3C2h] ; (3BE9:03C2=9)
|
||
3BE9:077D 40 inc ax
|
||
3BE9:077E 3B 06 03AE cmp ax,word ptr ds:[3AEh] ; (3BE9:03AE=26C3h)
|
||
3BE9:0782 77 2C ja loc_67 ; Jump if above
|
||
3BE9:0784 8B D8 mov bx,ax
|
||
3BE9:0786 C7 06 03C6 0000 mov word ptr ds:[3C6h],0 ; (3BE9:03C6=0BB04h)
|
||
3BE9:078C A1 03C8 mov ax,word ptr ds:[3C8h] ; (3BE9:03C8=386h)
|
||
3BE9:078F 03 06 03AA add ax,word ptr ds:[3AAh] ; (3BE9:03AA=0F0BBh)
|
||
3BE9:0793 8B C8 mov cx,ax
|
||
3BE9:0795 A1 03B4 mov ax,word ptr ds:[3B4h] ; (3BE9:03B4=0C607h)
|
||
3BE9:0798 40 inc ax
|
||
3BE9:0799 3B 06 03AC cmp ax,word ptr ds:[3ACh] ; (3BE9:03AC=8EF9h)
|
||
3BE9:079D 77 0E ja loc_66 ; Jump if above
|
||
3BE9:079F A3 03B4 mov word ptr ds:[3B4h],ax ; (3BE9:03B4=0C607h)
|
||
3BE9:07A2 89 0E 03C8 mov word ptr ds:[3C8h],cx ; (3BE9:03C8=386h)
|
||
3BE9:07A6 89 1E 03C2 mov word ptr ds:[3C2h],bx ; (3BE9:03C2=9)
|
||
3BE9:07AA 32 C0 xor al,al ; Zero register
|
||
3BE9:07AC C3 retn
|
||
3BE9:07AD loc_66: ; xref 3BE9:079D
|
||
3BE9:07AD B0 01 mov al,1
|
||
3BE9:07AF C3 retn
|
||
3BE9:07B0 loc_67: ; xref 3BE9:0782
|
||
3BE9:07B0 B0 02 mov al,2
|
||
3BE9:07B2 C3 retn
|
||
sub_21 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0236, 0694
|
||
;==========================================================================
|
||
|
||
3BE9:07B3 sub_22 proc near
|
||
3BE9:07B3 33 C0 xor ax,ax ; Zero register
|
||
3BE9:07B5 A3 03C6 mov word ptr ds:[3C6h],ax ; (3BE9:03C6=0BB04h)
|
||
3BE9:07B8 A1 03B6 mov ax,word ptr ds:[3B6h] ; (3BE9:03B6=9306h)
|
||
3BE9:07BB A3 03C8 mov word ptr ds:[3C8h],ax ; (3BE9:03C8=386h)
|
||
3BE9:07BE A1 03C2 mov ax,word ptr ds:[3C2h] ; (3BE9:03C2=9)
|
||
3BE9:07C1 A3 03B8 mov word ptr ds:[3B8h],ax ; (3BE9:03B8=109h)
|
||
3BE9:07C4 C7 06 03B4 0000 mov word ptr ds:[3B4h],0 ; (3BE9:03B4=0C607h)
|
||
3BE9:07CA C3 retn
|
||
sub_22 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0246, 0252
|
||
;==========================================================================
|
||
|
||
3BE9:07CB sub_23 proc near
|
||
3BE9:07CB A1 03B8 mov ax,word ptr ds:[3B8h] ; (3BE9:03B8=109h)
|
||
3BE9:07CE A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
|
||
3BE9:07D1 A1 03B6 mov ax,word ptr ds:[3B6h] ; (3BE9:03B6=9306h)
|
||
3BE9:07D4 A3 03C8 mov word ptr ds:[3C8h],ax ; (3BE9:03C8=386h)
|
||
3BE9:07D7 C7 06 03B4 0000 mov word ptr ds:[3B4h],0 ; (3BE9:03B4=0C607h)
|
||
3BE9:07DD C3 retn
|
||
sub_23 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0222, 03C4, 0691
|
||
;==========================================================================
|
||
|
||
3BE9:07DE sub_24 proc near
|
||
3BE9:07DE ,BB 0386 mov bx,386h ; (3BE9:0386=7)
|
||
3BE9:07E1 B8 0080 mov ax,80h
|
||
3BE9:07E4 8A 4F 0F mov cl,[bx+0Fh]
|
||
3BE9:07E7 D3 E0 shl ax,cl ; Shift w/zeros fill
|
||
3BE9:07E9 8B 0F mov cx,[bx]
|
||
3BE9:07EB 89 0E 03B0 mov word ptr ds:[3B0h],cx ; (3BE9:03B0=7A2h)
|
||
3BE9:07EF 88 0E 03C1 mov byte ptr ds:[3C1h],cl ; (3BE9:03C1=2Eh)
|
||
3BE9:07F3 F7 E1 mul cx ; dx:ax = reg * ax
|
||
3BE9:07F5 A3 03A8 mov word ptr ds:[3A8h],ax ; (3BE9:03A8=0EFB0h)
|
||
3BE9:07F8 D1 E8 shr ax,1 ; Shift w/zeros fill
|
||
3BE9:07FA D1 E8 shr ax,1 ; Shift w/zeros fill
|
||
3BE9:07FC D1 E8 shr ax,1 ; Shift w/zeros fill
|
||
3BE9:07FE D1 E8 shr ax,1 ; Shift w/zeros fill
|
||
3BE9:0800 A3 03AA mov word ptr ds:[3AAh],ax ; (3BE9:03AA=0F0BBh)
|
||
3BE9:0803 A1 000F mov ax,data_11 ; (3BE9:000F=4)
|
||
3BE9:0806 A3 03B6 mov word ptr ds:[3B6h],ax ; (3BE9:03B6=9306h)
|
||
3BE9:0809 A1 000C mov ax,data_9 ; (3BE9:000C=0)
|
||
3BE9:080C 33 D2 xor dx,dx ; Zero register
|
||
3BE9:080E 8A 16 000E mov dl,data_10 ; (3BE9:000E=0BDh)
|
||
3BE9:0812 F7 36 03A8 div word ptr ds:[3A8h] ; (3BE9:03A8=0EFB0h) ax,dxrem=dx:ax/da
|
||
3BE9:0816 48 dec ax
|
||
3BE9:0817 A3 03AC mov word ptr ds:[3ACh],ax ; (3BE9:03AC=8EF9h)
|
||
3BE9:081A 33 C0 xor ax,ax ; Zero register
|
||
3BE9:081C 33 D2 xor dx,dx ; Zero register
|
||
3BE9:081E 33 C9 xor cx,cx ; Zero register
|
||
3BE9:0820 8B 47 05 mov ax,[bx+5]
|
||
3BE9:0823 40 inc ax
|
||
3BE9:0824 8A 4F 03 mov cl,[bx+3]
|
||
3BE9:0827 FE C1 inc cl
|
||
3BE9:0829 F7 E1 mul cx ; dx:ax = reg * ax
|
||
3BE9:082B 50 push ax
|
||
3BE9:082C 8A 4F 0F mov cl,[bx+0Fh]
|
||
3BE9:082F B8 0001 mov ax,1
|
||
3BE9:0832 D2 E0 shl al,cl ; Shift w/zeros fill
|
||
3BE9:0834 8B 0F mov cx,[bx]
|
||
3BE9:0836 33 D2 xor dx,dx ; Zero register
|
||
3BE9:0838 F7 E1 mul cx ; dx:ax = reg * ax
|
||
3BE9:083A 59 pop cx
|
||
3BE9:083B 91 xchg cx,ax
|
||
3BE9:083C F7 F1 div cx ; ax,dx rem=dx:ax/reg
|
||
3BE9:083E A3 03AE mov word ptr ds:[3AEh],ax ; (3BE9:03AE=26C3h)
|
||
3BE9:0841 8B 47 0D mov ax,[bx+0Dh]
|
||
3BE9:0844 A3 03C2 mov word ptr ds:[3C2h],ax ; (3BE9:03C2=9)
|
||
3BE9:0847 FF 06 03AE inc word ptr ds:[3AEh] ; (3BE9:03AE=26C3h)
|
||
3BE9:084B B8 0000 mov ax,0
|
||
3BE9:084E A3 03C4 mov word ptr ds:[3C4h],ax ; (3BE9:03C4=17E8h)
|
||
3BE9:0851 C3 retn
|
||
sub_24 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:01E6, 02B3, 0689
|
||
;==========================================================================
|
||
|
||
3BE9:0852 sub_25 proc near
|
||
3BE9:0852 BE 06E6 mov si,6E6h
|
||
3BE9:0855 BF 0386 mov di,386h
|
||
3BE9:0858 BA 03BA mov dx,3BAh
|
||
3BE9:085B EB 09 jmp short loc_68 ; (0866)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:01F9
|
||
|
||
3BE9:085D sub_26:
|
||
3BE9:085D ,BE 0716 mov si,716h ; (3BE9:0716=0)
|
||
3BE9:0860 ,BF 0397 mov di,397h ; (3BE9:0397=26h)
|
||
3BE9:0863 BA 03BB mov dx,3BBh
|
||
3BE9:0866 loc_68: ; xref 3BE9:085B
|
||
3BE9:0866 32 FF xor bh,bh ; Zero register
|
||
3BE9:0868 8A 87 0382 mov al,byte ptr ds:[382h][bx] ; (3BE9:0382=50h)
|
||
3BE9:086C 87 DA xchg bx,dx
|
||
3BE9:086E 88 07 mov [bx],al
|
||
3BE9:0870 8A E0 mov ah,al
|
||
3BE9:0872 80 C4 41 add ah,41h ; 'A'
|
||
3BE9:0875 88 24 mov [si],ah
|
||
3BE9:0877 88 26 075E mov byte ptr ds:[75Eh],ah ; (3BE9:075E=51h)
|
||
3BE9:087B 8A C8 mov cl,al
|
||
3BE9:087D E8 0001 call sub_27 ; (0881)
|
||
3BE9:0880 C3 retn
|
||
sub_25 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:087D
|
||
;==========================================================================
|
||
|
||
3BE9:0881 sub_27 proc near
|
||
3BE9:0881 57 push di
|
||
3BE9:0882 B2 00 mov dl,0
|
||
3BE9:0884 E8 000F call sub_28 ; (0896)
|
||
3BE9:0887 5F pop di
|
||
3BE9:0888 0B C0 or ax,ax ; Zero ?
|
||
3BE9:088A 74 09 jz loc_ret_69 ; Jump if zero
|
||
3BE9:088C 06 push es
|
||
3BE9:088D 8C D8 mov ax,ds
|
||
3BE9:088F 8E C0 mov es,ax
|
||
3BE9:0891 E8 001D call sub_30 ; (08B1)
|
||
3BE9:0894 07 pop es
|
||
|
||
3BE9:0895 loc_ret_69: ; xref 3BE9:088A
|
||
3BE9:0895 C3 retn
|
||
sub_27 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:031F, 0884, 08AB
|
||
;==========================================================================
|
||
|
||
3BE9:0896 sub_28 proc near
|
||
3BE9:0896 B0 09 mov al,9
|
||
3BE9:0898 1E push ds
|
||
3BE9:0899 06 push es
|
||
3BE9:089A 8E 06 4AFC mov es,data_251 ; (3BE9:4AFC=0)
|
||
3BE9:089E 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
|
||
3BE9:08A2 FF 1E 0028 call dword ptr data_16 ; (3BE9:0028=0)
|
||
3BE9:08A6 07 pop es
|
||
3BE9:08A7 1F pop ds
|
||
3BE9:08A8 C3 retn
|
||
sub_28 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:06CB, 072B
|
||
;==========================================================================
|
||
|
||
3BE9:08A9 sub_29 proc near
|
||
3BE9:08A9 B2 01 mov dl,1
|
||
3BE9:08AB E8 FFE8 call sub_28 ; (0896)
|
||
3BE9:08AE 0B DB or bx,bx ; Zero ?
|
||
3BE9:08B0 C3 retn
|
||
sub_29 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0891
|
||
;==========================================================================
|
||
|
||
3BE9:08B1 sub_30 proc near
|
||
3BE9:08B1 1E push ds
|
||
3BE9:08B2 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
|
||
3BE9:08B6 8B 77 08 mov si,[bx+8]
|
||
3BE9:08B9 B9 0011 mov cx,11h
|
||
3BE9:08BC F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:08BE 1F pop ds
|
||
3BE9:08BF C3 retn
|
||
sub_30 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0208
|
||
;==========================================================================
|
||
|
||
3BE9:08C0 sub_31 proc near
|
||
3BE9:08C0 BE 0696 mov si,696h
|
||
3BE9:08C3 loc_70: ; xref 3BE9:08D0, 08E5
|
||
3BE9:08C3 ,56 push si
|
||
3BE9:08C4 E8 0145 call sub_41 ; (0A0C)
|
||
3BE9:08C7 5E pop si
|
||
3BE9:08C8 24 DF and al,0DFh
|
||
3BE9:08CA 3C 4E cmp al,4Eh ; 'N'
|
||
3BE9:08CC 74 10 je loc_72 ; Jump if equal
|
||
3BE9:08CE 3C 4A cmp al,4Ah ; 'J'
|
||
3BE9:08D0 75 F1 jne loc_70 ; Jump if not equal
|
||
3BE9:08D2 loc_71: ; xref 3BE9:08E0
|
||
3BE9:08D2 ,9C pushf ; Push flags
|
||
3BE9:08D3 B8 0608 mov ax,608h
|
||
3BE9:08D6 B9 0003 mov cx,3
|
||
3BE9:08D9 E8 0255 call sub_48 ; (0B31)
|
||
3BE9:08DC 9D popf ; Pop flags
|
||
3BE9:08DD C3 retn
|
||
3BE9:08DE loc_72: ; xref 3BE9:08CC
|
||
3BE9:08DE 3C 3F cmp al,3Fh ; '?'
|
||
3BE9:08E0 EB F0 jmp short loc_71 ; (08D2)
|
||
sub_31 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:02C7
|
||
;==========================================================================
|
||
|
||
3BE9:08E2 sub_32 proc near
|
||
3BE9:08E2 BE 069E mov si,69Eh
|
||
3BE9:08E5 EB DC jmp short loc_70 ; (08C3)
|
||
sub_32 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0416, 06D7, 0730
|
||
;==========================================================================
|
||
|
||
3BE9:08E7 sub_33 proc near
|
||
3BE9:08E7 B8 2020 mov ax,2020h
|
||
3BE9:08EA ,BB 0861 mov bx,861h ; (3BE9:0861=97h)
|
||
3BE9:08ED 89 07 mov [bx],ax
|
||
3BE9:08EF 43 inc bx
|
||
3BE9:08F0 43 inc bx
|
||
3BE9:08F1 89 07 mov [bx],ax
|
||
3BE9:08F3 A1 03C2 mov ax,word ptr ds:[3C2h] ; (3BE9:03C2=9)
|
||
3BE9:08F6 B9 0004 mov cx,4
|
||
3BE9:08F9 ,BF 0861 mov di,861h ; (3BE9:0861=97h)
|
||
3BE9:08FC E8 0281 call sub_54 ; (0B80)
|
||
3BE9:08FF ,BB 0002 mov bx,offset data_7 ; (3BE9:0002=2)
|
||
3BE9:0902 ,BE 084D mov si,84Dh ; (3BE9:084D=0)
|
||
3BE9:0905 E8 0138 call sub_44 ; (0A40)
|
||
3BE9:0908 C3 retn
|
||
sub_33 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:01FE
|
||
;==========================================================================
|
||
|
||
3BE9:0909 sub_34 proc near
|
||
3BE9:0909 06 push es
|
||
3BE9:090A 8C D8 mov ax,ds
|
||
3BE9:090C 8E C0 mov es,ax
|
||
3BE9:090E ,BE 0386 mov si,386h ; (3BE9:0386=7)
|
||
3BE9:0911 ,BF 0397 mov di,397h ; (3BE9:0397=26h)
|
||
3BE9:0914 B9 0011 mov cx,11h
|
||
3BE9:0917 F3/ A6 repe cmpsb ; Rep zf=1+cx >0 Cmp [si] to es:[di]
|
||
3BE9:0919 07 pop es
|
||
3BE9:091A 75 03 jnz loc_73 ; Jump if not zero
|
||
3BE9:091C FE C0 inc al
|
||
3BE9:091E C3 retn
|
||
3BE9:091F loc_73: ; xref 3BE9:091A
|
||
3BE9:091F 32 C0 xor al,al ; Zero register
|
||
3BE9:0921 C3 retn
|
||
sub_34 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0232, 0267
|
||
;==========================================================================
|
||
|
||
3BE9:0922 sub_35 proc near
|
||
3BE9:0922 BE 0811 mov si,811h
|
||
3BE9:0925 EB 03 jmp short loc_74 ; (092A)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:0243
|
||
|
||
3BE9:0927 sub_36:
|
||
3BE9:0927 BE 07DB mov si,7DBh
|
||
3BE9:092A loc_74: ; xref 3BE9:0925
|
||
3BE9:092A A0 03BA mov al,byte ptr ds:[3BAh] ; (3BE9:03BA=0C6h)
|
||
3BE9:092D 3A 06 03BB cmp al,byte ptr ds:[3BBh] ; (3BE9:03BB=6)
|
||
3BE9:0931 75 13 jne loc_ret_75 ; Jump if not equal
|
||
3BE9:0933 89 36 07D9 mov word ptr ds:[7D9h],si ; (3BE9:07D9=3B4h)
|
||
3BE9:0937 ,BE 07C9 mov si,7C9h ; (3BE9:07C9=0)
|
||
3BE9:093A E8 00D4 call sub_42 ; (0A11)
|
||
3BE9:093D B8 0807 mov ax,807h
|
||
3BE9:0940 B9 0001 mov cx,1
|
||
3BE9:0943 E8 01EB call sub_48 ; (0B31)
|
||
|
||
3BE9:0946 loc_ret_75: ; xref 3BE9:0931
|
||
3BE9:0946 C3 retn
|
||
sub_35 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:01E1, 01F4, 02A8, 0684
|
||
;==========================================================================
|
||
|
||
3BE9:0947 sub_37 proc near
|
||
3BE9:0947 56 push si
|
||
3BE9:0948 E8 00C1 call sub_41 ; (0A0C)
|
||
3BE9:094B loc_76: ; xref 3BE9:095D
|
||
3BE9:094B ,5E pop si
|
||
3BE9:094C 8B 74 06 mov si,[si+6]
|
||
3BE9:094F 83 C6 02 add si,2
|
||
3BE9:0952 8B 34 mov si,[si]
|
||
3BE9:0954 46 inc si
|
||
3BE9:0955 80 38 57 cmp byte ptr [bx+si],57h ; 'W'
|
||
3BE9:0958 C3 retn
|
||
sub_37 endp
|
||
|
||
;* No entry point to code
|
||
3BE9:0959 56 push si
|
||
3BE9:095A E8 00B4 call sub_42 ; (0A11)
|
||
3BE9:095D EB EC jmp short loc_76 ; (094B)
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0CC1
|
||
;==========================================================================
|
||
|
||
3BE9:095F sub_38 proc near
|
||
3BE9:095F 1E push ds
|
||
3BE9:0960 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
|
||
3BE9:0964 06 push es
|
||
3BE9:0965 33 DB xor bx,bx ; Zero register
|
||
3BE9:0967 8E C3 mov es,bx
|
||
3BE9:0969 ,BB 013C mov bx,data_2e ; (0000:013C=6Fh)
|
||
3BE9:096C 26: C4 1F les bx,dword ptr es:[bx] ; Load seg:offset ptr
|
||
3BE9:096F 33 C0 xor ax,ax ; Zero register
|
||
3BE9:0971 26: 8A 47 01 mov al,es:[bx+1]
|
||
3BE9:0975 FE C0 inc al
|
||
3BE9:0977 07 pop es
|
||
3BE9:0978 1F pop ds
|
||
3BE9:0979 8B D8 mov bx,ax
|
||
3BE9:097B 43 inc bx
|
||
3BE9:097C ,BE 056A mov si,56Ah ; (3BE9:056A=94h)
|
||
3BE9:097F 89 1C mov [si],bx
|
||
3BE9:0981 46 inc si
|
||
3BE9:0982 8B C8 mov cx,ax
|
||
3BE9:0984 06 push es
|
||
3BE9:0985 8C DA mov dx,ds
|
||
3BE9:0987 8E C2 mov es,dx
|
||
3BE9:0989 ,BF 0570 mov di,570h ; (3BE9:0570=8Bh)
|
||
3BE9:098C 87 F7 xchg si,di
|
||
3BE9:098E F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:0990 C6 05 57 mov byte ptr [di],57h ; 'W'
|
||
3BE9:0993 07 pop es
|
||
3BE9:0994 D1 E0 shl ax,1 ; Shift w/zeros fill
|
||
3BE9:0996 ,BE 0575 mov si,575h ; (3BE9:0575=1Eh)
|
||
3BE9:0999 89 1C mov [si],bx
|
||
3BE9:099B 46 inc si
|
||
3BE9:099C 46 inc si
|
||
3BE9:099D 03 F0 add si,ax
|
||
3BE9:099F B8 05CD mov ax,5CDh
|
||
3BE9:09A2 89 04 mov [si],ax
|
||
3BE9:09A4 C3 retn
|
||
sub_38 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00F5
|
||
;==========================================================================
|
||
|
||
3BE9:09A5 sub_39 proc near
|
||
3BE9:09A5 B0 91 mov al,91h
|
||
3BE9:09A7 B9 004E mov cx,4Eh
|
||
3BE9:09AA ,BF 49CC mov di,offset data_239 ; (3BE9:49CC=0)
|
||
3BE9:09AD F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
|
||
3BE9:09AF ,BE 49B7 mov si,offset data_237 ; (3BE9:49B7=0)
|
||
3BE9:09B2 ,BB 0000 mov bx,offset data_6 ; (3BE9:0000=1)
|
||
3BE9:09B5 E8 0088 call sub_44 ; (0A40)
|
||
3BE9:09B8 B8 0102 mov ax,102h
|
||
3BE9:09BB E8 0036 call sub_40 ; (09F4)
|
||
3BE9:09BE B8 5002 mov ax,5002h
|
||
3BE9:09C1 E8 0030 call sub_40 ; (09F4)
|
||
3BE9:09C4 B8 0118 mov ax,118h
|
||
3BE9:09C7 E8 02BE call sub_66 ; (0C88)
|
||
3BE9:09CA ,BE 49BF mov si,offset data_238 ; (3BE9:49BF=0)
|
||
3BE9:09CD ,BB 0000 mov bx,offset data_6 ; (3BE9:0000=1)
|
||
3BE9:09D0 E8 006D call sub_44 ; (0A40)
|
||
3BE9:09D3 BE 0223 mov si,223h
|
||
3BE9:09D6 80 3E 0101 FF cmp byte ptr ds:[101h],0FFh ; (3BE9:0101=97h)
|
||
3BE9:09DB 74 03 je loc_77 ; Jump if equal
|
||
3BE9:09DD ,BE 01E1 mov si,1E1h ; (3BE9:01E1=0E8h)
|
||
3BE9:09E0 loc_77: ; xref 3BE9:09DB
|
||
3BE9:09E0 E8 00C3 call sub_46 ; (0AA6)
|
||
3BE9:09E3 ,BF 4A2C mov di,offset data_241 ; (3BE9:4A2C=0)
|
||
3BE9:09E6 B0 84 mov al,84h
|
||
3BE9:09E8 B9 004E mov cx,4Eh
|
||
3BE9:09EB F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
|
||
3BE9:09ED ,BE 4A23 mov si,offset data_240 ; (3BE9:4A23=0)
|
||
3BE9:09F0 E8 00B3 call sub_46 ; (0AA6)
|
||
3BE9:09F3 C3 retn
|
||
sub_39 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:09BB, 09C1
|
||
;==========================================================================
|
||
|
||
3BE9:09F4 sub_40 proc near
|
||
3BE9:09F4 A3 49A0 mov data_227,ax ; (3BE9:49A0=0)
|
||
3BE9:09F7 E8 028E call sub_66 ; (0C88)
|
||
3BE9:09FA B9 0016 mov cx,16h
|
||
|
||
3BE9:09FD locloop_78: ; xref 3BE9:0A09
|
||
3BE9:09FD 51 push cx
|
||
3BE9:09FE B2 98 mov dl,98h
|
||
3BE9:0A00 B1 02 mov cl,2
|
||
3BE9:0A02 E8 014D call sub_50 ; (0B52)
|
||
3BE9:0A05 E8 013F call sub_49 ; (0B47)
|
||
3BE9:0A08 59 pop cx
|
||
3BE9:0A09 E2 F2 loop locloop_78 ; Loop if cx > 0
|
||
|
||
3BE9:0A0B C3 retn
|
||
sub_40 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:08C4, 0948
|
||
;==========================================================================
|
||
|
||
3BE9:0A0C sub_41 proc near
|
||
3BE9:0A0C 56 push si
|
||
3BE9:0A0D E8 010D call sub_47 ; (0B1D)
|
||
3BE9:0A10 5E pop si
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:00FB, 021D, 027C, 06FE, 093A, 095A
|
||
|
||
3BE9:0A11 sub_42:
|
||
3BE9:0A11 ,BB 0006 mov bx,offset data_8 ; (3BE9:0006=2)
|
||
3BE9:0A14 E8 000A call sub_43 ; (0A21)
|
||
3BE9:0A17 33 DB xor bx,bx ; Zero register
|
||
3BE9:0A19 8A 1E 49A5 mov bl,data_230 ; (3BE9:49A5=0)
|
||
3BE9:0A1D A0 49A6 mov al,data_231 ; (3BE9:49A6=0)
|
||
3BE9:0A20 C3 retn
|
||
sub_41 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0A14
|
||
;==========================================================================
|
||
|
||
3BE9:0A21 sub_43 proc near
|
||
3BE9:0A21 89 1E 49A3 mov data_229,bx ; (3BE9:49A3=0)
|
||
3BE9:0A25 33 DB xor bx,bx ; Zero register
|
||
3BE9:0A27 loc_79: ; xref 3BE9:0A3D
|
||
3BE9:0A27 ,AD lodsw ; String [si] to ax
|
||
3BE9:0A28 0B C0 or ax,ax ; Zero ?
|
||
3BE9:0A2A 74 09 jz loc_80 ; Jump if zero
|
||
3BE9:0A2C 56 push si
|
||
3BE9:0A2D 53 push bx
|
||
3BE9:0A2E 8B F0 mov si,ax
|
||
3BE9:0A30 E8 000D call sub_44 ; (0A40)
|
||
3BE9:0A33 5B pop bx
|
||
3BE9:0A34 5E pop si
|
||
3BE9:0A35 loc_80: ; xref 3BE9:0A2A
|
||
3BE9:0A35 3B 1E 49A3 cmp bx,data_229 ; (3BE9:49A3=0)
|
||
3BE9:0A39 74 04 je loc_ret_81 ; Jump if equal
|
||
3BE9:0A3B 43 inc bx
|
||
3BE9:0A3C 43 inc bx
|
||
3BE9:0A3D EB E8 jmp short loc_79 ; (0A27)
|
||
|
||
3BE9:0A3F loc_ret_81: ; xref 3BE9:0A39
|
||
3BE9:0A3F C3 retn
|
||
sub_43 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:06AC, 0905, 09B5, 09D0, 0A30
|
||
;==========================================================================
|
||
|
||
3BE9:0A40 sub_44 proc near
|
||
3BE9:0A40 AD lodsw ; String [si] to ax
|
||
3BE9:0A41 8B C8 mov cx,ax
|
||
|
||
3BE9:0A43 locloop_82: ; xref 3BE9:0A50
|
||
3BE9:0A43 51 push cx
|
||
3BE9:0A44 53 push bx
|
||
3BE9:0A45 AD lodsw ; String [si] to ax
|
||
3BE9:0A46 56 push si
|
||
3BE9:0A47 8B F0 mov si,ax
|
||
3BE9:0A49 FF 97 49A9 call word ptr data_233[bx] ;*(3BE9:49A9=0)
|
||
3BE9:0A4D 5E pop si
|
||
3BE9:0A4E 5B pop bx
|
||
3BE9:0A4F 59 pop cx
|
||
3BE9:0A50 E2 F1 loop locloop_82 ; Loop if cx > 0
|
||
|
||
3BE9:0A52 C3 retn
|
||
sub_44 endp
|
||
|
||
;* No entry point to code
|
||
3BE9:0A53 AD lodsw ; String [si] to ax
|
||
3BE9:0A54 A3 49A0 mov data_227,ax ; (3BE9:49A0=0)
|
||
3BE9:0A57 56 push si
|
||
3BE9:0A58 E8 022D call sub_66 ; (0C88)
|
||
3BE9:0A5B 5E pop si
|
||
3BE9:0A5C E8 001E call sub_45 ; (0A7D)
|
||
3BE9:0A5F AD lodsw ; String [si] to ax
|
||
3BE9:0A60 8B C8 mov cx,ax
|
||
3BE9:0A62 AD lodsw ; String [si] to ax
|
||
3BE9:0A63 A3 49A0 mov data_227,ax ; (3BE9:49A0=0)
|
||
3BE9:0A66 56 push si
|
||
3BE9:0A67 51 push cx
|
||
3BE9:0A68 E8 021D call sub_66 ; (0C88)
|
||
3BE9:0A6B 59 pop cx
|
||
3BE9:0A6C 5E pop si
|
||
|
||
3BE9:0A6D locloop_83: ; xref 3BE9:0A7A
|
||
3BE9:0A6D 51 push cx
|
||
3BE9:0A6E AD lodsw ; String [si] to ax
|
||
3BE9:0A6F 8B F0 mov si,ax
|
||
3BE9:0A71 56 push si
|
||
3BE9:0A72 E8 00E0 call sub_51 ; (0B55)
|
||
3BE9:0A75 E8 00CF call sub_49 ; (0B47)
|
||
3BE9:0A78 5E pop si
|
||
3BE9:0A79 59 pop cx
|
||
3BE9:0A7A E2 F1 loop locloop_83 ; Loop if cx > 0
|
||
|
||
3BE9:0A7C C3 retn
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0A5C
|
||
;==========================================================================
|
||
|
||
3BE9:0A7D sub_45 proc near
|
||
3BE9:0A7D ,BF 4A87 mov di,offset data_244 ; (3BE9:4A87=0)
|
||
3BE9:0A80 B9 0003 mov cx,3
|
||
3BE9:0A83 06 push es
|
||
3BE9:0A84 8C D8 mov ax,ds
|
||
3BE9:0A86 8E C0 mov es,ax
|
||
3BE9:0A88 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:0A8A 07 pop es
|
||
3BE9:0A8B 56 push si
|
||
3BE9:0A8C ,BE 4A7B mov si,offset data_242 ; (3BE9:4A7B=0)
|
||
3BE9:0A8F E8 00C3 call sub_51 ; (0B55)
|
||
3BE9:0A92 E8 00B2 call sub_49 ; (0B47)
|
||
3BE9:0A95 ,BE 4A83 mov si,offset data_243 ; (3BE9:4A83=0)
|
||
3BE9:0A98 E8 00BA call sub_51 ; (0B55)
|
||
3BE9:0A9B E8 00A9 call sub_49 ; (0B47)
|
||
3BE9:0A9E ,BE 4A8B mov si,offset data_245 ; (3BE9:4A8B=0)
|
||
3BE9:0AA1 E8 00B1 call sub_51 ; (0B55)
|
||
3BE9:0AA4 5E pop si
|
||
3BE9:0AA5 C3 retn
|
||
sub_45 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:09E0, 09F0
|
||
;==========================================================================
|
||
|
||
3BE9:0AA6 sub_46 proc near
|
||
3BE9:0AA6 AD lodsw ; String [si] to ax
|
||
3BE9:0AA7 56 push si
|
||
3BE9:0AA8 E8 01DD call sub_66 ; (0C88)
|
||
3BE9:0AAB 5E pop si
|
||
3BE9:0AAC AD lodsw ; String [si] to ax
|
||
3BE9:0AAD 56 push si
|
||
3BE9:0AAE 88 26 49A2 mov data_228,ah ; (3BE9:49A2=0)
|
||
3BE9:0AB2 E8 01F7 call sub_67 ; (0CAC)
|
||
3BE9:0AB5 5E pop si
|
||
3BE9:0AB6 8B 34 mov si,[si]
|
||
3BE9:0AB8 E8 009A call sub_51 ; (0B55)
|
||
3BE9:0ABB A0 49A2 mov al,data_228 ; (3BE9:49A2=0)
|
||
3BE9:0ABE E8 01EB call sub_67 ; (0CAC)
|
||
3BE9:0AC1 C3 retn
|
||
sub_46 endp
|
||
|
||
;* No entry point to code
|
||
3BE9:0AC2 33 C0 xor ax,ax ; Zero register
|
||
3BE9:0AC4 AC lodsb ; String [si] to al
|
||
3BE9:0AC5 A3 49A7 mov data_232,ax ; (3BE9:49A7=0)
|
||
3BE9:0AC8 87 F7 xchg si,di
|
||
3BE9:0ACA loc_84: ; xref 3BE9:0B0C
|
||
3BE9:0ACA ,57 push di
|
||
3BE9:0ACB 57 push di
|
||
3BE9:0ACC loc_85: ; xref 3BE9:0AD1
|
||
3BE9:0ACC E8 00AA call sub_53 ; (0B79)
|
||
3BE9:0ACF 0A C0 or al,al ; Zero ?
|
||
3BE9:0AD1 74 F9 jz loc_85 ; Jump if zero
|
||
3BE9:0AD3 8B 0E 49A7 mov cx,data_232 ; (3BE9:49A7=0)
|
||
3BE9:0AD7 E3 35 jcxz loc_88 ; Jump if cx=0
|
||
3BE9:0AD9 3C 1B cmp al,1Bh
|
||
3BE9:0ADB 75 3D jne loc_89 ; Jump if not equal
|
||
3BE9:0ADD E8 0099 call sub_53 ; (0B79)
|
||
3BE9:0AE0 0A C0 or al,al ; Zero ?
|
||
3BE9:0AE2 74 36 jz loc_89 ; Jump if zero
|
||
3BE9:0AE4 E8 0092 call sub_53 ; (0B79)
|
||
3BE9:0AE7 0A C0 or al,al ; Zero ?
|
||
3BE9:0AE9 74 2F jz loc_89 ; Jump if zero
|
||
3BE9:0AEB A2 49A6 mov data_231,al ; (3BE9:49A6=0)
|
||
3BE9:0AEE 8B 0E 49A7 mov cx,data_232 ; (3BE9:49A7=0)
|
||
3BE9:0AF2 5F pop di
|
||
3BE9:0AF3 F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al
|
||
3BE9:0AF5 75 11 jnz loc_87 ; Jump if not zero
|
||
3BE9:0AF7 loc_86: ; xref 3BE9:0B18
|
||
3BE9:0AF7 ,5F pop di
|
||
3BE9:0AF8 A1 49A7 mov ax,data_232 ; (3BE9:49A7=0)
|
||
3BE9:0AFB 2B C1 sub ax,cx
|
||
3BE9:0AFD FE C8 dec al
|
||
3BE9:0AFF A2 49A5 mov data_230,al ; (3BE9:49A5=0)
|
||
3BE9:0B02 8A D8 mov bl,al
|
||
3BE9:0B04 A0 49A6 mov al,data_231 ; (3BE9:49A6=0)
|
||
3BE9:0B07 C3 retn
|
||
3BE9:0B08 loc_87: ; xref 3BE9:0AF5, 0B1B
|
||
3BE9:0B08 ,E8 0061 call sub_52 ; (0B6C)
|
||
3BE9:0B0B 5F pop di
|
||
3BE9:0B0C EB BC jmp short loc_84 ; (0ACA)
|
||
3BE9:0B0E loc_88: ; xref 3BE9:0AD7
|
||
3BE9:0B0E A2 49A6 mov data_231,al ; (3BE9:49A6=0)
|
||
3BE9:0B11 E8 0065 call sub_53 ; (0B79)
|
||
3BE9:0B14 E8 0062 call sub_53 ; (0B79)
|
||
3BE9:0B17 5F pop di
|
||
3BE9:0B18 EB DD jmp short loc_86 ; (0AF7)
|
||
3BE9:0B1A loc_89: ; xref 3BE9:0ADB, 0AE2, 0AE9
|
||
3BE9:0B1A 5F pop di
|
||
3BE9:0B1B EB EB jmp short loc_87 ; (0B08)
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0104, 069D, 0A0D
|
||
;==========================================================================
|
||
|
||
3BE9:0B1D sub_47 proc near
|
||
3BE9:0B1D 80 3E 0102 FF cmp byte ptr ds:[102h],0FFh ; (3BE9:0102=0D7h)
|
||
3BE9:0B22 74 07 je loc_90 ; Jump if equal
|
||
3BE9:0B24 ,BE 4ADF mov si,offset data_247 ; (3BE9:4ADF=0)
|
||
3BE9:0B27 E8 002B call sub_51 ; (0B55)
|
||
3BE9:0B2A C3 retn
|
||
3BE9:0B2B loc_90: ; xref 3BE9:0B22
|
||
3BE9:0B2B B8 0604 mov ax,604h
|
||
3BE9:0B2E B9 0014 mov cx,14h
|
||
sub_47 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:08D9, 0943
|
||
;==========================================================================
|
||
|
||
3BE9:0B31 sub_48 proc near
|
||
3BE9:0B31 51 push cx
|
||
3BE9:0B32 A3 49A0 mov data_227,ax ; (3BE9:49A0=0)
|
||
3BE9:0B35 E8 0150 call sub_66 ; (0C88)
|
||
3BE9:0B38 59 pop cx
|
||
|
||
3BE9:0B39 locloop_91: ; xref 3BE9:0B44
|
||
3BE9:0B39 51 push cx
|
||
3BE9:0B3A ,BE 4A97 mov si,offset data_246 ; (3BE9:4A97=0)
|
||
3BE9:0B3D E8 0015 call sub_51 ; (0B55)
|
||
3BE9:0B40 E8 0004 call sub_49 ; (0B47)
|
||
3BE9:0B43 59 pop cx
|
||
3BE9:0B44 E2 F3 loop locloop_91 ; Loop if cx > 0
|
||
|
||
3BE9:0B46 C3 retn
|
||
sub_48 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0A05, 0A75, 0A92, 0A9B, 0B40
|
||
;==========================================================================
|
||
|
||
3BE9:0B47 sub_49 proc near
|
||
3BE9:0B47 FE 06 49A0 inc byte ptr data_227 ; (3BE9:49A0=0)
|
||
3BE9:0B4B A1 49A0 mov ax,data_227 ; (3BE9:49A0=0)
|
||
3BE9:0B4E E8 0137 call sub_66 ; (0C88)
|
||
3BE9:0B51 C3 retn
|
||
sub_49 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0A02, 0BFA, 0C02, 0C0B, 0C12, 0C1B, 0C2B
|
||
; 0C43, 0C5B, 0C75
|
||
;==========================================================================
|
||
|
||
3BE9:0B52 sub_50 proc near
|
||
3BE9:0B52 loc_92: ; xref 3BE9:0120, 0B62, 0B76, 0B7D
|
||
; 0B9C, 0BA1
|
||
3BE9:0B52 ,CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:0B54 C3 retn
|
||
sub_50 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0127, 012B, 0A72, 0A8F, 0A98, 0AA1, 0AB8
|
||
; 0B27, 0B3D, 0CBE
|
||
;==========================================================================
|
||
|
||
3BE9:0B55 sub_51 proc near
|
||
3BE9:0B55 loc_93: ; xref 3BE9:0B6F, 0CA9, 0CB2, 0CB8
|
||
3BE9:0B55 ,AD lodsw ; String [si] to ax
|
||
3BE9:0B56 A3 49B5 mov data_236,ax ; (3BE9:49B5=0)
|
||
3BE9:0B59 89 36 49B1 mov data_234,si ; (3BE9:49B1=0)
|
||
3BE9:0B5D B1 6F mov cl,6Fh ; 'o'
|
||
3BE9:0B5F BA 49B1 mov dx,49B1h
|
||
3BE9:0B62 E9 FFED ;* jmp loc_92 ; (0B52)
|
||
sub_51 endp
|
||
|
||
3BE9:0B62 db 0E9h,0EDh,0FFh ; Fixup - byte match
|
||
3BE9:0B65 B1 09 8B D6 E9 db 0B1h, 09h, 8Bh,0D6h,0E9h
|
||
3BE9:0B6A FFE6 data_156 dw 0FFE6h ; Data table (indexed access)
|
||
; xref 3BE9:189E
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0B08
|
||
;==========================================================================
|
||
|
||
3BE9:0B6C sub_52 proc near
|
||
3BE9:0B6C BE 4A93 mov si,4A93h
|
||
3BE9:0B6F E9 FFE3 ;* jmp loc_93 ; (0B55)
|
||
sub_52 endp
|
||
|
||
3BE9:0B6F db 0E9h,0E3h,0FFh ; Fixup - byte match
|
||
;* No entry point to code
|
||
3BE9:0B72 B2 FD mov dl,0FDh
|
||
3BE9:0B74 B1 06 mov cl,6
|
||
3BE9:0B76 E9 FFD9 ;* jmp loc_92 ; (0B52)
|
||
3BE9:0B76 db 0E9h,0D9h,0FFh ; Fixup - byte match
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0ACC, 0ADD, 0AE4, 0B11, 0B14
|
||
;==========================================================================
|
||
|
||
3BE9:0B79 sub_53 proc near
|
||
3BE9:0B79 B2 FF mov dl,0FFh
|
||
3BE9:0B7B B1 06 mov cl,6
|
||
3BE9:0B7D E9 FFD2 ;* jmp loc_92 ; (0B52)
|
||
sub_53 endp
|
||
|
||
3BE9:0B7D db 0E9h,0D2h,0FFh ; Fixup - byte match
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:08FC
|
||
;==========================================================================
|
||
|
||
3BE9:0B80 sub_54 proc near
|
||
3BE9:0B80 4F dec di
|
||
3BE9:0B81 03 F9 add di,cx
|
||
3BE9:0B83 BB 000A mov bx,0Ah
|
||
|
||
3BE9:0B86 locloop_94: ; xref 3BE9:0B94
|
||
3BE9:0B86 2B D2 sub dx,dx
|
||
3BE9:0B88 F7 F3 div bx ; ax,dx rem=dx:ax/reg
|
||
3BE9:0B8A 80 C2 30 add dl,30h ; '0'
|
||
3BE9:0B8D 88 15 mov [di],dl
|
||
3BE9:0B8F 4F dec di
|
||
3BE9:0B90 85 C0 test ax,ax
|
||
3BE9:0B92 74 02 jz loc_ret_95 ; Jump if zero
|
||
3BE9:0B94 E2 F0 loop locloop_94 ; Loop if cx > 0
|
||
|
||
|
||
3BE9:0B96 loc_ret_95: ; xref 3BE9:0B92
|
||
3BE9:0B96 C3 retn
|
||
sub_54 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00CE, 00E1
|
||
;==========================================================================
|
||
|
||
3BE9:0B97 sub_55 proc near
|
||
3BE9:0B97 B1 6D mov cl,6Dh ; 'm'
|
||
3BE9:0B99 BA 0009 mov dx,9
|
||
3BE9:0B9C E9 FFB3 ;* jmp loc_92 ; (0B52)
|
||
sub_55 endp
|
||
|
||
3BE9:0B9C db 0E9h,0B3h,0FFh ; Fixup - byte match
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00DE, 00EF
|
||
;==========================================================================
|
||
|
||
3BE9:0B9F sub_56 proc near
|
||
3BE9:0B9F B1 91 mov cl,91h
|
||
3BE9:0BA1 E9 FFAE ;* jmp loc_92 ; (0B52)
|
||
sub_56 endp
|
||
|
||
3BE9:0BA1 db 0E9h,0AEh,0FFh ; Fixup - byte match
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00E4
|
||
;==========================================================================
|
||
|
||
3BE9:0BA4 sub_57 proc near
|
||
3BE9:0BA4 8B 1E 4AF6 mov bx,data_248 ; (3BE9:4AF6=0)
|
||
3BE9:0BA8 1E push ds
|
||
3BE9:0BA9 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
|
||
3BE9:0BAD 81 4F 06 0002 ;* or word ptr [bx+6],2
|
||
3BE9:0BAD db 81h, 4Fh, 06h, 02h, 00h ; Fixup - byte match
|
||
3BE9:0BB2 1F pop ds
|
||
3BE9:0BB3 C3 retn
|
||
sub_57 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0119
|
||
;==========================================================================
|
||
|
||
3BE9:0BB4 sub_58 proc near
|
||
3BE9:0BB4 8B 1E 4AF6 mov bx,data_248 ; (3BE9:4AF6=0)
|
||
3BE9:0BB8 1E push ds
|
||
3BE9:0BB9 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
|
||
3BE9:0BBD 81 67 06 FFFD ;* and word ptr [bx+6],0FFFDh
|
||
3BE9:0BBD db 81h, 67h, 06h,0FDh,0FFh ; Fixup - byte match
|
||
3BE9:0BC2 1F pop ds
|
||
3BE9:0BC3 C3 retn
|
||
sub_58 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00E7
|
||
;==========================================================================
|
||
|
||
3BE9:0BC4 sub_59 proc near
|
||
3BE9:0BC4 8B 1E 4AFA mov bx,data_250 ; (3BE9:4AFA=0)
|
||
3BE9:0BC8 1E push ds
|
||
3BE9:0BC9 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
|
||
3BE9:0BCD 9C pushf ; Push flags
|
||
3BE9:0BCE FA cli ; Disable interrupts
|
||
3BE9:0BCF 83 7F 0E 00 cmp word ptr [bx+0Eh],0
|
||
3BE9:0BD3 74 08 je loc_96 ; Jump if equal
|
||
3BE9:0BD5 9D popf ; Pop flags
|
||
3BE9:0BD6 1F pop ds
|
||
3BE9:0BD7 BE 4B0E mov si,4B0Eh
|
||
3BE9:0BDA E9 F546 jmp loc_8 ; (0123)
|
||
3BE9:0BDD loc_96: ; xref 3BE9:0BD3
|
||
3BE9:0BDD 81 4F 0E 0008 ;* or word ptr [bx+0Eh],8
|
||
3BE9:0BDD db 81h, 4Fh, 0Eh, 08h, 00h ; Fixup - byte match
|
||
3BE9:0BE2 9D popf ; Pop flags
|
||
3BE9:0BE3 1F pop ds
|
||
3BE9:0BE4 C3 retn
|
||
sub_59 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0116
|
||
;==========================================================================
|
||
|
||
3BE9:0BE5 sub_60 proc near
|
||
3BE9:0BE5 8B 1E 4AFA mov bx,data_250 ; (3BE9:4AFA=0)
|
||
3BE9:0BE9 1E push ds
|
||
3BE9:0BEA 8E 1E 4AF8 mov ds,data_249 ; (3BE9:4AF8=3BE9h)
|
||
3BE9:0BEE 81 67 0E FFF7 ;* and word ptr [bx+0Eh],0FFF7h
|
||
3BE9:0BEE db 81h, 67h, 0Eh,0F7h,0FFh ; Fixup - byte match
|
||
3BE9:0BF3 1F pop ds
|
||
3BE9:0BF4 C3 retn
|
||
sub_60 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00EA
|
||
;==========================================================================
|
||
|
||
3BE9:0BF5 sub_61 proc near
|
||
3BE9:0BF5 B1 87 mov cl,87h
|
||
3BE9:0BF7 BA 4AFE mov dx,4AFEh
|
||
3BE9:0BFA E8 FF55 call sub_50 ; (0B52)
|
||
3BE9:0BFD B1 89 mov cl,89h
|
||
3BE9:0BFF BA 4AFE mov dx,4AFEh
|
||
3BE9:0C02 E8 FF4D call sub_50 ; (0B52)
|
||
3BE9:0C05 C3 retn
|
||
sub_61 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0113
|
||
;==========================================================================
|
||
|
||
3BE9:0C06 sub_62 proc near
|
||
3BE9:0C06 B1 8B mov cl,8Bh
|
||
3BE9:0C08 BA 4AFE mov dx,4AFEh
|
||
3BE9:0C0B E8 FF44 call sub_50 ; (0B52)
|
||
3BE9:0C0E C3 retn
|
||
sub_62 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00D6
|
||
;==========================================================================
|
||
|
||
3BE9:0C0F sub_63 proc near
|
||
3BE9:0C0F 06 push es
|
||
3BE9:0C10 B1 9A mov cl,9Ah
|
||
3BE9:0C12 E8 FF3D call sub_50 ; (0B52)
|
||
3BE9:0C15 8C 06 4AF8 mov data_249,es ; (3BE9:4AF8=3BE9h)
|
||
3BE9:0C19 B1 9C mov cl,9Ch
|
||
3BE9:0C1B E8 FF34 call sub_50 ; (0B52)
|
||
3BE9:0C1E 89 1E 4AF6 mov data_248,bx ; (3BE9:4AF6=0)
|
||
3BE9:0C22 26: 8B 47 10 mov ax,es:[bx+10h]
|
||
3BE9:0C26 A3 4AFC mov data_251,ax ; (3BE9:4AFC=0)
|
||
3BE9:0C29 B1 99 mov cl,99h
|
||
3BE9:0C2B E8 FF24 call sub_50 ; (0B52)
|
||
3BE9:0C2E 32 E4 xor ah,ah ; Zero register
|
||
3BE9:0C30 BB 002C mov bx,2Ch
|
||
3BE9:0C33 F7 E3 mul bx ; dx:ax = reg * ax
|
||
3BE9:0C35 26: 03 06 0054 add ax,es:data_18 ; (3BE9:0054=0)
|
||
3BE9:0C3A A3 4AFA mov data_250,ax ; (3BE9:4AFA=0)
|
||
3BE9:0C3D 07 pop es
|
||
3BE9:0C3E C3 retn
|
||
sub_63 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00CB
|
||
;==========================================================================
|
||
|
||
3BE9:0C3F sub_64 proc near
|
||
3BE9:0C3F 1E push ds
|
||
3BE9:0C40 06 push es
|
||
3BE9:0C41 B1 1F mov cl,1Fh
|
||
3BE9:0C43 E8 FF0C call sub_50 ; (0B52)
|
||
3BE9:0C46 26: A1 004E mov ax,es:data_17 ; (3BE9:004E=0)
|
||
3BE9:0C4A A3 4AFC mov data_251,ax ; (3BE9:4AFC=0)
|
||
3BE9:0C4D 8C 06 4AF8 mov data_249,es ; (3BE9:4AF8=3BE9h)
|
||
3BE9:0C51 07 pop es
|
||
3BE9:0C52 1F pop ds
|
||
3BE9:0C53 C3 retn
|
||
sub_64 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00D1
|
||
;==========================================================================
|
||
|
||
3BE9:0C54 sub_65 proc near
|
||
3BE9:0C54 1E push ds
|
||
3BE9:0C55 06 push es
|
||
3BE9:0C56 BA 4B94 mov dx,4B94h
|
||
3BE9:0C59 B1 3C mov cl,3Ch ; '<'
|
||
3BE9:0C5B E8 FEF4 call sub_50 ; (0B52)
|
||
3BE9:0C5E 07 pop es
|
||
3BE9:0C5F 1F pop ds
|
||
3BE9:0C60 3D FFFF cmp ax,0FFFFh
|
||
3BE9:0C63 75 1C jne loc_97 ; Jump if not equal
|
||
3BE9:0C65 1E push ds
|
||
3BE9:0C66 06 push es
|
||
3BE9:0C67 BB 4B97 mov bx,4B97h
|
||
3BE9:0C6A C6 07 89 mov byte ptr [bx],89h
|
||
3BE9:0C6D C6 47 01 00 mov byte ptr [bx+1],0
|
||
3BE9:0C71 8B D3 mov dx,bx
|
||
3BE9:0C73 B1 31 mov cl,31h ; '1'
|
||
3BE9:0C75 E8 FEDA call sub_50 ; (0B52)
|
||
3BE9:0C78 07 pop es
|
||
3BE9:0C79 1F pop ds
|
||
3BE9:0C7A 80 3E 4B99 01 cmp byte ptr data_252,1 ; (3BE9:4B99=0)
|
||
3BE9:0C7F 74 06 je loc_ret_98 ; Jump if equal
|
||
3BE9:0C81 loc_97: ; xref 3BE9:0C63
|
||
3BE9:0C81 BE 4B49 mov si,4B49h
|
||
3BE9:0C84 E9 F49C jmp loc_8 ; (0123)
|
||
|
||
3BE9:0C87 loc_ret_98: ; xref 3BE9:0C7F
|
||
3BE9:0C87 C3 retn
|
||
sub_65 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:09C7, 09F7, 0A58, 0A68, 0AA8, 0B35, 0B4E
|
||
;==========================================================================
|
||
|
||
3BE9:0C88 sub_66 proc near
|
||
3BE9:0C88 8B D8 mov bx,ax
|
||
3BE9:0C8A ,BE 4B9E mov si,offset data_253 ; (3BE9:4B9E=0)
|
||
3BE9:0C8D D4 0A aam ; Ascii adjust
|
||
3BE9:0C8F 86 C4 xchg al,ah
|
||
3BE9:0C91 0D 3030 or ax,3030h
|
||
3BE9:0C94 89 04 mov [si],ax
|
||
3BE9:0C96 ,BE 4BA1 mov si,offset data_254 ; (3BE9:4BA1=0)
|
||
3BE9:0C99 8B C3 mov ax,bx
|
||
3BE9:0C9B 86 C4 xchg al,ah
|
||
3BE9:0C9D D4 0A aam ; Ascii adjust
|
||
3BE9:0C9F 0D 3030 or ax,3030h
|
||
3BE9:0CA2 86 C4 xchg al,ah
|
||
3BE9:0CA4 89 04 mov [si],ax
|
||
3BE9:0CA6 BE 4B9A mov si,4B9Ah
|
||
3BE9:0CA9 E9 FEA9 jmp loc_93 ; (0B55)
|
||
sub_66 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0AB2, 0ABE
|
||
;==========================================================================
|
||
|
||
3BE9:0CAC sub_67 proc near
|
||
3BE9:0CAC A2 4BCA mov data_256,al ; (3BE9:4BCA=0)
|
||
3BE9:0CAF BE 4BC6 mov si,4BC6h
|
||
3BE9:0CB2 E9 FEA0 jmp loc_93 ; (0B55)
|
||
sub_67 endp
|
||
|
||
;* No entry point to code
|
||
3BE9:0CB5 BE 4BBA mov si,4BBAh
|
||
3BE9:0CB8 E9 FE9A jmp loc_93 ; (0B55)
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:00F2
|
||
;==========================================================================
|
||
|
||
3BE9:0CBB sub_68 proc near
|
||
3BE9:0CBB ,BE 4BA4 mov si,offset data_255 ; (3BE9:4BA4=0)
|
||
3BE9:0CBE E8 FE94 call sub_51 ; (0B55)
|
||
3BE9:0CC1 E8 FC9B call sub_38 ; (095F)
|
||
3BE9:0CC4 C3 retn
|
||
sub_68 endp
|
||
|
||
3BE9:0CC5 4C 4F 41 44 45 52 db 'LOADERGWK-TSS2 '
|
||
3BE9:0CCB 47 57 4B 2D 54 53
|
||
3BE9:0CD1 53 32 20
|
||
3BE9:0CD4 4446 3031 data_177 dw 4446h, 3031h ; xref 3BE9:186E, 1884
|
||
3BE9:0CD8 32 35 2D 31 db 32h, 35h, 2Dh, 31h
|
||
3BE9:0CDC 30 data_179 db 30h ; xref 3BE9:1875
|
||
3BE9:0CDD 37 31 db 37h, 31h
|
||
3BE9:0CDF 302D data_180 dw 302Dh ; xref 3BE9:187D
|
||
3BE9:0CE1 30 35 34 33 34 50 db '05434PG685 11.01.87'
|
||
3BE9:0CE7 47 36 38 35 20 20
|
||
3BE9:0CED 31 31 2E 30 31 2E
|
||
3BE9:0CF3 38 37
|
||
3BE9:0CF5 0016[00] db 22 dup (0)
|
||
3BE9:0D0B 94 55 db 94h, 55h
|
||
3BE9:0D0D 000D[00] db 13 dup (0)
|
||
3BE9:0D1A 20 00 00 00 00 00 db 20h, 00h, 00h, 00h, 00h, 00h
|
||
3BE9:0D20 20 23 00 00 00 01 db 20h, 23h, 00h, 00h, 00h, 01h
|
||
3BE9:0D26 00 db 00h
|
||
3BE9:0D27 01A2[00] db 418 dup (0)
|
||
3BE9:0EC9 FF 11 E9 05 00 E9 db 0FFh, 11h,0E9h, 05h, 00h,0E9h
|
||
3BE9:0ECF 2E 00 00 00 8C C8 db 2Eh, 00h, 00h, 00h, 8Ch,0C8h
|
||
3BE9:0ED5 8E D8 8E C0 8E D0 db 8Eh,0D8h, 8Eh,0C0h, 8Eh,0D0h
|
||
3BE9:0EDB BC 84 08 8C 0E AC db 0BCh, 84h, 08h, 8Ch, 0Eh,0ACh
|
||
3BE9:0EE1 07 FF 1E AA 07 C7 db 07h,0FFh, 1Eh,0AAh, 07h,0C7h
|
||
3BE9:0EE7 06 AA 07 03 09 33 db 06h,0AAh, 07h, 03h, 09h, 33h
|
||
3BE9:0EED C0 1E 8E D8 C7 06 db 0C0h, 1Eh, 8Eh,0D8h,0C7h, 06h
|
||
3BE9:0EF3 80 03 03 00 8C 0E db 80h, 03h, 03h, 00h, 8Ch, 0Eh
|
||
3BE9:0EF9 82 03 1F E9 D2 08 db 82h, 03h, 1Fh,0E9h,0D2h, 08h
|
||
3BE9:0EFF FC 8C D8 0E 1F 8C db 0FCh, 8Ch,0D8h, 0Eh, 1Fh, 8Ch
|
||
3BE9:0F05 06 F7 07 A3 C3 08 db 06h,0F7h, 07h,0A3h,0C3h, 08h
|
||
3BE9:0F0B 8B DC 36 F7 47 04 db 8Bh,0DCh, 36h,0F7h, 47h, 04h
|
||
3BE9:0F11 00 02 74 01 FB db 00h, 02h, 74h, 01h,0FBh
|
||
3BE9:0F16 loc_99:
|
||
3BE9:0F16 1E push ds
|
||
3BE9:0F17 07 pop es
|
||
3BE9:0F18 56 push si
|
||
3BE9:0F19 57 push di
|
||
3BE9:0F1A 55 push bp
|
||
3BE9:0F1B E8 000E call sub_69 ; (0F2C)
|
||
3BE9:0F1E 5D pop bp
|
||
3BE9:0F1F 5F pop di
|
||
3BE9:0F20 5E pop si
|
||
3BE9:0F21 8E 06 07F7 mov es,word ptr ds:[7F7h] ; (3BE9:07F7=0D103h)
|
||
3BE9:0F25 8E 1E 08C3 mov ds,word ptr ds:[8C3h] ; (3BE9:08C3=0E856h)
|
||
3BE9:0F29 8B C3 mov ax,bx
|
||
3BE9:0F2B CF iret ; Interrupt return
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0F1B
|
||
;==========================================================================
|
||
|
||
3BE9:0F2C sub_69 proc near
|
||
3BE9:0F2C 80 F9 0E cmp cl,0Eh
|
||
3BE9:0F2F 75 06 jne loc_100 ; Jump if not equal
|
||
3BE9:0F31 BE 00C7 mov si,0C7h
|
||
3BE9:0F34 E9 0064 ;* jmpn loc_109 ;*(0F9B)
|
||
3BE9:0F34 db 0E9h, 64h, 00h ; Fixup - byte match
|
||
3BE9:0F37 loc_100: ; xref 3BE9:0F2F
|
||
3BE9:0F37 80 F9 0F cmp cl,0Fh
|
||
3BE9:0F3A 75 06 jne loc_101 ; Jump if not equal
|
||
3BE9:0F3C BE 00CA mov si,0CAh
|
||
3BE9:0F3F E9 0059 ;* jmpn loc_109 ;*(0F9B)
|
||
3BE9:0F3F db 0E9h, 59h, 00h ; Fixup - byte match
|
||
3BE9:0F42 loc_101: ; xref 3BE9:0F3A
|
||
3BE9:0F42 80 F9 14 cmp cl,14h
|
||
3BE9:0F45 75 06 jne loc_102 ; Jump if not equal
|
||
3BE9:0F47 ,BE 00CD mov si,0CDh ; (3BE9:00CD=0Bh)
|
||
3BE9:0F4A E9 004E ;* jmpn loc_109 ;*(0F9B)
|
||
3BE9:0F4A db 0E9h, 4Eh, 00h ; Fixup - byte match
|
||
3BE9:0F4D loc_102: ; xref 3BE9:0F45
|
||
3BE9:0F4D 80 F9 1A cmp cl,1Ah
|
||
3BE9:0F50 74 13 je loc_103 ; Jump if equal
|
||
3BE9:0F52 80 F9 20 cmp cl,20h ; ' '
|
||
3BE9:0F55 74 13 je loc_104 ; Jump if equal
|
||
3BE9:0F57 80 F9 2C cmp cl,2Ch ; ','
|
||
3BE9:0F5A 74 1F je loc_106 ; Jump if equal
|
||
3BE9:0F5C 80 F9 33 cmp cl,33h ; '3'
|
||
3BE9:0F5F 74 2C je loc_108 ; Jump if equal
|
||
3BE9:0F61 BB FFFF mov bx,0FFFFh
|
||
3BE9:0F64 C3 retn
|
||
3BE9:0F65 loc_103: ; xref 3BE9:0F50
|
||
3BE9:0F65 89 16 08C5 mov word ptr ds:[8C5h],dx ; (3BE9:08C5=145h)
|
||
3BE9:0F69 C3 retn
|
||
3BE9:0F6A loc_104: ; xref 3BE9:0F55
|
||
3BE9:0F6A 8A C2 mov al,dl
|
||
3BE9:0F6C 3C FF cmp al,0FFh
|
||
3BE9:0F6E 75 05 jne loc_105 ; Jump if not equal
|
||
3BE9:0F70 8A 1E 07C0 mov bl,byte ptr ds:[7C0h] ; (3BE9:07C0=3)
|
||
3BE9:0F74 C3 retn
|
||
3BE9:0F75 loc_105: ; xref 3BE9:0F6E
|
||
3BE9:0F75 24 0F and al,0Fh
|
||
3BE9:0F77 A2 07C0 mov byte ptr ds:[7C0h],al ; (3BE9:07C0=3)
|
||
3BE9:0F7A C3 retn
|
||
3BE9:0F7B loc_106: ; xref 3BE9:0F5A
|
||
3BE9:0F7B 8A C2 mov al,dl
|
||
3BE9:0F7D 33 DB xor bx,bx ; Zero register
|
||
3BE9:0F7F 0A C0 or al,al ; Zero ?
|
||
3BE9:0F81 74 08 jz loc_107 ; Jump if zero
|
||
3BE9:0F83 3C 81 cmp al,81h
|
||
3BE9:0F85 73 04 jae loc_107 ; Jump if above or =
|
||
3BE9:0F87 A2 07C3 mov byte ptr ds:[7C3h],al ; (3BE9:07C3=3)
|
||
3BE9:0F8A C3 retn
|
||
3BE9:0F8B loc_107: ; xref 3BE9:0F81, 0F85
|
||
3BE9:0F8B 4B dec bx
|
||
3BE9:0F8C C3 retn
|
||
3BE9:0F8D loc_108: ; xref 3BE9:0F5F
|
||
3BE9:0F8D 89 16 08C7 mov word ptr ds:[8C7h],dx ; (3BE9:08C7=245Eh)
|
||
3BE9:0F91 C3 retn
|
||
;* No entry point to code
|
||
3BE9:0F92 A0 0106 mov al,byte ptr ds:[106h] ; (3BE9:0106=0Ah)
|
||
3BE9:0F95 AA stosb ; Store al to es:[di]
|
||
3BE9:0F96 06 push es
|
||
3BE9:0F97 01 D4 ;* add sp,dx
|
||
3BE9:0F97 db 01h,0D4h ; Fixup - byte match
|
||
3BE9:0F99 06 push es
|
||
3BE9:0F9A 03 A1 07BF add sp,word ptr ds:[7BFh][bx+di] ; (3BE9:07BF=3C2h)
|
||
3BE9:0F9E A3 08C9 mov word ptr ds:[8C9h],ax ; (3BE9:08C9=3CDFh)
|
||
3BE9:0FA1 B9 0007 mov cx,7
|
||
3BE9:0FA4 33 C0 xor ax,ax ; Zero register
|
||
3BE9:0FA6 ,BF 07AE mov di,7AEh ; (3BE9:07AE=1)
|
||
3BE9:0FA9 F3/ AA rep stosb ; Rep when cx >0 Store al to es:[di]
|
||
3BE9:0FAB 89 16 08C1 mov word ptr ds:[8C1h],dx ; (3BE9:08C1=696h)
|
||
3BE9:0FAF 80 3E 07C3 01 cmp byte ptr ds:[7C3h],1 ; (3BE9:07C3=3)
|
||
3BE9:0FB4 74 08 je loc_110 ; Jump if equal
|
||
3BE9:0FB6 2E: F6 84 0002 02 test cs:data_7[si],2 ; (3BE9:0002=2)
|
||
3BE9:0FBC 75 08 jnz loc_112 ; Jump if not zero
|
||
3BE9:0FBE loc_110: ; xref 3BE9:0FB4
|
||
3BE9:0FBE E8 0061 call sub_70 ; (1022)
|
||
3BE9:0FC1 loc_111: ; xref 3BE9:101F
|
||
3BE9:0FC1 ,8B 1E 07B0 mov bx,word ptr ds:[7B0h] ; (3BE9:07B0=2B0h)
|
||
3BE9:0FC5 C3 retn
|
||
3BE9:0FC6 loc_112: ; xref 3BE9:0FBC
|
||
3BE9:0FC6 89 36 07F2 mov word ptr ds:[7F2h],si ; (3BE9:07F2=0F703h)
|
||
3BE9:0FCA A1 08C5 mov ax,word ptr ds:[8C5h] ; (3BE9:08C5=145h)
|
||
3BE9:0FCD A3 07F4 mov word ptr ds:[7F4h],ax ; (3BE9:07F4=0A3E1h)
|
||
3BE9:0FD0 2E: 8A A4 0002 mov ah,cs:data_7[si] ; (3BE9:0002=2)
|
||
3BE9:0FD5 E8 006E call sub_71 ; (1046)
|
||
3BE9:0FD8 C6 06 07F6 FF mov byte ptr ds:[7F6h],0FFh ; (3BE9:07F6=0A8h)
|
||
3BE9:0FDD A0 07C3 mov al,byte ptr ds:[7C3h] ; (3BE9:07C3=3)
|
||
3BE9:0FE0 loc_113: ; xref 3BE9:1009
|
||
3BE9:0FE0 A2 07B4 mov byte ptr ds:[7B4h],al ; (3BE9:07B4=0C0h)
|
||
3BE9:0FE3 50 push ax
|
||
3BE9:0FE4 8B 36 07F2 mov si,word ptr ds:[7F2h] ; (3BE9:07F2=0F703h)
|
||
3BE9:0FE8 8B 16 08C1 mov dx,word ptr ds:[8C1h] ; (3BE9:08C1=696h)
|
||
3BE9:0FEC E8 0033 call sub_70 ; (1022)
|
||
3BE9:0FEF 8A 1E 07B0 mov bl,byte ptr ds:[7B0h] ; (3BE9:07B0=0B0h)
|
||
3BE9:0FF3 0A DB or bl,bl ; Zero ?
|
||
3BE9:0FF5 74 09 jz loc_114 ; Jump if zero
|
||
3BE9:0FF7 8A 3E 07C3 mov bh,byte ptr ds:[7C3h] ; (3BE9:07C3=3)
|
||
3BE9:0FFB 58 pop ax
|
||
3BE9:0FFC 2A F8 sub bh,al
|
||
3BE9:0FFE EB 0D jmp short loc_115 ; (100D)
|
||
3BE9:1000 loc_114: ; xref 3BE9:0FF5
|
||
3BE9:1000 81 06 08C5 0080 add word ptr ds:[8C5h],80h ; (3BE9:08C5=145h)
|
||
3BE9:1006 58 pop ax
|
||
3BE9:1007 FE C8 dec al
|
||
3BE9:1009 75 D5 jnz loc_113 ; Jump if not zero
|
||
3BE9:100B 33 DB xor bx,bx ; Zero register
|
||
3BE9:100D loc_115: ; xref 3BE9:0FFE
|
||
3BE9:100D 89 1E 07B0 mov word ptr ds:[7B0h],bx ; (3BE9:07B0=2B0h)
|
||
3BE9:1011 A1 07F4 mov ax,word ptr ds:[7F4h] ; (3BE9:07F4=0A3E1h)
|
||
3BE9:1014 A3 08C5 mov word ptr ds:[8C5h],ax ; (3BE9:08C5=145h)
|
||
3BE9:1017 C6 06 07F6 00 mov byte ptr ds:[7F6h],0 ; (3BE9:07F6=0A8h)
|
||
3BE9:101C E8 004B call sub_72 ; (106A)
|
||
3BE9:101F E9 FF9F ;* jmp loc_111 ; (0FC1)
|
||
sub_69 endp
|
||
|
||
3BE9:101F db 0E9h, 9Fh,0FFh ; Fixup - byte match
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0FBE, 0FEC
|
||
;==========================================================================
|
||
|
||
3BE9:1022 sub_70 proc near
|
||
3BE9:1022 E8 01EE call sub_86 ; (1213)
|
||
3BE9:1025 89 26 0884 mov word ptr ds:[884h],sp ; (3BE9:0884=0FE8h)
|
||
3BE9:1029 2E: FF 94 0000 ;* call cs:data_6[si] ;*(3BE9:0000=0C501h)
|
||
3BE9:1029 db 2Eh,0FFh, 94h, 00h, 00h ; Fixup - byte match
|
||
3BE9:102E loc_116: ; xref 3BE9:10D8
|
||
3BE9:102E ,80 3E 07B2 00 cmp byte ptr ds:[7B2h],0 ; (3BE9:07B2=0C3h)
|
||
3BE9:1033 74 06 je loc_117 ; Jump if equal
|
||
3BE9:1035 A0 07AE mov al,byte ptr ds:[7AEh] ; (3BE9:07AE=1)
|
||
3BE9:1038 A2 0886 mov byte ptr ds:[886h],al ; (3BE9:0886=0)
|
||
3BE9:103B loc_117: ; xref 3BE9:1033
|
||
3BE9:103B 80 3E 07AF FF cmp byte ptr ds:[7AFh],0FFh ; (3BE9:07AF=0C3h)
|
||
3BE9:1040 75 03 jne loc_ret_118 ; Jump if not equal
|
||
3BE9:1042 E8 0025 call sub_72 ; (106A)
|
||
|
||
3BE9:1045 loc_ret_118: ; xref 3BE9:1040
|
||
3BE9:1045 C3 retn
|
||
sub_70 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:0FD5, 1531
|
||
;==========================================================================
|
||
|
||
3BE9:1046 sub_71 proc near
|
||
3BE9:1046 B1 21 mov cl,21h ; '!'
|
||
3BE9:1048 F6 06 07F6 FF test byte ptr ds:[7F6h],0FFh ; (3BE9:07F6=0A8h)
|
||
3BE9:104D 75 1A jnz loc_ret_119 ; Jump if not zero
|
||
3BE9:104F C6 06 07AF FF mov byte ptr ds:[7AFh],0FFh ; (3BE9:07AF=0C3h)
|
||
3BE9:1054 88 0E 07F9 mov byte ptr ds:[7F9h],cl ; (3BE9:07F9=0E8h)
|
||
3BE9:1058 32 ED xor ch,ch ; Zero register
|
||
3BE9:105A 8B 36 08C1 mov si,word ptr ds:[8C1h] ; (3BE9:08C1=696h)
|
||
3BE9:105E ,BF 0886 mov di,886h ; (3BE9:0886=0)
|
||
3BE9:1061 1E push ds
|
||
3BE9:1062 8E 1E 08C3 mov ds,word ptr ds:[8C3h] ; (3BE9:08C3=0E856h)
|
||
3BE9:1066 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:1068 1F pop ds
|
||
|
||
3BE9:1069 loc_ret_119: ; xref 3BE9:104D, 106F
|
||
3BE9:1069 C3 retn
|
||
sub_71 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:101C, 1042
|
||
;==========================================================================
|
||
|
||
3BE9:106A sub_72 proc near
|
||
3BE9:106A F6 06 07F6 FF test byte ptr ds:[7F6h],0FFh ; (3BE9:07F6=0A8h)
|
||
3BE9:106F 75 F8 jnz loc_ret_119 ; Jump if not zero
|
||
3BE9:1071 8A 0E 07F9 mov cl,byte ptr ds:[7F9h] ; (3BE9:07F9=0E8h)
|
||
3BE9:1075 32 ED xor ch,ch ; Zero register
|
||
3BE9:1077 ,BE 0886 mov si,886h ; (3BE9:0886=0)
|
||
3BE9:107A 8B 3E 08C1 mov di,word ptr ds:[8C1h] ; (3BE9:08C1=696h)
|
||
3BE9:107E 06 push es
|
||
3BE9:107F 8E 06 08C3 mov es,word ptr ds:[8C3h] ; (3BE9:08C3=0E856h)
|
||
3BE9:1083 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:1085 07 pop es
|
||
3BE9:1086 C3 retn
|
||
sub_72 endp
|
||
|
||
3BE9:1087 loc_120: ; xref 3BE9:13EA, 13FA, 143D
|
||
3BE9:1087 ,B0 01 mov al,1
|
||
3BE9:1089 loc_121: ; xref 3BE9:12DF, 13D6
|
||
3BE9:1089 ,A2 07B0 mov byte ptr ds:[7B0h],al ; (3BE9:07B0=0B0h)
|
||
3BE9:108C C3 retn
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:10E8
|
||
;==========================================================================
|
||
|
||
3BE9:108D sub_73 proc near
|
||
3BE9:108D 06 push es
|
||
3BE9:108E FF 1E 07AA call dword ptr ds:[7AAh] ; (3BE9:07AA=0C032h)
|
||
3BE9:1092 FC cld ; Clear direction
|
||
3BE9:1093 07 pop es
|
||
3BE9:1094 C3 retn
|
||
sub_73 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1122
|
||
;==========================================================================
|
||
|
||
3BE9:1095 sub_74 proc near
|
||
3BE9:1095 8B 16 07EA mov dx,word ptr ds:[7EAh] ; (3BE9:07EA=890Fh)
|
||
3BE9:1099 8A 2E 07EC mov ch,byte ptr ds:[7ECh] ; (3BE9:07EC=0Eh)
|
||
3BE9:109D 8A 1E 07C4 mov bl,byte ptr ds:[7C4h] ; (3BE9:07C4=0C7h)
|
||
3BE9:10A1 B7 01 mov bh,1
|
||
3BE9:10A3 86 3E 07B5 xchg byte ptr ds:[7B5h],bh ; (3BE9:07B5=0A3h)
|
||
3BE9:10A7 53 push bx
|
||
3BE9:10A8 FF 36 07BB push word ptr ds:[7BBh] ; (3BE9:07BB=0C8A3h)
|
||
3BE9:10AC FF 36 07BD push word ptr ds:[7BDh] ; (3BE9:07BD=0A103h)
|
||
3BE9:10B0 FF 36 07ED push word ptr ds:[7EDh] ; (3BE9:07ED=3B0h)
|
||
3BE9:10B4 FF 36 07EF push word ptr ds:[7EFh] ; (3BE9:07EF=0E88h)
|
||
3BE9:10B8 FF 1E 07AA call dword ptr ds:[7AAh] ; (3BE9:07AA=0C032h)
|
||
3BE9:10BC 83 C4 0A add sp,0Ah
|
||
3BE9:10BF FC cld ; Clear direction
|
||
3BE9:10C0 1E push ds
|
||
3BE9:10C1 07 pop es
|
||
3BE9:10C2 C3 retn
|
||
sub_74 endp
|
||
|
||
3BE9:10C3 loc_122: ; xref 3BE9:1129
|
||
3BE9:10C3 ,B5 01 mov ch,1
|
||
3BE9:10C5 EB 07 jmp short loc_124 ; (10CE)
|
||
3BE9:10C7 loc_123: ; xref 3BE9:1520
|
||
3BE9:10C7 ,C6 06 07C4 FF mov byte ptr ds:[7C4h],0FFh ; (3BE9:07C4=0C7h)
|
||
3BE9:10CC B5 04 mov ch,4
|
||
3BE9:10CE loc_124: ; xref 3BE9:10C5
|
||
3BE9:10CE B1 FF mov cl,0FFh
|
||
3BE9:10D0 89 0E 07B0 mov word ptr ds:[7B0h],cx ; (3BE9:07B0=2B0h)
|
||
3BE9:10D4 loc_125: ; xref 3BE9:15AD
|
||
3BE9:10D4 ,8B 26 0884 mov sp,word ptr ds:[884h] ; (3BE9:0884=0FE8h)
|
||
3BE9:10D8 E9 FF53 jmp loc_116 ; (102E)
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1357, 1616
|
||
;==========================================================================
|
||
|
||
3BE9:10DB sub_75 proc near
|
||
3BE9:10DB 32 ED xor ch,ch ; Zero register
|
||
3BE9:10DD 8B F2 mov si,dx
|
||
3BE9:10DF 8B FB mov di,bx
|
||
3BE9:10E1 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:10E3 C3 retn
|
||
sub_75 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:152B
|
||
;==========================================================================
|
||
|
||
3BE9:10E4 sub_76 proc near
|
||
3BE9:10E4 8A C8 mov cl,al
|
||
3BE9:10E6 B0 09 mov al,9
|
||
3BE9:10E8 E8 FFA2 call sub_73 ; (108D)
|
||
3BE9:10EB 0B DB or bx,bx ; Zero ?
|
||
3BE9:10ED 74 30 jz loc_ret_127 ; Jump if zero
|
||
3BE9:10EF 83 C3 08 add bx,8
|
||
3BE9:10F2 8B F3 mov si,bx
|
||
3BE9:10F4 ,BF 07C8 mov di,7C8h ; (3BE9:07C8=0)
|
||
3BE9:10F7 B9 000A mov cx,0Ah
|
||
3BE9:10FA F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:10FC 8B 36 07C8 mov si,word ptr ds:[7C8h] ; (3BE9:07C8=0)
|
||
3BE9:1100 ,BF 07D2 mov di,7D2h ; (3BE9:07D2=0B6h)
|
||
3BE9:1103 B9 0011 mov cx,11h
|
||
3BE9:1106 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:1108 8A 0E 07E1 mov cl,byte ptr ds:[7E1h] ; (3BE9:07E1=0B8h)
|
||
3BE9:110C D3 26 07D2 shl word ptr ds:[7D2h],cl ; (3BE9:07D2=3B6h) Shift w/zeros fill
|
||
3BE9:1110 A0 07D8 mov al,byte ptr ds:[7D8h] ; (3BE9:07D8=6)
|
||
3BE9:1113 0A C0 or al,al ; Zero ?
|
||
3BE9:1115 74 02 jz loc_126 ; Jump if zero
|
||
3BE9:1117 B0 01 mov al,1
|
||
3BE9:1119 loc_126: ; xref 3BE9:1115
|
||
3BE9:1119 FE C8 dec al
|
||
3BE9:111B A2 07E5 mov byte ptr ds:[7E5h],al ; (3BE9:07E5=4Fh)
|
||
3BE9:111E F9 stc ; Set carry flag
|
||
|
||
3BE9:111F loc_ret_127: ; xref 3BE9:10ED, 1127
|
||
3BE9:111F C3 retn
|
||
sub_76 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1437, 1662
|
||
;==========================================================================
|
||
|
||
3BE9:1120 sub_77 proc near
|
||
3BE9:1120 B0 0A mov al,0Ah
|
||
3BE9:1122 E8 FF70 call sub_74 ; (1095)
|
||
3BE9:1125 0A C0 or al,al ; Zero ?
|
||
3BE9:1127 74 F6 jz loc_ret_127 ; Jump if zero
|
||
3BE9:1129 E9 FF97 ;* jmp loc_122 ; (10C3)
|
||
sub_77 endp
|
||
|
||
3BE9:1129 db 0E9h, 97h,0FFh ; Fixup - byte match
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1434, 165A
|
||
;==========================================================================
|
||
|
||
3BE9:112C sub_78 proc near
|
||
3BE9:112C A1 07EA mov ax,word ptr ds:[7EAh] ; (3BE9:07EA=890Fh)
|
||
3BE9:112F 33 D2 xor dx,dx ; Zero register
|
||
3BE9:1131 8A 16 07EC mov dl,byte ptr ds:[7ECh] ; (3BE9:07EC=0Eh)
|
||
3BE9:1135 F7 36 07D2 div word ptr ds:[7D2h] ; (3BE9:07D2=3B6h) ax,dxrem=dx:ax/data
|
||
3BE9:1139 03 06 07DF add ax,word ptr ds:[7DFh] ; (3BE9:07DF=386h)
|
||
3BE9:113D A3 07BB mov word ptr ds:[7BBh],ax ; (3BE9:07BB=0C8A3h)
|
||
3BE9:1140 8A 0E 07E1 mov cl,byte ptr ds:[7E1h] ; (3BE9:07E1=0B8h)
|
||
3BE9:1144 D3 EA shr dx,cl ; Shift w/zeros fill
|
||
3BE9:1146 89 16 07BD mov word ptr ds:[7BDh],dx ; (3BE9:07BD=0A103h)
|
||
3BE9:114A C3 retn
|
||
sub_78 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1178, 14A2
|
||
;==========================================================================
|
||
|
||
3BE9:114B sub_79 proc near
|
||
3BE9:114B 8A 0E 07D4 mov cl,byte ptr ds:[7D4h] ; (3BE9:07D4=0A3h)
|
||
3BE9:114F 8A 2E 07E8 mov ch,byte ptr ds:[7E8h] ; (3BE9:07E8=0E0h)
|
||
3BE9:1153 D2 ED shr ch,cl ; Shift w/zeros fill
|
||
3BE9:1155 F6 D9 neg cl
|
||
3BE9:1157 80 C1 07 add cl,7
|
||
3BE9:115A A0 07E7 mov al,byte ptr ds:[7E7h] ; (3BE9:07E7=0D3h)
|
||
3BE9:115D D2 E0 shl al,cl ; Shift w/zeros fill
|
||
3BE9:115F 02 C5 add al,ch
|
||
3BE9:1161 C3 retn
|
||
sub_79 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1182, 14B5, 14BA
|
||
;==========================================================================
|
||
|
||
3BE9:1162 sub_80 proc near
|
||
3BE9:1162 ,BB 0896 mov bx,896h ; (3BE9:0896=0B0h)
|
||
3BE9:1165 03 D9 add bx,cx
|
||
3BE9:1167 80 3E 07E5 00 cmp byte ptr ds:[7E5h],0 ; (3BE9:07E5=4Fh)
|
||
3BE9:116C 74 05 je loc_128 ; Jump if equal
|
||
3BE9:116E 8A 1F mov bl,[bx]
|
||
3BE9:1170 32 FF xor bh,bh ; Zero register
|
||
3BE9:1172 C3 retn
|
||
3BE9:1173 loc_128: ; xref 3BE9:116C
|
||
3BE9:1173 03 D9 add bx,cx
|
||
3BE9:1175 8B 1F mov bx,[bx]
|
||
3BE9:1177 C3 retn
|
||
sub_80 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:141F
|
||
;==========================================================================
|
||
|
||
3BE9:1178 sub_81 proc near
|
||
3BE9:1178 E8 FFD0 call sub_79 ; (114B)
|
||
3BE9:117B A2 07E4 mov byte ptr ds:[7E4h],al ; (3BE9:07E4=8Ah)
|
||
3BE9:117E 8A C8 mov cl,al
|
||
3BE9:1180 32 ED xor ch,ch ; Zero register
|
||
3BE9:1182 E8 FFDD call sub_80 ; (1162)
|
||
3BE9:1185 89 1E 07EA mov word ptr ds:[7EAh],bx ; (3BE9:07EA=890Fh)
|
||
3BE9:1189 0B DB or bx,bx ; Zero ?
|
||
3BE9:118B C3 retn
|
||
sub_81 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1424
|
||
;==========================================================================
|
||
|
||
3BE9:118C sub_82 proc near
|
||
3BE9:118C 8A 0E 07D4 mov cl,byte ptr ds:[7D4h] ; (3BE9:07D4=0A3h)
|
||
3BE9:1190 A1 07EA mov ax,word ptr ds:[7EAh] ; (3BE9:07EA=890Fh)
|
||
3BE9:1193 32 FF xor bh,bh ; Zero register
|
||
3BE9:1195 8A DC mov bl,ah
|
||
3BE9:1197 D3 E0 shl ax,cl ; Shift w/zeros fill
|
||
3BE9:1199 D3 E3 shl bx,cl ; Shift w/zeros fill
|
||
3BE9:119B 93 xchg bx,ax
|
||
3BE9:119C A0 07E8 mov al,byte ptr ds:[7E8h] ; (3BE9:07E8=0E0h)
|
||
3BE9:119F 22 06 07D5 and al,byte ptr ds:[7D5h] ; (3BE9:07D5=0C8h)
|
||
3BE9:11A3 A2 07B6 mov byte ptr ds:[7B6h],al ; (3BE9:07B6=0C6h)
|
||
3BE9:11A6 0A D8 or bl,al
|
||
3BE9:11A8 89 1E 07EA mov word ptr ds:[7EAh],bx ; (3BE9:07EA=890Fh)
|
||
3BE9:11AC 88 26 07EC mov byte ptr ds:[7ECh],ah ; (3BE9:07EC=0Eh)
|
||
3BE9:11B0 C3 retn
|
||
sub_82 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:13CE, 1405
|
||
;==========================================================================
|
||
|
||
3BE9:11B1 sub_83 proc near
|
||
3BE9:11B1 A0 08A6 mov al,byte ptr ds:[8A6h] ; (3BE9:08A6=7)
|
||
3BE9:11B4 A2 07E8 mov byte ptr ds:[7E8h],al ; (3BE9:07E8=0E0h)
|
||
3BE9:11B7 80 3E 0895 00 cmp byte ptr ds:[895h],0 ; (3BE9:0895=0C3h)
|
||
3BE9:11BC 75 08 jne loc_129 ; Jump if not equal
|
||
3BE9:11BE E8 00A3 call sub_91 ; (1264)
|
||
3BE9:11C1 8A C8 mov cl,al
|
||
3BE9:11C3 E8 01A1 call sub_99 ; (1367)
|
||
3BE9:11C6 loc_129: ; xref 3BE9:11BC
|
||
3BE9:11C6 A0 0895 mov al,byte ptr ds:[895h] ; (3BE9:0895=0C3h)
|
||
3BE9:11C9 3C 81 cmp al,81h
|
||
3BE9:11CB 72 02 jb loc_130 ; Jump if below
|
||
3BE9:11CD B0 80 mov al,80h
|
||
3BE9:11CF loc_130: ; xref 3BE9:11CB
|
||
3BE9:11CF A2 07E6 mov byte ptr ds:[7E6h],al ; (3BE9:07E6=0Fh)
|
||
3BE9:11D2 A0 07D6 mov al,byte ptr ds:[7D6h] ; (3BE9:07D6=3)
|
||
3BE9:11D5 22 06 0892 and al,byte ptr ds:[892h] ; (3BE9:0892=1Dh)
|
||
3BE9:11D9 A2 07E7 mov byte ptr ds:[7E7h],al ; (3BE9:07E7=0D3h)
|
||
3BE9:11DC C3 retn
|
||
sub_83 endp
|
||
|
||
3BE9:11DD loc_131: ; xref 3BE9:143A, 15B5
|
||
3BE9:11DD ,B0 01 mov al,1
|
||
3BE9:11DF 02 06 07E8 add al,byte ptr ds:[7E8h] ; (3BE9:07E8=0E0h)
|
||
3BE9:11E3 A2 08A6 mov byte ptr ds:[8A6h],al ; (3BE9:08A6=7)
|
||
3BE9:11E6 80 3E 0895 80 cmp byte ptr ds:[895h],80h ; (3BE9:0895=0C3h)
|
||
3BE9:11EB 73 06 jae loc_ret_132 ; Jump if above or =
|
||
3BE9:11ED A0 07E6 mov al,byte ptr ds:[7E6h] ; (3BE9:07E6=0Fh)
|
||
3BE9:11F0 A2 0895 mov byte ptr ds:[895h],al ; (3BE9:0895=0C3h)
|
||
|
||
3BE9:11F3 loc_ret_132: ; xref 3BE9:11EB
|
||
3BE9:11F3 C3 retn
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:12C6, 134D
|
||
;==========================================================================
|
||
|
||
3BE9:11F4 sub_84 proc near
|
||
3BE9:11F4 8A 1E 07F1 mov bl,byte ptr ds:[7F1h] ; (3BE9:07F1=0C1h)
|
||
3BE9:11F8 32 FF xor bh,bh ; Zero register
|
||
3BE9:11FA 03 1E 07C6 add bx,word ptr ds:[7C6h] ; (3BE9:07C6=3B4h)
|
||
3BE9:11FE C3 retn
|
||
sub_84 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:124F
|
||
;==========================================================================
|
||
|
||
3BE9:11FF sub_85 proc near
|
||
3BE9:11FF A1 08CB mov ax,word ptr ds:[8CBh] ; (3BE9:08CB=744Eh)
|
||
3BE9:1202 B1 02 mov cl,2
|
||
3BE9:1204 D3 E8 shr ax,cl ; Shift w/zeros fill
|
||
3BE9:1206 A3 07EA mov word ptr ds:[7EAh],ax ; (3BE9:07EA=890Fh)
|
||
3BE9:1209 C6 06 07EC 00 mov byte ptr ds:[7ECh],0 ; (3BE9:07EC=0Eh)
|
||
3BE9:120E B4 03 mov ah,3
|
||
3BE9:1210 E8 03A5 call sub_108 ; (15B8)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:1022, 1431
|
||
|
||
3BE9:1213 sub_86:
|
||
3BE9:1213 A1 08C7 mov ax,word ptr ds:[8C7h] ; (3BE9:08C7=245Eh)
|
||
3BE9:1216 A3 07ED mov word ptr ds:[7EDh],ax ; (3BE9:07ED=3B0h)
|
||
3BE9:1219 A1 08C5 mov ax,word ptr ds:[8C5h] ; (3BE9:08C5=145h)
|
||
3BE9:121C A3 07EF mov word ptr ds:[7EFh],ax ; (3BE9:07EF=0E88h)
|
||
3BE9:121F C3 retn
|
||
sub_85 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:12BD, 1589
|
||
;==========================================================================
|
||
|
||
3BE9:1220 sub_87 proc near
|
||
3BE9:1220 ,BB 08CB mov bx,8CBh ; (3BE9:08CB=4Eh)
|
||
3BE9:1223 83 3F FF ;* cmp word ptr [bx],0FFFFh
|
||
3BE9:1223 db 83h, 3Fh,0FFh ; Fixup - byte match
|
||
3BE9:1226 C3 retn
|
||
sub_87 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:12B7
|
||
;==========================================================================
|
||
|
||
3BE9:1227 sub_88 proc near
|
||
3BE9:1227 loc_133: ; xref 3BE9:123D
|
||
3BE9:1227 C7 06 08CB FFFF mov word ptr ds:[8CBh],0FFFFh ; (3BE9:08CB=744Eh)
|
||
3BE9:122D C3 retn
|
||
sub_88 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:12BA
|
||
;==========================================================================
|
||
|
||
3BE9:122E sub_89 proc near
|
||
3BE9:122E 8B 16 07D9 mov dx,word ptr ds:[7D9h] ; (3BE9:07D9=3B4h)
|
||
3BE9:1232 8B 1E 08CB mov bx,word ptr ds:[8CBh] ; (3BE9:08CB=744Eh)
|
||
3BE9:1236 43 inc bx
|
||
3BE9:1237 89 1E 08CB mov word ptr ds:[8CBh],bx ; (3BE9:08CB=744Eh)
|
||
3BE9:123B 2B D3 sub dx,bx
|
||
3BE9:123D 72 E8 jc loc_133 ; Jump if carry Set
|
||
3BE9:123F A0 08CB mov al,byte ptr ds:[8CBh] ; (3BE9:08CB=4Eh)
|
||
3BE9:1242 24 03 and al,3
|
||
3BE9:1244 B1 05 mov cl,5
|
||
3BE9:1246 D2 E0 shl al,cl ; Shift w/zeros fill
|
||
3BE9:1248 A2 07F1 mov byte ptr ds:[7F1h],al ; (3BE9:07F1=0C1h)
|
||
3BE9:124B 0A C0 or al,al ; Zero ?
|
||
3BE9:124D 75 03 jnz loc_ret_134 ; Jump if not zero
|
||
3BE9:124F E8 FFAD call sub_85 ; (11FF)
|
||
|
||
3BE9:1252 loc_ret_134: ; xref 3BE9:124D
|
||
3BE9:1252 C3 retn
|
||
sub_89 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1307, 13AB
|
||
;==========================================================================
|
||
|
||
3BE9:1253 sub_90 proc near
|
||
3BE9:1253 51 push cx
|
||
3BE9:1254 8A 2E 07D6 mov ch,byte ptr ds:[7D6h] ; (3BE9:07D6=3)
|
||
3BE9:1258 F6 D5 not ch
|
||
3BE9:125A 22 CD and cl,ch
|
||
3BE9:125C 22 C5 and al,ch
|
||
3BE9:125E 2A C1 sub al,cl
|
||
3BE9:1260 24 1F and al,1Fh
|
||
3BE9:1262 59 pop cx
|
||
3BE9:1263 C3 retn
|
||
sub_90 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:11BE, 135A, 13EF
|
||
;==========================================================================
|
||
|
||
3BE9:1264 sub_91 proc near
|
||
3BE9:1264 ,BB 08A6 mov bx,8A6h ; (3BE9:08A6=7)
|
||
3BE9:1267 BA 1001 mov dx,1001h
|
||
3BE9:126A loc_135: ; xref 3BE9:1274, 1295
|
||
3BE9:126A FE CE dec dh
|
||
3BE9:126C 4B dec bx
|
||
3BE9:126D 80 3F 00 cmp byte ptr [bx],0
|
||
3BE9:1270 75 06 jne loc_136 ; Jump if not equal
|
||
3BE9:1272 0A F6 or dh,dh ; Zero ?
|
||
3BE9:1274 75 F4 jnz loc_135 ; Jump if not zero
|
||
3BE9:1276 FE CA dec dl
|
||
3BE9:1278 loc_136: ; xref 3BE9:1270
|
||
3BE9:1278 88 16 07E4 mov byte ptr ds:[7E4h],dl ; (3BE9:07E4=8Ah)
|
||
3BE9:127C 80 3E 07E5 FF cmp byte ptr ds:[7E5h],0FFh ; (3BE9:07E5=4Fh)
|
||
3BE9:1281 8A C6 mov al,dh
|
||
3BE9:1283 74 02 jz loc_137 ; Jump if zero
|
||
3BE9:1285 D0 E8 shr al,1 ; Shift w/zeros fill
|
||
3BE9:1287 loc_137: ; xref 3BE9:1283
|
||
3BE9:1287 B1 07 mov cl,7
|
||
3BE9:1289 2A 0E 07D4 sub cl,byte ptr ds:[7D4h] ; (3BE9:07D4=0A3h)
|
||
3BE9:128D D2 E8 shr al,cl ; Shift w/zeros fill
|
||
3BE9:128F 8A 26 07D6 mov ah,byte ptr ds:[7D6h] ; (3BE9:07D6=3)
|
||
3BE9:1293 3A E0 cmp ah,al
|
||
3BE9:1295 72 D3 jb loc_135 ; Jump if below
|
||
3BE9:1297 ,BB 0892 mov bx,892h ; (3BE9:0892=1Dh)
|
||
3BE9:129A 8A 0F mov cl,[bx]
|
||
3BE9:129C F6 D4 not ah
|
||
3BE9:129E 80 E4 1F and ah,1Fh
|
||
3BE9:12A1 22 E1 and ah,cl
|
||
3BE9:12A3 0A C4 or al,ah
|
||
3BE9:12A5 C3 retn
|
||
sub_91 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:12B4
|
||
;==========================================================================
|
||
|
||
3BE9:12A6 sub_92 proc near
|
||
3BE9:12A6 BB 0886 mov bx,886h
|
||
3BE9:12A9 89 1E 07C1 mov word ptr ds:[7C1h],bx ; (3BE9:07C1=0B8A3h)
|
||
3BE9:12AD 88 0E 08CD mov byte ptr ds:[8CDh],cl ; (3BE9:08CD=10h)
|
||
3BE9:12B1 C3 retn
|
||
sub_92 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1342, 13C6
|
||
;==========================================================================
|
||
|
||
3BE9:12B2 sub_93 proc near
|
||
3BE9:12B2 B1 0F mov cl,0Fh
|
||
3BE9:12B4 E8 FFEF call sub_92 ; (12A6)
|
||
3BE9:12B7 E8 FF6D call sub_88 ; (1227)
|
||
3BE9:12BA loc_138: ; xref 3BE9:12D7, 1315
|
||
3BE9:12BA ,E8 FF71 call sub_89 ; (122E)
|
||
3BE9:12BD E8 FF60 call sub_87 ; (1220)
|
||
3BE9:12C0 74 17 jz loc_139 ; Jump if zero
|
||
3BE9:12C2 8B 16 07C1 mov dx,word ptr ds:[7C1h] ; (3BE9:07C1=0B8A3h)
|
||
3BE9:12C6 E8 FF2B call sub_84 ; (11F4)
|
||
3BE9:12C9 8A 0E 08CD mov cl,byte ptr ds:[8CDh] ; (3BE9:08CD=10h)
|
||
3BE9:12CD 32 ED xor ch,ch ; Zero register
|
||
3BE9:12CF 8A 07 mov al,[bx]
|
||
3BE9:12D1 24 EF and al,0EFh
|
||
3BE9:12D3 3A 07 cmp al,[bx]
|
||
3BE9:12D5 74 0B je loc_140 ; Jump if equal
|
||
3BE9:12D7 EB E1 jmp short loc_138 ; (12BA)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:15AA
|
||
|
||
3BE9:12D9 sub_94:
|
||
3BE9:12D9 loc_139: ; xref 3BE9:12C0
|
||
3BE9:12D9 B0 FF mov al,0FFh
|
||
3BE9:12DB 8A E8 mov ch,al
|
||
3BE9:12DD FE C5 inc ch
|
||
3BE9:12DF E9 FDA7 jmp loc_121 ; (1089)
|
||
3BE9:12E2 loc_140: ; xref 3BE9:12D5, 1313
|
||
3BE9:12E2 ,0A C9 or cl,cl ; Zero ?
|
||
3BE9:12E4 74 32 jz loc_145 ; Jump if zero
|
||
3BE9:12E6 8B F2 mov si,dx
|
||
3BE9:12E8 AC lodsb ; String [si] to al
|
||
3BE9:12E9 24 7F and al,7Fh
|
||
3BE9:12EB 80 FD 0D cmp ch,0Dh
|
||
3BE9:12EE 74 1D je loc_143 ; Jump if equal
|
||
3BE9:12F0 80 FD 0C cmp ch,0Ch
|
||
3BE9:12F3 74 0F je loc_142 ; Jump if equal
|
||
3BE9:12F5 80 FD 0E cmp ch,0Eh
|
||
3BE9:12F8 75 02 jne loc_141 ; Jump if not equal
|
||
3BE9:12FA 24 3F and al,3Fh ; '?'
|
||
3BE9:12FC loc_141: ; xref 3BE9:12F8
|
||
3BE9:12FC 2A 07 sub al,[bx]
|
||
3BE9:12FE 24 7F and al,7Fh
|
||
3BE9:1300 75 13 jnz loc_144 ; Jump if not zero
|
||
3BE9:1302 EB 09 jmp short loc_143 ; (130D)
|
||
3BE9:1304 loc_142: ; xref 3BE9:12F3
|
||
3BE9:1304 51 push cx
|
||
3BE9:1305 8A 0F mov cl,[bx]
|
||
3BE9:1307 E8 FF49 call sub_90 ; (1253)
|
||
3BE9:130A 59 pop cx
|
||
3BE9:130B 75 08 jnz loc_144 ; Jump if not zero
|
||
3BE9:130D loc_143: ; xref 3BE9:12EE, 1302
|
||
3BE9:130D 42 inc dx
|
||
3BE9:130E 43 inc bx
|
||
3BE9:130F FE C5 inc ch
|
||
3BE9:1311 FE C9 dec cl
|
||
3BE9:1313 EB CD jmp short loc_140 ; (12E2)
|
||
3BE9:1315 loc_144: ; xref 3BE9:1300, 130B
|
||
3BE9:1315 E9 FFA2 ;* jmp loc_138 ; (12BA)
|
||
3BE9:1315 db 0E9h,0A2h,0FFh ; Fixup - byte match
|
||
3BE9:1318 loc_145: ; xref 3BE9:12E4
|
||
3BE9:1318 32 C0 xor al,al ; Zero register
|
||
3BE9:131A A2 07B0 mov byte ptr ds:[7B0h],al ; (3BE9:07B0=0B0h)
|
||
3BE9:131D 8A E8 mov ch,al
|
||
3BE9:131F FE C5 inc ch
|
||
3BE9:1321 C3 retn
|
||
sub_93 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:157D
|
||
;==========================================================================
|
||
|
||
3BE9:1322 sub_95 proc near
|
||
3BE9:1322 BB 0886 mov bx,886h
|
||
3BE9:1325 E8 0007 call sub_96 ; (132F)
|
||
3BE9:1328 75 17 jnz loc_ret_147 ; Jump if not zero
|
||
3BE9:132A B0 09 mov al,9
|
||
3BE9:132C E9 0276 jmp loc_181 ; (15A5)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:1325
|
||
|
||
3BE9:132F sub_96:
|
||
3BE9:132F B9 3F0B mov cx,3F0Bh
|
||
3BE9:1332 loc_146: ; xref 3BE9:133D
|
||
3BE9:1332 43 inc bx
|
||
3BE9:1333 8A C5 mov al,ch
|
||
3BE9:1335 2A 07 sub al,[bx]
|
||
3BE9:1337 22 C5 and al,ch
|
||
3BE9:1339 74 06 jz loc_ret_147 ; Jump if zero
|
||
3BE9:133B FE C9 dec cl
|
||
3BE9:133D 75 F3 jnz loc_146 ; Jump if not zero
|
||
3BE9:133F 0A C0 or al,al ; Zero ?
|
||
|
||
3BE9:1341 loc_ret_147: ; xref 3BE9:1328, 1339, 1345
|
||
3BE9:1341 C3 retn
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:1580
|
||
|
||
3BE9:1342 sub_97:
|
||
3BE9:1342 E8 FF6D call sub_93 ; (12B2)
|
||
3BE9:1345 74 FA jz loc_ret_147 ; Jump if zero
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:13CB
|
||
|
||
3BE9:1347 sub_98:
|
||
3BE9:1347 E9 044F jmp loc_189 ; (1799)
|
||
3BE9:134A loc_148: ; xref 3BE9:17A1
|
||
3BE9:134A ,8A 27 mov ah,[bx]
|
||
3BE9:134C 50 push ax
|
||
3BE9:134D E8 FEA4 call sub_84 ; (11F4)
|
||
3BE9:1350 8B D3 mov dx,bx
|
||
3BE9:1352 BB 0886 mov bx,886h
|
||
3BE9:1355 B1 20 mov cl,20h ; ' '
|
||
3BE9:1357 E8 FD81 call sub_75 ; (10DB)
|
||
3BE9:135A E8 FF07 call sub_91 ; (1264)
|
||
3BE9:135D 8A C8 mov cl,al
|
||
3BE9:135F 58 pop ax
|
||
3BE9:1360 5B pop bx
|
||
3BE9:1361 88 07 mov [bx],al
|
||
3BE9:1363 4B dec bx
|
||
3BE9:1364 4B dec bx
|
||
3BE9:1365 88 27 mov [bx],ah
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:11C3, 1400
|
||
|
||
3BE9:1367 sub_99:
|
||
3BE9:1367 32 ED xor ch,ch ; Zero register
|
||
3BE9:1369 ,BE 0895 mov si,895h ; (3BE9:0895=0C3h)
|
||
3BE9:136C 8A 07 mov al,[bx]
|
||
3BE9:136E 2A C1 sub al,cl
|
||
3BE9:1370 74 0B jz loc_151 ; Jump if zero
|
||
3BE9:1372 8A C5 mov al,ch
|
||
3BE9:1374 73 04 jnc loc_149 ; Jump if carry=0
|
||
3BE9:1376 B0 80 mov al,80h
|
||
3BE9:1378 0A 04 or al,[si]
|
||
3BE9:137A loc_149: ; xref 3BE9:1374
|
||
3BE9:137A 88 04 mov [si],al
|
||
|
||
3BE9:137C loc_ret_150: ; xref 3BE9:137F, 1389
|
||
3BE9:137C C3 retn
|
||
3BE9:137D loc_151: ; xref 3BE9:1370
|
||
3BE9:137D 38 04 cmp [si],al
|
||
3BE9:137F 75 FB jne loc_ret_150 ; Jump if not equal
|
||
3BE9:1381 32 C0 xor al,al ; Zero register
|
||
3BE9:1383 88 04 mov [si],al
|
||
3BE9:1385 38 06 07E4 cmp byte ptr ds:[7E4h],al ; (3BE9:07E4=8Ah)
|
||
3BE9:1389 74 F1 je loc_ret_150 ; Jump if equal
|
||
3BE9:138B C6 04 80 mov byte ptr [si],80h
|
||
3BE9:138E C3 retn
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:13FD
|
||
|
||
3BE9:138F sub_100:
|
||
3BE9:138F A0 0895 mov al,byte ptr ds:[895h] ; (3BE9:0895=0C3h)
|
||
3BE9:1392 3C 81 cmp al,81h
|
||
3BE9:1394 72 05 jb loc_ret_152 ; Jump if below
|
||
3BE9:1396 24 7F and al,7Fh
|
||
3BE9:1398 A2 0895 mov byte ptr ds:[895h],al ; (3BE9:0895=0C3h)
|
||
|
||
3BE9:139B loc_ret_152: ; xref 3BE9:1394
|
||
3BE9:139B C3 retn
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:1415
|
||
|
||
3BE9:139C sub_101:
|
||
3BE9:139C A0 0894 mov al,byte ptr ds:[894h] ; (3BE9:0894=7)
|
||
3BE9:139F A2 07E3 mov byte ptr ds:[7E3h],al ; (3BE9:07E3=0)
|
||
3BE9:13A2 ,BB 0892 mov bx,892h ; (3BE9:0892=1Dh)
|
||
3BE9:13A5 8A 07 mov al,[bx]
|
||
3BE9:13A7 8A C8 mov cl,al
|
||
3BE9:13A9 FE C1 inc cl
|
||
3BE9:13AB E8 FEA5 call sub_90 ; (1253)
|
||
3BE9:13AE 75 03 jnz loc_153 ; Jump if not zero
|
||
3BE9:13B0 E9 003A jmpn loc_157 ; (13ED)
|
||
3BE9:13B3 loc_153: ; xref 3BE9:13AE
|
||
3BE9:13B3 B0 1F mov al,1Fh
|
||
3BE9:13B5 22 C1 and al,cl
|
||
3BE9:13B7 88 07 mov [bx],al
|
||
3BE9:13B9 75 0B jnz loc_154 ; Jump if not zero
|
||
3BE9:13BB 83 C3 02 add bx,2
|
||
3BE9:13BE FE 07 inc byte ptr [bx]
|
||
3BE9:13C0 8A 07 mov al,[bx]
|
||
3BE9:13C2 24 3F and al,3Fh ; '?'
|
||
3BE9:13C4 74 13 jz loc_156 ; Jump if zero
|
||
3BE9:13C6 loc_154: ; xref 3BE9:13B9
|
||
3BE9:13C6 E8 FEE9 call sub_93 ; (12B2)
|
||
3BE9:13C9 74 0E jz loc_156 ; Jump if zero
|
||
3BE9:13CB E8 FF79 call sub_98 ; (1347)
|
||
3BE9:13CE loc_155: ; xref 3BE9:1403
|
||
3BE9:13CE ,E8 FDE0 call sub_83 ; (11B1)
|
||
3BE9:13D1 32 C0 xor al,al ; Zero register
|
||
3BE9:13D3 A2 07E8 mov byte ptr ds:[7E8h],al ; (3BE9:07E8=0E0h)
|
||
3BE9:13D6 E9 FCB0 jmp loc_121 ; (1089)
|
||
3BE9:13D9 loc_156: ; xref 3BE9:13C4, 13C9
|
||
3BE9:13D9 ,BB 0892 mov bx,892h ; (3BE9:0892=1Dh)
|
||
3BE9:13DC A0 07E3 mov al,byte ptr ds:[7E3h] ; (3BE9:07E3=0)
|
||
3BE9:13DF 88 47 02 mov [bx+2],al
|
||
3BE9:13E2 8A 07 mov al,[bx]
|
||
3BE9:13E4 FE C8 dec al
|
||
3BE9:13E6 24 1F and al,1Fh
|
||
3BE9:13E8 88 07 mov [bx],al
|
||
3BE9:13EA E9 FC9A jmp loc_120 ; (1087)
|
||
3BE9:13ED loc_157: ; xref 3BE9:13B0
|
||
3BE9:13ED 88 0F mov [bx],cl
|
||
3BE9:13EF E8 FE72 call sub_91 ; (1264)
|
||
3BE9:13F2 8A C8 mov cl,al
|
||
3BE9:13F4 3A 07 cmp al,[bx]
|
||
3BE9:13F6 73 05 jae loc_158 ; Jump if above or =
|
||
3BE9:13F8 FE 0F dec byte ptr [bx]
|
||
3BE9:13FA E9 FC8A jmp loc_120 ; (1087)
|
||
3BE9:13FD loc_158: ; xref 3BE9:13F6
|
||
3BE9:13FD E8 FF8F call sub_100 ; (138F)
|
||
3BE9:1400 E8 FF64 call sub_99 ; (1367)
|
||
3BE9:1403 EB C9 jmp short loc_155 ; (13CE)
|
||
3BE9:1405 loc_159: ; xref 3BE9:15A2
|
||
3BE9:1405 ,E8 FDA9 call sub_83 ; (11B1)
|
||
3BE9:1408 A0 07E8 mov al,byte ptr ds:[7E8h] ; (3BE9:07E8=0E0h)
|
||
3BE9:140B 3A 06 07E6 cmp al,byte ptr ds:[7E6h] ; (3BE9:07E6=0Fh)
|
||
3BE9:140F 72 0E jb loc_160 ; Jump if below
|
||
3BE9:1411 3C 80 cmp al,80h
|
||
3BE9:1413 75 28 jne loc_163 ; Jump if not equal
|
||
3BE9:1415 E8 FF84 call sub_101 ; (139C)
|
||
3BE9:1418 80 3E 07B0 00 cmp byte ptr ds:[7B0h],0 ; (3BE9:07B0=0B0h)
|
||
3BE9:141D 75 1E jne loc_163 ; Jump if not equal
|
||
3BE9:141F loc_160: ; xref 3BE9:140F
|
||
3BE9:141F E8 FD56 call sub_81 ; (1178)
|
||
3BE9:1422 74 19 jz loc_163 ; Jump if zero
|
||
3BE9:1424 E8 FD65 call sub_82 ; (118C)
|
||
3BE9:1427 E8 0016 call sub_102 ; (1440)
|
||
3BE9:142A 72 0E jc loc_162 ; Jump if carry Set
|
||
3BE9:142C 75 03 jnz loc_161 ; Jump if not zero
|
||
3BE9:142E E9 017F jmp loc_182 ; (15B0)
|
||
3BE9:1431 loc_161: ; xref 3BE9:142C
|
||
3BE9:1431 E8 FDDF call sub_86 ; (1213)
|
||
3BE9:1434 E8 FCF5 call sub_78 ; (112C)
|
||
3BE9:1437 E8 FCE6 call sub_77 ; (1120)
|
||
3BE9:143A loc_162: ; xref 3BE9:142A
|
||
3BE9:143A E9 FDA0 jmp loc_131 ; (11DD)
|
||
3BE9:143D loc_163: ; xref 3BE9:1413, 141D, 1422
|
||
3BE9:143D E9 FC47 jmp loc_120 ; (1087)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:1427
|
||
|
||
3BE9:1440 sub_102:
|
||
3BE9:1440 8A 2E 07B6 mov ch,byte ptr ds:[7B6h] ; (3BE9:07B6=0C6h)
|
||
3BE9:1444 A0 07B3 mov al,byte ptr ds:[7B3h] ; (3BE9:07B3=33h)
|
||
3BE9:1447 3C 02 cmp al,2
|
||
3BE9:1449 72 07 jb loc_164 ; Jump if below
|
||
3BE9:144B FE C8 dec al
|
||
3BE9:144D A2 07B3 mov byte ptr ds:[7B3h],al ; (3BE9:07B3=33h)
|
||
3BE9:1450 F9 stc ; Set carry flag
|
||
3BE9:1451 C3 retn
|
||
3BE9:1452 loc_164: ; xref 3BE9:1449
|
||
3BE9:1452 A0 07E2 mov al,byte ptr ds:[7E2h] ; (3BE9:07E2=80h)
|
||
3BE9:1455 8A C8 mov cl,al
|
||
3BE9:1457 22 C5 and al,ch
|
||
3BE9:1459 74 0A jz loc_167 ; Jump if zero
|
||
3BE9:145B loc_165: ; xref 3BE9:146E
|
||
3BE9:145B 0A C9 or cl,cl ; Zero ?
|
||
3BE9:145D 74 03 jz loc_166 ; Jump if zero
|
||
3BE9:145F 32 C0 xor al,al ; Zero register
|
||
3BE9:1461 C3 retn
|
||
3BE9:1462 loc_166: ; xref 3BE9:145D
|
||
3BE9:1462 0C 01 or al,1
|
||
3BE9:1464 C3 retn
|
||
3BE9:1465 loc_167: ; xref 3BE9:1459
|
||
3BE9:1465 8A F1 mov dh,cl
|
||
3BE9:1467 F6 D6 not dh
|
||
3BE9:1469 A0 07B4 mov al,byte ptr ds:[7B4h] ; (3BE9:07B4=0C0h)
|
||
3BE9:146C 3C 02 cmp al,2
|
||
3BE9:146E 72 EB jb loc_165 ; Jump if below
|
||
3BE9:1470 ,BB 07E8 mov bx,7E8h ; (3BE9:07E8=0E0h)
|
||
3BE9:1473 8A 27 mov ah,[bx]
|
||
3BE9:1475 02 C4 add al,ah
|
||
3BE9:1477 3C 80 cmp al,80h
|
||
3BE9:1479 72 02 jb loc_168 ; Jump if below
|
||
3BE9:147B B0 80 mov al,80h
|
||
3BE9:147D loc_168: ; xref 3BE9:1479
|
||
3BE9:147D 51 push cx
|
||
3BE9:147E C6 07 7F mov byte ptr [bx],7Fh
|
||
3BE9:1481 53 push bx
|
||
3BE9:1482 50 push ax
|
||
3BE9:1483 8A D8 mov bl,al
|
||
3BE9:1485 A0 07D5 mov al,byte ptr ds:[7D5h] ; (3BE9:07D5=0C8h)
|
||
3BE9:1488 8A D0 mov dl,al
|
||
3BE9:148A FE C2 inc dl
|
||
3BE9:148C F6 D0 not al
|
||
3BE9:148E 22 E0 and ah,al
|
||
3BE9:1490 A0 07E6 mov al,byte ptr ds:[7E6h] ; (3BE9:07E6=0Fh)
|
||
3BE9:1493 22 C6 and al,dh
|
||
3BE9:1495 3A C3 cmp al,bl
|
||
3BE9:1497 72 02 jb loc_169 ; Jump if below
|
||
3BE9:1499 8A C3 mov al,bl
|
||
3BE9:149B loc_169: ; xref 3BE9:1497
|
||
3BE9:149B 2A C4 sub al,ah
|
||
3BE9:149D 3A C2 cmp al,dl
|
||
3BE9:149F 72 43 jb loc_172 ; Jump if below
|
||
3BE9:14A1 50 push ax
|
||
3BE9:14A2 E8 FCA6 call sub_79 ; (114B)
|
||
3BE9:14A5 8A E8 mov ch,al
|
||
3BE9:14A7 A0 07E4 mov al,byte ptr ds:[7E4h] ; (3BE9:07E4=8Ah)
|
||
3BE9:14AA 3A C5 cmp al,ch
|
||
3BE9:14AC 8A D0 mov dl,al
|
||
3BE9:14AE 74 1E jz loc_171 ; Jump if zero
|
||
3BE9:14B0 8A C8 mov cl,al
|
||
3BE9:14B2 51 push cx
|
||
3BE9:14B3 B5 00 mov ch,0
|
||
3BE9:14B5 E8 FCAA call sub_80 ; (1162)
|
||
3BE9:14B8 loc_170: ; xref 3BE9:14C1
|
||
3BE9:14B8 53 push bx
|
||
3BE9:14B9 41 inc cx
|
||
3BE9:14BA E8 FCA5 call sub_80 ; (1162)
|
||
3BE9:14BD 5A pop dx
|
||
3BE9:14BE 42 inc dx
|
||
3BE9:14BF 3B DA cmp bx,dx
|
||
3BE9:14C1 74 F5 je loc_170 ; Jump if equal
|
||
3BE9:14C3 FE C9 dec cl
|
||
3BE9:14C5 5A pop dx
|
||
3BE9:14C6 8A C6 mov al,dh
|
||
3BE9:14C8 3A C1 cmp al,cl
|
||
3BE9:14CA 72 02 jb loc_171 ; Jump if below
|
||
3BE9:14CC 8A C1 mov al,cl
|
||
3BE9:14CE loc_171: ; xref 3BE9:14AE, 14CA
|
||
3BE9:14CE 2A C2 sub al,dl
|
||
3BE9:14D0 8A E8 mov ch,al
|
||
3BE9:14D2 FE C5 inc ch
|
||
3BE9:14D4 A0 07D5 mov al,byte ptr ds:[7D5h] ; (3BE9:07D5=0C8h)
|
||
3BE9:14D7 FE C0 inc al
|
||
3BE9:14D9 F6 E5 mul ch ; ax = reg * al
|
||
3BE9:14DB 59 pop cx
|
||
3BE9:14DC 86 C1 xchg al,cl
|
||
3BE9:14DE 3A C1 cmp al,cl
|
||
3BE9:14E0 72 02 jb loc_172 ; Jump if below
|
||
3BE9:14E2 8A C1 mov al,cl
|
||
3BE9:14E4 loc_172: ; xref 3BE9:149F, 14E0
|
||
3BE9:14E4 59 pop cx
|
||
3BE9:14E5 5B pop bx
|
||
3BE9:14E6 88 2F mov [bx],ch
|
||
3BE9:14E8 59 pop cx
|
||
3BE9:14E9 8A 36 07B4 mov dh,byte ptr ds:[7B4h] ; (3BE9:07B4=0C0h)
|
||
3BE9:14ED 2A C5 sub al,ch
|
||
3BE9:14EF 3A C6 cmp al,dh
|
||
3BE9:14F1 72 02 jb loc_173 ; Jump if below
|
||
3BE9:14F3 8A C6 mov al,dh
|
||
3BE9:14F5 loc_173: ; xref 3BE9:14F1
|
||
3BE9:14F5 F6 D1 not cl
|
||
3BE9:14F7 22 C1 and al,cl
|
||
3BE9:14F9 74 0E jz loc_ret_174 ; Jump if zero
|
||
3BE9:14FB A2 07B3 mov byte ptr ds:[7B3h],al ; (3BE9:07B3=33h)
|
||
3BE9:14FE 8A 0E 07E1 mov cl,byte ptr ds:[7E1h] ; (3BE9:07E1=0B8h)
|
||
3BE9:1502 D2 E8 shr al,cl ; Shift w/zeros fill
|
||
3BE9:1504 A2 07B5 mov byte ptr ds:[7B5h],al ; (3BE9:07B5=0A3h)
|
||
3BE9:1507 0C 01 or al,1
|
||
|
||
3BE9:1509 loc_ret_174: ; xref 3BE9:14F9
|
||
3BE9:1509 C3 retn
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:156B
|
||
|
||
3BE9:150A sub_103:
|
||
3BE9:150A 88 16 08C9 mov byte ptr ds:[8C9h],dl ; (3BE9:08C9=0DFh)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:1558
|
||
|
||
3BE9:150E sub_104:
|
||
3BE9:150E A0 08C9 mov al,byte ptr ds:[8C9h] ; (3BE9:08C9=0DFh)
|
||
3BE9:1511 3A 06 07C4 cmp al,byte ptr ds:[7C4h] ; (3BE9:07C4=0C7h)
|
||
3BE9:1515 75 05 jne loc_175 ; Jump if not equal
|
||
3BE9:1517 FE C0 inc al
|
||
3BE9:1519 74 05 jz loc_176 ; Jump if zero
|
||
3BE9:151B C3 retn
|
||
3BE9:151C loc_175: ; xref 3BE9:1515
|
||
3BE9:151C 3C 10 cmp al,10h
|
||
3BE9:151E 72 03 jb loc_177 ; Jump if below
|
||
3BE9:1520 loc_176: ; xref 3BE9:1519, 152E
|
||
3BE9:1520 E9 FBA4 jmp loc_123 ; (10C7)
|
||
3BE9:1523 loc_177: ; xref 3BE9:151E
|
||
3BE9:1523 A2 07E9 mov byte ptr ds:[7E9h],al ; (3BE9:07E9=8Bh)
|
||
3BE9:1526 A2 07C4 mov byte ptr ds:[7C4h],al ; (3BE9:07C4=0C7h)
|
||
3BE9:1529 33 D2 xor dx,dx ; Zero register
|
||
3BE9:152B E8 FBB6 call sub_76 ; (10E4)
|
||
3BE9:152E 73 F0 jnc loc_176 ; Jump if carry=0
|
||
3BE9:1530 C3 retn
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:1575, 159F
|
||
|
||
3BE9:1531 sub_105:
|
||
3BE9:1531 E8 FB12 call sub_71 ; (1046)
|
||
3BE9:1534 B1 7F mov cl,7Fh
|
||
3BE9:1536 ,BB 088D mov bx,88Dh ; (3BE9:088D=8Ch)
|
||
3BE9:1539 20 0F and [bx],cl
|
||
3BE9:153B 20 4F 01 and [bx+1],cl
|
||
3BE9:153E 80 67 05 1F and byte ptr [bx+5],1Fh
|
||
3BE9:1542 C6 06 07B2 FF mov byte ptr ds:[7B2h],0FFh ; (3BE9:07B2=0C3h)
|
||
3BE9:1547 A0 0886 mov al,byte ptr ds:[886h] ; (3BE9:0886=0)
|
||
3BE9:154A A2 07AE mov byte ptr ds:[7AEh],al ; (3BE9:07AE=1)
|
||
3BE9:154D 24 1F and al,1Fh
|
||
3BE9:154F FE C8 dec al
|
||
3BE9:1551 3C FF cmp al,0FFh
|
||
3BE9:1553 74 03 je loc_178 ; Jump if equal
|
||
3BE9:1555 A2 08C9 mov byte ptr ds:[8C9h],al ; (3BE9:08C9=0DFh)
|
||
3BE9:1558 loc_178: ; xref 3BE9:1553
|
||
3BE9:1558 E8 FFB3 call sub_104 ; (150E)
|
||
3BE9:155B A0 08CA mov al,byte ptr ds:[8CAh] ; (3BE9:08CA=3Ch)
|
||
3BE9:155E A2 0886 mov byte ptr ds:[886h],al ; (3BE9:0886=0)
|
||
3BE9:1561 C3 retn
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:1602
|
||
|
||
3BE9:1562 sub_106:
|
||
3BE9:1562 B5 00 mov ch,0
|
||
3BE9:1564 8B F3 mov si,bx
|
||
3BE9:1566 8B FA mov di,dx
|
||
3BE9:1568 F3/ A6 repe cmpsb ; Rep zf=1+cx >0 Cmp [si] to es:[di]
|
||
3BE9:156A C3 retn
|
||
;* No entry point to code
|
||
3BE9:156B E8 FF9C call sub_103 ; (150A)
|
||
3BE9:156E A0 08C9 mov al,byte ptr ds:[8C9h] ; (3BE9:08C9=0DFh)
|
||
3BE9:1571 A2 07BF mov byte ptr ds:[7BFh],al ; (3BE9:07BF=0C2h)
|
||
3BE9:1574 C3 retn
|
||
;* No entry point to code
|
||
3BE9:1575 E8 FFB9 call sub_105 ; (1531)
|
||
3BE9:1578 C6 06 0894 00 mov byte ptr ds:[894h],0 ; (3BE9:0894=7)
|
||
3BE9:157D E8 FDA2 call sub_95 ; (1322)
|
||
3BE9:1580 E8 FDBF call sub_97 ; (1342)
|
||
3BE9:1583 E8 0003 call sub_107 ; (1589)
|
||
3BE9:1586 32 C0 xor al,al ; Zero register
|
||
|
||
3BE9:1588 loc_ret_179: ; xref 3BE9:158C
|
||
3BE9:1588 C3 retn
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:1583
|
||
|
||
3BE9:1589 sub_107:
|
||
3BE9:1589 E8 FC94 call sub_87 ; (1220)
|
||
3BE9:158C 74 FA jz loc_ret_179 ; Jump if zero
|
||
3BE9:158E ,BB 08A6 mov bx,8A6h ; (3BE9:08A6=7)
|
||
3BE9:1591 80 3F FF cmp byte ptr [bx],0FFh
|
||
3BE9:1594 75 05 jne loc_180 ; Jump if not equal
|
||
3BE9:1596 A0 0893 mov al,byte ptr ds:[893h] ; (3BE9:0893=0)
|
||
3BE9:1599 88 07 mov [bx],al
|
||
3BE9:159B loc_180: ; xref 3BE9:1594
|
||
3BE9:159B 5B pop bx
|
||
3BE9:159C B1 40 mov cl,40h ; '@'
|
||
3BE9:159E C3 retn
|
||
;* No entry point to code
|
||
3BE9:159F E8 FF8F call sub_105 ; (1531)
|
||
3BE9:15A2 E9 FE60 jmp loc_159 ; (1405)
|
||
3BE9:15A5 loc_181: ; xref 3BE9:132C
|
||
3BE9:15A5 8A C8 mov cl,al
|
||
3BE9:15A7 A2 07B1 mov byte ptr ds:[7B1h],al ; (3BE9:07B1=2)
|
||
3BE9:15AA E8 FD2C call sub_94 ; (12D9)
|
||
3BE9:15AD E9 FB24 jmp loc_125 ; (10D4)
|
||
3BE9:15B0 loc_182: ; xref 3BE9:142E
|
||
3BE9:15B0 B4 01 mov ah,1
|
||
3BE9:15B2 E8 000D call sub_109 ; (15C2)
|
||
3BE9:15B5 E9 FC25 jmp loc_131 ; (11DD)
|
||
sub_95 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1210
|
||
;==========================================================================
|
||
|
||
3BE9:15B8 sub_108 proc near
|
||
3BE9:15B8 8C 1E 07ED mov word ptr ds:[7EDh],ds ; (3BE9:07ED=3B0h)
|
||
3BE9:15BC 8B 1E 07CE mov bx,word ptr ds:[7CEh] ; (3BE9:07CE=0C2A3h)
|
||
3BE9:15C0 EB 0A jmp short loc_183 ; (15CC)
|
||
|
||
;==== External Entry into Subroutine ======================================
|
||
;
|
||
; Called from: 3BE9:15B2
|
||
|
||
3BE9:15C2 sub_109:
|
||
3BE9:15C2 8B 1E 07D0 mov bx,word ptr ds:[7D0h] ; (3BE9:07D0=0A103h)
|
||
3BE9:15C6 C7 06 07ED 0000 mov word ptr ds:[7EDh],0 ; (3BE9:07ED=3B0h)
|
||
3BE9:15CC loc_183: ; xref 3BE9:15C0
|
||
3BE9:15CC 88 26 07B7 mov byte ptr ds:[7B7h],ah ; (3BE9:07B7=3)
|
||
3BE9:15D0 8A 0E 07E2 mov cl,byte ptr ds:[7E2h] ; (3BE9:07E2=80h)
|
||
3BE9:15D4 A0 07EA mov al,byte ptr ds:[7EAh] ; (3BE9:07EA=0Fh)
|
||
3BE9:15D7 22 C1 and al,cl
|
||
3BE9:15D9 A2 07B8 mov byte ptr ds:[7B8h],al ; (3BE9:07B8=0A1h)
|
||
3BE9:15DC F6 D1 not cl
|
||
3BE9:15DE 20 0E 07EA and byte ptr ds:[7EAh],cl ; (3BE9:07EA=0Fh)
|
||
3BE9:15E2 8B 1F mov bx,[bx]
|
||
3BE9:15E4 89 1E 07B9 mov word ptr ds:[7B9h],bx ; (3BE9:07B9=3B6h)
|
||
3BE9:15E8 8B 47 0A mov ax,[bx+0Ah]
|
||
3BE9:15EB 83 3E 07ED 00 cmp word ptr ds:[7EDh],0 ; (3BE9:07ED=3B0h)
|
||
3BE9:15F0 75 05 jne loc_184 ; Jump if not equal
|
||
3BE9:15F2 A3 07ED mov word ptr ds:[7EDh],ax ; (3BE9:07ED=3B0h)
|
||
3BE9:15F5 33 C0 xor ax,ax ; Zero register
|
||
3BE9:15F7 loc_184: ; xref 3BE9:15F0
|
||
3BE9:15F7 A3 07EF mov word ptr ds:[7EFh],ax ; (3BE9:07EF=0E88h)
|
||
3BE9:15FA E8 0052 call sub_110 ; (164F)
|
||
3BE9:15FD 80 3F FF cmp byte ptr [bx],0FFh
|
||
3BE9:1600 74 05 je loc_185 ; Jump if equal
|
||
3BE9:1602 E8 FF5D call sub_106 ; (1562)
|
||
3BE9:1605 74 15 jz loc_186 ; Jump if zero
|
||
3BE9:1607 loc_185: ; xref 3BE9:1600
|
||
3BE9:1607 8B 1E 07B9 mov bx,word ptr ds:[7B9h] ; (3BE9:07B9=3B6h)
|
||
3BE9:160B C6 07 FF mov byte ptr [bx],0FFh
|
||
3BE9:160E B0 02 mov al,2
|
||
3BE9:1610 E8 0046 call sub_111 ; (1659)
|
||
3BE9:1613 E8 0039 call sub_110 ; (164F)
|
||
3BE9:1616 E8 FAC2 call sub_75 ; (10DB)
|
||
3BE9:1619 C6 05 00 mov byte ptr [di],0
|
||
3BE9:161C loc_186: ; xref 3BE9:1605
|
||
3BE9:161C 32 C0 xor al,al ; Zero register
|
||
3BE9:161E 8A 26 07B8 mov ah,byte ptr ds:[7B8h] ; (3BE9:07B8=0A1h)
|
||
3BE9:1622 D1 E8 shr ax,1 ; Shift w/zeros fill
|
||
3BE9:1624 8B 36 07EF mov si,word ptr ds:[7EFh] ; (3BE9:07EF=0E88h)
|
||
3BE9:1628 03 F0 add si,ax
|
||
3BE9:162A A0 07B7 mov al,byte ptr ds:[7B7h] ; (3BE9:07B7=3)
|
||
3BE9:162D 3C 03 cmp al,3
|
||
3BE9:162F 75 05 jne loc_187 ; Jump if not equal
|
||
3BE9:1631 89 36 07C6 mov word ptr ds:[7C6h],si ; (3BE9:07C6=3B4h)
|
||
3BE9:1635 C3 retn
|
||
3BE9:1636 loc_187: ; xref 3BE9:162F
|
||
3BE9:1636 B9 0040 mov cx,40h
|
||
3BE9:1639 8B 3E 08C5 mov di,word ptr ds:[8C5h] ; (3BE9:08C5=145h)
|
||
3BE9:163D A1 08C7 mov ax,word ptr ds:[8C7h] ; (3BE9:08C7=245Eh)
|
||
3BE9:1640 8B 16 07ED mov dx,word ptr ds:[7EDh] ; (3BE9:07ED=3B0h)
|
||
3BE9:1644 1E push ds
|
||
3BE9:1645 06 push es
|
||
3BE9:1646 8E DA mov ds,dx
|
||
3BE9:1648 8E C0 mov es,ax
|
||
3BE9:164A F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:164C 07 pop es
|
||
3BE9:164D 1F pop ds
|
||
3BE9:164E C3 retn
|
||
sub_108 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:15FA, 1613
|
||
;==========================================================================
|
||
|
||
3BE9:164F sub_110 proc near
|
||
3BE9:164F 8B 1E 07B9 mov bx,word ptr ds:[7B9h] ; (3BE9:07B9=3B6h)
|
||
3BE9:1653 BA 07E9 mov dx,7E9h
|
||
3BE9:1656 B1 04 mov cl,4
|
||
3BE9:1658 C3 retn
|
||
sub_110 endp
|
||
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1610
|
||
;==========================================================================
|
||
|
||
3BE9:1659 sub_111 proc near
|
||
3BE9:1659 50 push ax
|
||
3BE9:165A E8 FACF call sub_78 ; (112C)
|
||
3BE9:165D 58 pop ax
|
||
3BE9:165E FE C8 dec al
|
||
3BE9:1660 78 03 js loc_188 ; Jump if sign=1
|
||
3BE9:1662 E8 FABB call sub_77 ; (1120)
|
||
3BE9:1665 loc_188: ; xref 3BE9:1660
|
||
3BE9:1665 ,BE 07BB mov si,7BBh ; (3BE9:07BB=0A3h)
|
||
3BE9:1668 8B 3E 07B9 mov di,word ptr ds:[7B9h] ; (3BE9:07B9=3B6h)
|
||
3BE9:166C 83 C7 06 add di,6
|
||
3BE9:166F B9 0002 mov cx,2
|
||
3BE9:1672 F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:1674 C3 retn
|
||
sub_111 endp
|
||
|
||
3BE9:1675 00 09 db 0, 9
|
||
3BE9:1677 0009[00] db 9 dup (0)
|
||
3BE9:1680 01 00 db 1, 0
|
||
3BE9:1682 000C[00] db 12 dup (0)
|
||
3BE9:168E 01 FF db 01h,0FFh
|
||
3BE9:1690 0035[00] db 53 dup (0)
|
||
3BE9:16C5 008A[CC] db 138 dup (0CCh)
|
||
3BE9:174F 00 00 db 0, 0
|
||
3BE9:1751 43 4F 50 59 52 49 db 'COPYRIGHT(C)1983,DIGITAL RESEARC'
|
||
3BE9:1757 47 48 54 28 43 29
|
||
3BE9:175D 31 39 38 33 2C 44
|
||
3BE9:1763 49 47 49 54 41 4C
|
||
3BE9:1769 20 52 45 53 45 41
|
||
3BE9:176F 52 43
|
||
3BE9:1771 48 28 30 31 2F 32 db 'H(01/26/83)XXXX-0000-005434'
|
||
3BE9:1777 36 2F 38 33 29 58
|
||
3BE9:177D 58 58 58 2D 30 30
|
||
3BE9:1783 30 30 2D 30 30 35
|
||
3BE9:1789 34 33 34
|
||
3BE9:178C 000D[00] db 13 dup (0)
|
||
3BE9:1799 loc_189: ; xref 3BE9:1347
|
||
3BE9:1799 ,BB 0894 mov bx,894h ; (3BE9:0894=7)
|
||
3BE9:179C 8A 07 mov al,[bx]
|
||
3BE9:179E 53 push bx
|
||
3BE9:179F 4B dec bx
|
||
3BE9:17A0 4B dec bx
|
||
3BE9:17A1 E9 FBA6 jmp loc_148 ; (134A)
|
||
3BE9:17A4 0027[00] db 39 dup (0)
|
||
3BE9:17CB E9 4A 02 E9 C6 00 db 0E9h, 4Ah, 02h,0E9h,0C6h, 00h
|
||
3BE9:17D1 loc_190:
|
||
3BE9:17D1 E9 0004 jmpn loc_191 ; (17D8)
|
||
3BE9:17D4 85 0C B1 0C db 85h, 0Ch,0B1h, 0Ch
|
||
3BE9:17D8 loc_191: ; xref 3BE9:17D1
|
||
3BE9:17D8 FC cld ; Clear direction
|
||
3BE9:17D9 B2 00 mov dl,0
|
||
3BE9:17DB B1 20 mov cl,20h ; ' '
|
||
3BE9:17DD CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:17DF 2E: 8B 16 090B mov dx,word ptr cs:[90Bh] ; (3BE9:090B=8ED8h)
|
||
3BE9:17E4 B1 0F mov cl,0Fh
|
||
3BE9:17E6 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:17E8 3C FF cmp al,0FFh
|
||
3BE9:17EA 74 02 je loc_192 ; Jump if equal
|
||
3BE9:17EC EB 1E jmp short loc_193 ; (180C)
|
||
3BE9:17EE loc_192: ; xref 3BE9:17EA
|
||
3BE9:17EE BA 0C7B mov dx,0C7Bh
|
||
3BE9:17F1 2E: 89 16 0909 mov word ptr cs:[909h],dx ; (3BE9:0909=8C06h)
|
||
3BE9:17F6 BA 0C8F mov dx,0C8Fh
|
||
3BE9:17F9 2E: 89 16 090B mov word ptr cs:[90Bh],dx ; (3BE9:090B=8ED8h)
|
||
3BE9:17FE B1 0F mov cl,0Fh
|
||
3BE9:1800 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:1802 3C FF cmp al,0FFh
|
||
3BE9:1804 75 06 jne loc_193 ; Jump if not equal
|
||
3BE9:1806 ,BE 0C4B mov si,0C4Bh ; (3BE9:0C4B=0FCh)
|
||
3BE9:1809 E9 005A jmpn loc_195 ; (1866)
|
||
3BE9:180C loc_193: ; xref 3BE9:17EC, 1804
|
||
3BE9:180C 2E: 8B 36 0909 mov si,word ptr cs:[909h] ; (3BE9:0909=8C06h)
|
||
3BE9:1811 E8 0075 call sub_112 ; (1889)
|
||
3BE9:1814 8C DA mov dx,ds
|
||
3BE9:1816 B1 33 mov cl,33h ; '3'
|
||
3BE9:1818 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:181A BA 0CD3 mov dx,0CD3h
|
||
3BE9:181D B1 1A mov cl,1Ah
|
||
3BE9:181F CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:1821 B2 01 mov dl,1
|
||
3BE9:1823 B1 2C mov cl,2Ch ; ','
|
||
3BE9:1825 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:1827 2E: 8B 16 090B mov dx,word ptr cs:[90Bh] ; (3BE9:090B=8ED8h)
|
||
3BE9:182C B1 14 mov cl,14h
|
||
3BE9:182E CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:1830 BA 0080 mov dx,80h
|
||
3BE9:1833 B1 2C mov cl,2Ch ; ','
|
||
3BE9:1835 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:1837 BA 0000 mov dx,0
|
||
3BE9:183A B1 1A mov cl,1Ah
|
||
3BE9:183C CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:183E 8B 16 0CD6 mov dx,word ptr data_177+2 ; (3BE9:0CD6=3031h)
|
||
3BE9:1842 loc_194: ; xref 3BE9:1861
|
||
3BE9:1842 52 push dx
|
||
3BE9:1843 B1 33 mov cl,33h ; '3'
|
||
3BE9:1845 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:1847 B4 0E mov ah,0Eh
|
||
3BE9:1849 B0 2E mov al,2Eh ; '.'
|
||
3BE9:184B CD 10 int 10h ; Video display ah=functn 0Eh
|
||
; write char al, teletype mode
|
||
3BE9:184D 2E: 8B 16 090B mov dx,word ptr cs:[90Bh] ; (3BE9:090B=8ED8h)
|
||
3BE9:1852 B1 14 mov cl,14h
|
||
3BE9:1854 CD E0 int 0E0h ; ??INT Non-standard interrupt
|
||
3BE9:1856 5A pop dx
|
||
3BE9:1857 81 C2 0400 add dx,400h
|
||
3BE9:185B 3C 01 cmp al,1
|
||
3BE9:185D 74 0D je loc_197 ; Jump if equal
|
||
3BE9:185F 3C 00 cmp al,0
|
||
3BE9:1861 74 DF je loc_194 ; Jump if equal
|
||
3BE9:1863 ,BE 0C61 mov si,0C61h ; (3BE9:0C61=0FFh)
|
||
3BE9:1866 loc_195: ; xref 3BE9:1809
|
||
3BE9:1866 E8 0020 call sub_112 ; (1889)
|
||
3BE9:1869 FB sti ; Enable interrupts
|
||
3BE9:186A loc_196: ; xref 3BE9:186A
|
||
3BE9:186A EB FE jmp short loc_196 ; (186A)
|
||
3BE9:186C loc_197: ; xref 3BE9:185D
|
||
3BE9:186C 33 C0 xor ax,ax ; Zero register
|
||
3BE9:186E A3 0CD4 mov data_177,ax ; (3BE9:0CD4=4446h)
|
||
3BE9:1871 8E 1E 0CD6 mov ds,word ptr data_177+2 ; (3BE9:0CD6=3031h)
|
||
3BE9:1875 2E: 80 3E 0CDC 00 cmp cs:data_179,0 ; (3BE9:0CDC=30h)
|
||
3BE9:187B 74 05 je loc_198 ; Jump if equal
|
||
3BE9:187D 2E: 8E 1E 0CDF mov ds,cs:data_180 ; (3BE9:0CDF=302Dh)
|
||
3BE9:1882 loc_198: ; xref 3BE9:187B
|
||
3BE9:1882 B2 00 mov dl,0
|
||
3BE9:1884 2E: FF 2E 0CD4 jmp dword ptr cs:data_177 ; (3BE9:0CD4=4446h)
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:1811, 1866
|
||
;==========================================================================
|
||
|
||
3BE9:1889 sub_112 proc near
|
||
3BE9:1889 loc_199: ; xref 3BE9:1894
|
||
3BE9:1889 ,AC lodsb ; String [si] to al
|
||
3BE9:188A 84 C0 test al,al
|
||
3BE9:188C 74 08 jz loc_ret_200 ; Jump if zero
|
||
3BE9:188E B4 0E mov ah,0Eh
|
||
3BE9:1890 B7 00 mov bh,0
|
||
3BE9:1892 CD 10 int 10h ; Video display ah=functn 0Eh
|
||
; write char al, teletype mode
|
||
3BE9:1894 EB F3 jmp short loc_199 ; (1889)
|
||
|
||
3BE9:1896 loc_ret_200: ; xref 3BE9:188C
|
||
3BE9:1896 C3 retn
|
||
sub_112 endp
|
||
|
||
;* No entry point to code
|
||
3BE9:1897 FC cld ; Clear direction
|
||
3BE9:1898 32 E4 xor ah,ah ; Zero register
|
||
3BE9:189A D0 E0 shl al,1 ; Shift w/zeros fill
|
||
3BE9:189C 8B D8 mov bx,ax
|
||
3BE9:189E FF 97 0B6A call data_156[bx] ;*(3BE9:0B6A=0FFE6h)
|
||
3BE9:18A2 8B D8 mov bx,ax
|
||
3BE9:18A4 CB retf
|
||
;* No entry point to code
|
||
3BE9:18A5 C3 retn
|
||
;* No entry point to code
|
||
3BE9:18A6 ,BB 0BAB mov bx,0BABh ; (3BE9:0BAB=0F8h)
|
||
3BE9:18A9 E8 0003 call sub_113 ; (18AF)
|
||
3BE9:18AC 8B C3 mov ax,bx
|
||
3BE9:18AE C3 retn
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:18A9
|
||
;==========================================================================
|
||
|
||
3BE9:18AF sub_113 proc near
|
||
3BE9:18AF 06 push es
|
||
3BE9:18B0 B8 FFFF mov ax,0FFFFh
|
||
3BE9:18B3 8E C0 mov es,ax
|
||
3BE9:18B5 26: 80 3E 000E 02 cmp byte ptr es:data_268e,2 ; (FFFF:000E=0FCh)
|
||
3BE9:18BB 75 0F jne loc_201 ; Jump if not equal
|
||
3BE9:18BD BF 0003 mov di,3
|
||
3BE9:18C0 2B C0 sub ax,ax
|
||
3BE9:18C2 8E C0 mov es,ax
|
||
3BE9:18C4 26: C6 06 0000 00 mov byte ptr es:data_1e,0 ; (0000:0000=60h)
|
||
3BE9:18CA EB 29 jmp short loc_203 ; (18F5)
|
||
3BE9:18CC loc_201: ; xref 3BE9:18BB
|
||
3BE9:18CC 33 C0 xor ax,ax ; Zero register
|
||
3BE9:18CE 8E C0 mov es,ax
|
||
3BE9:18D0 26: A0 7DFF mov al,es:data_4e ; (0000:7DFF=15h)
|
||
3BE9:18D4 1E push ds
|
||
3BE9:18D5 07 pop es
|
||
3BE9:18D6 ,BF 0B8D mov di,0B8Dh ; (3BE9:0B8D=88h)
|
||
3BE9:18D9 B1 05 mov cl,5
|
||
3BE9:18DB F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al
|
||
3BE9:18DD 74 04 jz loc_202 ; Jump if zero
|
||
3BE9:18DF 33 DB xor bx,bx ; Zero register
|
||
3BE9:18E1 EB 29 jmp short loc_204 ; (190C)
|
||
3BE9:18E3 loc_202: ; xref 3BE9:18DD
|
||
3BE9:18E3 81 EF 0B8D sub di,0B8Dh
|
||
3BE9:18E7 4F dec di
|
||
3BE9:18E8 B8 0040 mov ax,40h
|
||
3BE9:18EB 8E C0 mov es,ax
|
||
3BE9:18ED 8A 85 0B92 mov al,byte ptr ds:[0B92h][di] ; (3BE9:0B92=74h)
|
||
3BE9:18F1 26: A2 0090 mov es:data_5e,al ; (0040:0090=7)
|
||
3BE9:18F5 loc_203: ; xref 3BE9:18CA
|
||
3BE9:18F5 D1 E7 shl di,1 ; Shift w/zeros fill
|
||
3BE9:18F7 8B 85 0BA1 mov ax,word ptr ds:[0BA1h][di] ; (3BE9:0BA1=0AEE9h)
|
||
3BE9:18FB 89 47 08 mov [bx+8],ax
|
||
3BE9:18FE 8B F0 mov si,ax
|
||
3BE9:1900 8A 04 mov al,[si]
|
||
3BE9:1902 A2 0B83 mov byte ptr ds:[0B83h],al ; (3BE9:0B83=0BBh)
|
||
3BE9:1905 8B 85 0B97 mov ax,word ptr ds:[0B97h][di] ; (3BE9:0B97=6DB1h)
|
||
3BE9:1909 A3 0B80 mov word ptr ds:[0B80h],ax ; (3BE9:0B80=34Fh)
|
||
3BE9:190C loc_204: ; xref 3BE9:18E1
|
||
3BE9:190C 07 pop es
|
||
3BE9:190D C3 retn
|
||
sub_113 endp
|
||
|
||
3BE9:190E 8B EC db 8Bh,0ECh
|
||
3BE9:1910 loc_205: ; xref 3BE9:19A3
|
||
3BE9:1910 ,8A 5E 0F mov bl,[bp+0Fh]
|
||
3BE9:1913 0A DB or bl,bl ; Zero ?
|
||
3BE9:1915 75 03 jnz loc_206 ; Jump if not zero
|
||
3BE9:1917 E9 008C jmp loc_212 ; (19A6)
|
||
3BE9:191A loc_206: ; xref 3BE9:1915
|
||
3BE9:191A A0 0B83 mov al,byte ptr ds:[0B83h] ; (3BE9:0B83=0BBh)
|
||
3BE9:191D 98 cbw ; Convrt byte to word
|
||
3BE9:191E 2B 46 0A sub ax,[bp+0Ah]
|
||
3BE9:1921 3A D8 cmp bl,al
|
||
3BE9:1923 76 02 jbe loc_207 ; Jump if below or =
|
||
3BE9:1925 8A D8 mov bl,al
|
||
3BE9:1927 loc_207: ; xref 3BE9:1923
|
||
3BE9:1927 8B 46 08 mov ax,[bp+8]
|
||
3BE9:192A B1 04 mov cl,4
|
||
3BE9:192C D3 E0 shl ax,cl ; Shift w/zeros fill
|
||
3BE9:192E 03 46 06 add ax,[bp+6]
|
||
3BE9:1931 F7 D0 not ax
|
||
3BE9:1933 B1 09 mov cl,9
|
||
3BE9:1935 D3 E8 shr ax,cl ; Shift w/zeros fill
|
||
3BE9:1937 3A D8 cmp bl,al
|
||
3BE9:1939 76 02 jbe loc_208 ; Jump if below or =
|
||
3BE9:193B 8A D8 mov bl,al
|
||
3BE9:193D loc_208: ; xref 3BE9:1939
|
||
3BE9:193D 0A DB or bl,bl ; Zero ?
|
||
3BE9:193F 74 6C jz loc_214 ; Jump if zero
|
||
3BE9:1941 C6 06 0B8C 00 mov byte ptr ds:[0B8Ch],0 ; (3BE9:0B8C=30h)
|
||
3BE9:1946 88 1E 0B85 mov byte ptr ds:[0B85h],bl ; (3BE9:0B85=0)
|
||
3BE9:194A 8B 46 06 mov ax,[bp+6]
|
||
3BE9:194D A3 0B88 mov word ptr ds:[0B88h],ax ; (3BE9:0B88=0F3F7h)
|
||
3BE9:1950 8B 46 08 mov ax,[bp+8]
|
||
3BE9:1953 A3 0B8A mov word ptr ds:[0B8Ah],ax ; (3BE9:0B8A=0C280h)
|
||
3BE9:1956 loc_209: ; xref 3BE9:19C1
|
||
3BE9:1956 ,8B 46 0C mov ax,[bp+0Ch]
|
||
3BE9:1959 FF 16 0B80 call word ptr ds:[0B80h] ; (3BE9:0B80=34Fh)
|
||
3BE9:195D 06 push es
|
||
3BE9:195E 53 push bx
|
||
3BE9:195F E8 0062 call sub_114 ; (19C4)
|
||
3BE9:1962 5B pop bx
|
||
3BE9:1963 07 pop es
|
||
3BE9:1964 80 3E 0B87 00 cmp byte ptr ds:[0B87h],0 ; (3BE9:0B87=0D2h)
|
||
3BE9:1969 75 3E jne loc_213 ; Jump if not equal
|
||
3BE9:196B F6 06 0B8C FF test byte ptr ds:[0B8Ch],0FFh ; (3BE9:0B8C=30h)
|
||
3BE9:1970 74 0D jz loc_210 ; Jump if zero
|
||
3BE9:1972 06 push es
|
||
3BE9:1973 B9 0100 mov cx,100h
|
||
3BE9:1976 C4 7E 06 les di,dword ptr [bp+6] ; Load seg:offset ptr
|
||
3BE9:1979 ,BE 10E0 mov si,10E0h ; (3BE9:10E0=0FBh)
|
||
3BE9:197C F3/ A5 rep movsw ; Rep when cx >0 Mov [si] to es:[di]
|
||
3BE9:197E 07 pop es
|
||
3BE9:197F loc_210: ; xref 3BE9:1970
|
||
3BE9:197F A0 0B85 mov al,byte ptr ds:[0B85h] ; (3BE9:0B85=0)
|
||
3BE9:1982 28 46 0F sub [bp+0Fh],al
|
||
3BE9:1985 74 1F jz loc_212 ; Jump if zero
|
||
3BE9:1987 32 E4 xor ah,ah ; Zero register
|
||
3BE9:1989 8B D0 mov dx,ax
|
||
3BE9:198B B1 05 mov cl,5
|
||
3BE9:198D D3 E2 shl dx,cl ; Shift w/zeros fill
|
||
3BE9:198F 01 56 08 add [bp+8],dx
|
||
3BE9:1992 03 46 0A add ax,[bp+0Ah]
|
||
3BE9:1995 3A 06 0B83 cmp al,byte ptr ds:[0B83h] ; (3BE9:0B83=0BBh)
|
||
3BE9:1999 72 05 jb loc_211 ; Jump if below
|
||
3BE9:199B 33 C0 xor ax,ax ; Zero register
|
||
3BE9:199D FF 46 0C inc word ptr [bp+0Ch]
|
||
3BE9:19A0 loc_211: ; xref 3BE9:1999
|
||
3BE9:19A0 89 46 0A mov [bp+0Ah],ax
|
||
3BE9:19A3 E9 FF6A jmp loc_205 ; (1910)
|
||
3BE9:19A6 loc_212: ; xref 3BE9:1917, 1985
|
||
3BE9:19A6 33 C0 xor ax,ax ; Zero register
|
||
3BE9:19A8 C3 retn
|
||
3BE9:19A9 loc_213: ; xref 3BE9:1969
|
||
3BE9:19A9 B8 0001 mov ax,1
|
||
3BE9:19AC C3 retn
|
||
3BE9:19AD loc_214: ; xref 3BE9:193F
|
||
3BE9:19AD C6 06 0B8C FF mov byte ptr ds:[0B8Ch],0FFh ; (3BE9:0B8C=30h)
|
||
3BE9:19B2 C6 06 0B85 01 mov byte ptr ds:[0B85h],1 ; (3BE9:0B85=0)
|
||
3BE9:19B7 C7 06 0B88 10E0 mov word ptr ds:[0B88h],10E0h ; (3BE9:0B88=0F3F7h)
|
||
3BE9:19BD 8C 1E 0B8A mov word ptr ds:[0B8Ah],ds ; (3BE9:0B8A=0C280h)
|
||
3BE9:19C1 E9 FF92 ;* jmp loc_209 ; (1956)
|
||
3BE9:19C1 db 0E9h, 92h,0FFh ; Fixup - byte match
|
||
|
||
;==========================================================================
|
||
; SUBROUTINE
|
||
;
|
||
; Called from: 3BE9:195F
|
||
;==========================================================================
|
||
|
||
3BE9:19C4 sub_114 proc near
|
||
3BE9:19C4 8A 56 0E mov dl,[bp+0Eh]
|
||
3BE9:19C7 8B 4E 0A mov cx,[bp+0Ah]
|
||
3BE9:19CA FE C1 inc cl
|
||
3BE9:19CC 8A 36 0B84 mov dh,byte ptr ds:[0B84h] ; (3BE9:0B84=0Ah)
|
||
3BE9:19D0 8A 2E 0B82 mov ch,byte ptr ds:[0B82h] ; (3BE9:0B82=0F9h)
|
||
3BE9:19D4 A0 0B85 mov al,byte ptr ds:[0B85h] ; (3BE9:0B85=0)
|
||
3BE9:19D7 C4 1E 0B88 les bx,dword ptr ds:[0B88h] ; (3BE9:0B88=0F3F7h) Load seg:offset p
|
||
3BE9:19DB C6 06 0B86 03 mov byte ptr ds:[0B86h],3 ; (3BE9:0B86=2Bh)
|
||
3BE9:19E0 loc_215: ; xref 3BE9:19EF
|
||
3BE9:19E0 B4 02 mov ah,2
|
||
3BE9:19E2 CD 13 int 13h ; Disk dl=drive ? ah=func 02h
|
||
; read sectors to memory es:bx
|
||
; al=#,ch=cyl,cl=sectr,dh=head
|
||
3BE9:19E4 72 01 jc loc_216 ; Jump if carry Set
|
||
3BE9:19E6 C3 retn
|
||
3BE9:19E7 loc_216: ; xref 3BE9:19E4
|
||
3BE9:19E7 B4 00 mov ah,0
|
||
3BE9:19E9 CD 13 int 13h ; Disk dl=drive ? ah=func 00h
|
||
; reset disk, al=return status
|
||
3BE9:19EB FE 0E 0B86 dec byte ptr ds:[0B86h] ; (3BE9:0B86=2Bh)
|
||
3BE9:19EF 75 EF jnz loc_215 ; Jump if not zero
|
||
3BE9:19F1 C6 06 0B87 01 mov byte ptr ds:[0B87h],1 ; (3BE9:0B87=0D2h)
|
||
3BE9:19F6 C3 retn
|
||
sub_114 endp
|
||
|
||
;* No entry point to code
|
||
3BE9:19F7 C6 06 0B84 00 mov byte ptr ds:[0B84h],0 ; (3BE9:0B84=0Ah)
|
||
3BE9:19FC 3C 28 cmp al,28h ; '('
|
||
3BE9:19FE 72 08 jb loc_217 ; Jump if below
|
||
3BE9:1A00 FE 06 0B84 inc byte ptr ds:[0B84h] ; (3BE9:0B84=0Ah)
|
||
3BE9:1A04 F6 D8 neg al
|
||
3BE9:1A06 04 4F add al,4Fh ; 'O'
|
||
3BE9:1A08 loc_217: ; xref 3BE9:19FE
|
||
3BE9:1A08 A2 0B82 mov byte ptr ds:[0B82h],al ; (3BE9:0B82=0F9h)
|
||
3BE9:1A0B C3 retn
|
||
;* No entry point to code
|
||
3BE9:1A0C B1 02 mov cl,2
|
||
3BE9:1A0E F6 F1 div cl ; al, ah rem = ax/reg
|
||
3BE9:1A10 88 26 0B84 mov byte ptr ds:[0B84h],ah ; (3BE9:0B84=0Ah)
|
||
3BE9:1A14 A2 0B82 mov byte ptr ds:[0B82h],al ; (3BE9:0B82=0F9h)
|
||
3BE9:1A17 C3 retn
|
||
;* No entry point to code
|
||
3BE9:1A18 FC cld ; Clear direction
|
||
3BE9:1A19 8C D8 mov ax,ds
|
||
3BE9:1A1B 01 06 0C45 add word ptr ds:[0C45h],ax ; (3BE9:0C45=26FFh)
|
||
3BE9:1A1F B8 0600 mov ax,600h
|
||
3BE9:1A22 B9 0000 mov cx,0
|
||
3BE9:1A25 BA 184F mov dx,184Fh
|
||
3BE9:1A28 B7 07 mov bh,7
|
||
3BE9:1A2A CD 10 int 10h ; Video display ah=functn 06h
|
||
; scroll up, al=lines
|
||
; bh=attrib, cx+dx=window size
|
||
3BE9:1A2C B4 02 mov ah,2
|
||
3BE9:1A2E 33 D2 xor dx,dx ; Zero register
|
||
3BE9:1A30 32 FF xor bh,bh ; Zero register
|
||
3BE9:1A32 CD 10 int 10h ; Video display ah=functn 02h
|
||
; set cursor location in dx
|
||
3BE9:1A34 CB retf
|
||
3BE9:1A35 DA 09 DA 09 DA 09 db 0DAh, 09h,0DAh, 09h,0DAh, 09h
|
||
3BE9:1A3B DA 09 DA 09 DA 09 db 0DAh, 09h,0DAh, 09h,0DAh, 09h
|
||
3BE9:1A41 DA 09 DA 09 DA 09 db 0DAh, 09h,0DAh, 09h,0DAh, 09h
|
||
3BE9:1A47 DB 09 43 0A 2C 0B db 0DBh, 09h, 43h, 0Ah, 2Ch, 0Bh
|
||
3BE9:1A4D 0008[00] db 8 dup (0)
|
||
3BE9:1A55 01 00 00 00 01 10 db 01h, 00h, 00h, 00h, 01h, 10h
|
||
3BE9:1A5B 11 20 74 74 74 54 db 11h, 20h, 74h, 74h, 74h, 54h
|
||
3BE9:1A61 15 2C 0B 2C 0B 41 db 15h, 2Ch, 0Bh, 2Ch, 0Bh, 41h
|
||
3BE9:1A67 0B 41 0B 41 0B BF db 0Bh, 41h, 0Bh, 41h, 0Bh,0BFh
|
||
3BE9:1A6D 0B D0 0B E1 0B F2 db 0Bh,0D0h, 0Bh,0E1h, 0Bh,0F2h
|
||
3BE9:1A73 0B 03 0C 00 db 0Bh, 03h, 0Ch, 00h
|
||
3BE9:1A77 0007[00] db 7 dup (0)
|
||
3BE9:1A7E F2 0B 00 00 00 00 db 0F2h, 0Bh, 00h, 00h, 00h, 00h
|
||
3BE9:1A84 25 0C 38 0C 00 00 db 25h, 0Ch, 38h, 0Ch, 00h, 00h
|
||
3BE9:1A8A 08 00 03 07 00 9B db 08h, 00h, 03h, 07h, 00h, 9Bh
|
||
3BE9:1A90 00 3F 00 C0 00 10 db 00h, 3Fh, 00h,0C0h, 00h, 10h
|
||
3BE9:1A96 00 01 00 02 03 08 db 00h, 01h, 00h, 02h, 03h, 08h
|
||
3BE9:1A9C 00 04 0F 01 9D 00 db 00h, 04h, 0Fh, 01h, 9Dh, 00h
|
||
3BE9:1AA2 3F 00 80 00 10 00 db 3Fh, 00h, 80h, 00h, 10h, 00h
|
||
3BE9:1AA8 01 00 02 03 09 00 db 01h, 00h, 02h, 03h, 09h, 00h
|
||
3BE9:1AAE 04 0F 01 AA 00 3F db 04h, 0Fh, 01h,0AAh, 00h, 3Fh
|
||
3BE9:1AB4 00 80 00 10 00 04 db 00h, 80h, 00h, 10h, 00h, 04h
|
||
3BE9:1ABA 00 02 03 09 00 04 db 00h, 02h, 03h, 09h, 00h, 04h
|
||
3BE9:1AC0 0F 00 5E 01 FF 00 db 0Fh, 00h, 5Eh, 01h,0FFh, 00h
|
||
3BE9:1AC6 F0 00 40 00 04 00 db 0F0h, 00h, 40h, 00h, 04h, 00h
|
||
3BE9:1ACC 02 03 db 02h, 03h
|
||
3BE9:1ACE 0022[CC] db 34 dup (0CCh)
|
||
3BE9:1AF0 28 0C 01 FF db 28h, 0Ch, 01h,0FFh
|
||
3BE9:1AF4 0009[00] db 9 dup (0)
|
||
3BE9:1AFD E0 0E 00 00 00 00 db 0E0h, 0Eh, 00h, 00h, 00h, 00h
|
||
3BE9:1B03 3B 0C 01 FF 00 db 3Bh, 0Ch, 01h,0FFh, 00h
|
||
3BE9:1B08 0008[00] db 8 dup (0)
|
||
3BE9:1B10 2E 01 00 00 00 00 db 2Eh, 01h, 00h, 00h, 00h, 00h
|
||
3BE9:1B16 0D db 0Dh
|
||
3BE9:1B17 2A 2A 2A 20 53 79 db '*** Systemdisk ? ***', 0
|
||
3BE9:1B1D 73 74 65 6D 64 69
|
||
3BE9:1B23 73 6B 20 3F 20 2A
|
||
3BE9:1B29 2A 2A 00
|
||
3BE9:1B2C 0D 0A 2A 2A 2A 20 db 0Dh, 0Ah, '*** Disk read error **'
|
||
3BE9:1B32 44 69 73 6B 20 72
|
||
3BE9:1B38 65 61 64 20 65 72
|
||
3BE9:1B3E 72 6F 72 20 2A 2A
|
||
3BE9:1B44 2A 00 db '*', 0
|
||
3BE9:1B46 43 43 50 4D 2E 53 db 'CCPM.SYS ', 0
|
||
3BE9:1B4C 59 53 20 00
|
||
3BE9:1B50 50 43 50 4D 2E 53 db 'PCPM.SYS ', 0
|
||
3BE9:1B56 59 53 20 00
|
||
3BE9:1B5A 01 db 1
|
||
3BE9:1B5B 43 43 50 4D 20 20 db 'CCPM SYS'
|
||
3BE9:1B61 20 20 53 59 53
|
||
3BE9:1B66 0016[00] db 22 dup (0)
|
||
3BE9:1B7C 01 db 1
|
||
3BE9:1B7D 50 43 50 4D 20 20 db 'PCPM SYS'
|
||
3BE9:1B83 20 20 53 59 53
|
||
3BE9:1B88 124B[00] db 4683 dup (0)
|
||
3BE9:2DD3 04 00 db 4, 0
|
||
3BE9:2DD5 1B 5B 32 4A 0D 0A db 1Bh, '[2J', 0Dh, 0Ah, 'Dieser DSK'
|
||
3BE9:2DDB 44 69 65 73 65 72
|
||
3BE9:2DE1 20 44 53 4B
|
||
3BE9:2DE5 4D 41 49 4E 54 20 db 'MAINT benoetigt das PG685 und Co'
|
||
3BE9:2DEB 62 65 6E 6F 65 74
|
||
3BE9:2DF1 69 67 74 20 64 61
|
||
3BE9:2DF7 73 20 50 47 36 38
|
||
3BE9:2DFD 35 20 75 6E 64 20
|
||
3BE9:2E03 43 6F
|
||
3BE9:2E05 6E 63 75 72 72 65 db 'ncurrent CP/M 3.1', 0Dh, 0Ah, '$'
|
||
3BE9:2E0B 6E 74 20 43 50 2F
|
||
3BE9:2E11 4D 20 33 2E 31 0D
|
||
3BE9:2E17 0A 24
|
||
3BE9:2E19 0D 0A 44 69 65 73 db 0Dh, 0Ah, 'Dieser DSKMAINT benoet'
|
||
3BE9:2E1F 65 72 20 44 53 4B
|
||
3BE9:2E25 4D 41 49 4E 54 20
|
||
3BE9:2E2B 62 65 6E 6F 65 74
|
||
3BE9:2E31 69 67 74 20 64 61 db 'igt das PG685 und Personal CP/M '
|
||
3BE9:2E37 73 20 50 47 36 38
|
||
3BE9:2E3D 35 20 75 6E 64 20
|
||
3BE9:2E43 50 65 72 73 6F 6E
|
||
3BE9:2E49 61 6C 20 43 50 2F
|
||
3BE9:2E4F 4D 20
|
||
3BE9:2E51 56 65 72 73 69 6F db 'Version 1.0 oder 2.0', 0Dh, 0Ah, '$'
|
||
3BE9:2E57 6E 20 31 2E 30 20
|
||
3BE9:2E5D 6F 64 65 72 20 32
|
||
3BE9:2E63 2E 30 0D 0A 24
|
||
3BE9:2E68 0D 0A 44 69 65 73 db 0Dh, 0Ah, 'Dieser DSKMAINT benoet'
|
||
3BE9:2E6E 65 72 20 44 53 4B
|
||
3BE9:2E74 4D 41 49 4E 54 20
|
||
3BE9:2E7A 62 65 6E 6F 65 74
|
||
3BE9:2E80 69 67 74 20 43 6F db 'igt Concurrent CP/M XIOS-Version'
|
||
3BE9:2E86 6E 63 75 72 72 65
|
||
3BE9:2E8C 6E 74 20 43 50 2F
|
||
3BE9:2E92 4D 20 58 49 4F 53
|
||
3BE9:2E98 2D 56 65 72 73 69
|
||
3BE9:2E9E 6F 6E
|
||
3BE9:2EA0 20 33 2E 31 0D 0A db ' 3.1', 0Dh, 0Ah, '$'
|
||
3BE9:2EA6 24
|
||
3BE9:2EA7 F5 05 52 01 07 02 db 0F5h, 05h, 52h, 01h, 07h, 02h
|
||
3BE9:2EAD 14 02 89 00 02 0B db 14h, 02h, 89h, 00h, 02h, 0Bh
|
||
3BE9:2EB3 30 30 E7 01 3A 00 db 30h, 30h,0E7h, 01h, 3Ah, 00h
|
||
3BE9:2EB9 50 47 db 50h, 47h
|
||
3BE9:2EBB 20 36 38 35 3A 20 db ' 685: CCP/M-86 Disketten-Verwalt'
|
||
3BE9:2EC1 43 43 50 2F 4D 2D
|
||
3BE9:2EC7 38 36 20 44 69 73
|
||
3BE9:2ECD 6B 65 74 74 65 6E
|
||
3BE9:2ED3 2D 56 65 72 77 61
|
||
3BE9:2ED9 6C 74
|
||
3BE9:2EDB 75 6E 67 73 70 72 db 'ungsprogramm Version 3.0'
|
||
3BE9:2EE1 6F 67 72 61 6D 6D
|
||
3BE9:2EE7 20 56 65 72 73 69
|
||
3BE9:2EED 6F 6E 20 33 2E 30
|
||
3BE9:2EF3 02 0B 30 30 29 02 db 02h, 0Bh, 30h, 30h, 29h, 02h
|
||
3BE9:2EF9 3A 00 db ':', 0
|
||
3BE9:2EFB 50 47 20 36 38 35 db 'PG 685: PCP/M-86 Disketten-Verwa'
|
||
3BE9:2F01 3A 20 50 43 50 2F
|
||
3BE9:2F07 4D 2D 38 36 20 44
|
||
3BE9:2F0D 69 73 6B 65 74 74
|
||
3BE9:2F13 65 6E 2D 56 65 72
|
||
3BE9:2F19 77 61
|
||
3BE9:2F1B 6C 74 75 6E 67 73 db 'ltungsprogramm Version 3.0'
|
||
3BE9:2F21 70 72 6F 67 72 61
|
||
3BE9:2F27 6D 6D 20 56 65 72
|
||
3BE9:2F2D 73 69 6F 6E 20 33
|
||
3BE9:2F33 2E 30
|
||
3BE9:2F35 00 00 6D 02 A2 02 db 00h, 00h, 6Dh, 02h,0A2h, 02h
|
||
3BE9:2F3B 77 03 02 00 73 02 db 77h, 03h, 02h, 00h, 73h, 02h
|
||
3BE9:2F41 85 02 05 23 30 30 db 85h, 02h, 05h, 23h, 30h, 30h
|
||
3BE9:2F47 79 02 0A 00 db 79h, 02h, 0Ah, 00h
|
||
3BE9:2F4B 48 61 75 70 74 6D db 'Hauptmenue'
|
||
3BE9:2F51 65 6E 75 65
|
||
3BE9:2F55 07 1D 30 30 8B 02 db 07h, 1Dh, 30h, 30h, 8Bh, 02h
|
||
3BE9:2F5B 15 00 db 15h, 00h
|
||
3BE9:2F5D 57 41 45 48 4C 45 db 'WAEHLE EINE FUNKTION'
|
||
3BE9:2F63 20 45 49 4E 45 20
|
||
3BE9:2F69 20 46 55 4E 4B 54
|
||
3BE9:2F6F 49 4F 4E
|
||
3BE9:2F72 05 00 AE 02 B9 02 db 05h, 00h,0AEh, 02h,0B9h, 02h
|
||
3BE9:2F78 C4 02 CF 02 DA 02 db 0C4h, 02h,0CFh, 02h,0DAh, 02h
|
||
3BE9:2F7E 09 1A 66 31 20 01 db 09h, 1Ah, 66h, 31h, 20h, 01h
|
||
3BE9:2F84 00 0A 20 E5 02 0C db 00h, 0Ah, 20h,0E5h, 02h, 0Ch
|
||
3BE9:2F8A 1A 66 33 20 01 00 db 1Ah, 66h, 33h, 20h, 01h, 00h
|
||
3BE9:2F90 0D 20 FC 02 0F 1A db 0Dh, 20h,0FCh, 02h, 0Fh, 1Ah
|
||
3BE9:2F96 66 35 20 01 00 10 db 66h, 35h, 20h, 01h, 00h, 10h
|
||
3BE9:2F9C 20 17 03 12 1A 66 db 20h, 17h, 03h, 12h, 1Ah, 66h
|
||
3BE9:2FA2 37 20 01 00 13 20 db 37h, 20h, 01h, 00h, 13h, 20h
|
||
3BE9:2FA8 32 03 15 1A 66 38 db 32h, 03h, 15h, 1Ah, 66h, 38h
|
||
3BE9:2FAE 20 01 00 16 20 60 db 20h, 01h, 00h, 16h, 20h, 60h
|
||
3BE9:2FB4 03 15 00 db 03h, 15h, 00h
|
||
3BE9:2FB7 20 2D 2D 3E 20 44 db ' --> Diskette pruefen'
|
||
3BE9:2FBD 69 73 6B 65 74 74
|
||
3BE9:2FC3 65 20 70 72 75 65
|
||
3BE9:2FC9 66 65 6E
|
||
3BE9:2FCC 19 00 db 19h, 00h
|
||
3BE9:2FCE 20 2D 2D 3E 20 44 db ' --> Diskette duplizieren'
|
||
3BE9:2FD4 69 73 6B 65 74 74
|
||
3BE9:2FDA 65 20 64 75 70 6C
|
||
3BE9:2FE0 69 7A 69 65 72 65
|
||
3BE9:2FE6 6E
|
||
3BE9:2FE7 19 00 db 19h, 00h
|
||
3BE9:2FE9 20 2D 2D 3E 20 44 db ' --> Diskette formatieren,', 0
|
||
3BE9:2FEF 69 73 6B 65 74 74
|
||
3BE9:2FF5 65 20 66 6F 72 6D
|
||
3BE9:2FFB 61 74 69 65 72 65
|
||
3BE9:3001 6E 2C 00
|
||
3BE9:3004 20 2D 2D 3E 20 44 db ' --> Diskette formatieren und in'
|
||
3BE9:300A 69 73 6B 65 74 74
|
||
3BE9:3010 65 20 66 6F 72 6D
|
||
3BE9:3016 61 74 69 65 72 65
|
||
3BE9:301C 6E 20 75 6E 64 20
|
||
3BE9:3022 69 6E
|
||
3BE9:3024 69 74 69 61 6C 69 db 'itialis'
|
||
3BE9:302A 73
|
||
3BE9:302B 69 65 72 65 6E 15 db 69h, 65h, 72h, 65h, 6Eh, 15h
|
||
3BE9:3031 00 db 00h
|
||
3BE9:3032 20 2D 2D 3E 20 50 db ' --> Programm beenden'
|
||
3BE9:3038 72 6F 67 72 61 6D
|
||
3BE9:303E 6D 20 62 65 65 6E
|
||
3BE9:3044 64 65 6E
|
||
3BE9:3047 01 00 7B 03 05 50 db 01h, 00h, 7Bh, 03h, 05h, 50h
|
||
3BE9:304D 52 54 56 57 00 00 db 52h, 54h, 56h, 57h, 00h, 00h
|
||
3BE9:3053 01 02 03 00 db 01h, 02h, 03h, 00h
|
||
3BE9:3057 0046[00] db 70 dup (0)
|
||
3BE9:309D D3 03 75 05 66 05 db 0D3h, 03h, 75h, 05h, 66h, 05h
|
||
3BE9:30A3 02 00 BB 04 D9 03 db 02h, 00h,0BBh, 04h,0D9h, 03h
|
||
3BE9:30A9 07 0D 30 30 00 00 db 07h, 0Dh, 30h, 30h, 00h, 00h
|
||
3BE9:30AF 35 00 db '5', 0
|
||
3BE9:30B1 20 20 20 20 20 20 db ' ZU PRUEFENDE DISKETTE'
|
||
3BE9:30B7 20 20 20 20 20 5A
|
||
3BE9:30BD 55 20 50 52 55 45
|
||
3BE9:30C3 46 45 4E 44 45 20
|
||
3BE9:30C9 44 49 53 4B 45 54
|
||
3BE9:30CF 54 45
|
||
3BE9:30D1 20 41 55 53 57 41 db ' AUSWAEHLEN 5', 0
|
||
3BE9:30D7 45 48 4C 45 4E 20
|
||
3BE9:30DD 20 20 20 20 20 20
|
||
3BE9:30E3 20 20 20 35 00
|
||
3BE9:30E8 20 20 20 20 20 20 db ' ZU FORMATIERENDE DISKET'
|
||
3BE9:30EE 20 20 20 5A 55 20
|
||
3BE9:30F4 46 4F 52 4D 41 54
|
||
3BE9:30FA 49 45 52 45 4E 44
|
||
3BE9:3100 45 20 44 49 53 4B
|
||
3BE9:3106 45 54
|
||
3BE9:3108 54 45 20 41 55 53 db 'TE AUSWAEHLEN 5', 0
|
||
3BE9:310E 57 41 45 48 4C 45
|
||
3BE9:3114 4E 20 20 20 20 20
|
||
3BE9:311A 20 20 20 35 00
|
||
3BE9:311F 20 20 20 20 20 20 db ' QUELL-DISKETTE AU'
|
||
3BE9:3125 20 20 20 20 20 20
|
||
3BE9:312B 20 20 20 51 55 45
|
||
3BE9:3131 4C 4C 2D 44 49 53
|
||
3BE9:3137 4B 45 54 54 45 20
|
||
3BE9:313D 41 55
|
||
3BE9:313F 53 57 41 45 48 4C db 'SWAEHLEN 5', 0
|
||
3BE9:3145 45 4E 20 20 20 20
|
||
3BE9:314B 20 20 20 20 20 20
|
||
3BE9:3151 20 20 20 35 00
|
||
3BE9:3156 20 20 20 20 20 20 db ' ZIEL-DISKETTE AU'
|
||
3BE9:315C 20 20 20 20 20 20
|
||
3BE9:3162 20 20 20 20 5A 49
|
||
3BE9:3168 45 4C 2D 44 49 53
|
||
3BE9:316E 4B 45 54 54 45 20
|
||
3BE9:3174 41 55
|
||
3BE9:3176 53 57 41 45 48 4C db 'SWAEHLEN '
|
||
3BE9:317C 45 4E 20 20 20 20
|
||
3BE9:3182 20 20 20 20 20 20
|
||
3BE9:3188 20 20 20
|
||
3BE9:318B 05 14 30 30 00 00 db 05h, 14h, 30h, 30h, 00h, 00h
|
||
3BE9:3191 27 00 db 27h, 00h
|
||
3BE9:3193 20 db 20h
|
||
3BE9:3194 20 20 20 20 20 20 db ' Diskette pruefen '
|
||
3BE9:319A 20 20 20 44 69 73
|
||
3BE9:31A0 6B 65 74 74 65 20
|
||
3BE9:31A6 70 72 75 65 66 65
|
||
3BE9:31AC 6E 20 20 20 20 20
|
||
3BE9:31B2 20 20
|
||
3BE9:31B4 20 20 20 20 20 20 db ' ', 27h, 0
|
||
3BE9:31BA 27 00
|
||
3BE9:31BC 20 20 20 20 20 20 db ' Diskette duplizieren '
|
||
3BE9:31C2 20 20 20 20 44 69
|
||
3BE9:31C8 73 6B 65 74 74 65
|
||
3BE9:31CE 20 64 75 70 6C 69
|
||
3BE9:31D4 7A 69 65 72 65 6E
|
||
3BE9:31DA 20 20
|
||
3BE9:31DC 20 20 20 20 20 20 db ' ', 27h, 0
|
||
3BE9:31E2 20 27 00
|
||
3BE9:31E5 20 20 20 20 20 20 db ' Diskette formatieren '
|
||
3BE9:31EB 20 20 20 20 44 69
|
||
3BE9:31F1 73 6B 65 74 74 65
|
||
3BE9:31F7 20 66 6F 72 6D 61
|
||
3BE9:31FD 74 69 65 72 65 6E
|
||
3BE9:3203 20 20
|
||
3BE9:3205 20 20 20 20 20 20 db ' (', 0
|
||
3BE9:320B 20 28 00
|
||
3BE9:320E 44 69 73 6B 65 74 db 'Diskette formatieren und initial'
|
||
3BE9:3214 74 65 20 66 6F 72
|
||
3BE9:321A 6D 61 74 69 65 72
|
||
3BE9:3220 65 6E 20 75 6E 64
|
||
3BE9:3226 20 69 6E 69 74 69
|
||
3BE9:322C 61 6C
|
||
3BE9:322E 69 73 69 65 72 65 db 'isieren '
|
||
3BE9:3234 6E 20
|
||
3BE9:3236 01 00 6A 05 00 00 db 01h, 00h, 6Ah, 05h, 00h, 00h
|
||
3BE9:323C 00 00 00 00 50 52 db 00h, 00h, 00h, 00h, 50h, 52h
|
||
3BE9:3242 54 56 57 05 00 81 db 54h, 56h, 57h, 05h, 00h, 81h
|
||
3BE9:3248 05 94 05 A7 05 BA db 05h, 94h, 05h,0A7h, 05h,0BAh
|
||
3BE9:324E 05 CD 05 09 1A 66 db 05h,0CDh, 05h, 09h, 1Ah, 66h
|
||
3BE9:3254 31 20 01 00 0A 20 db 31h, 20h, 01h, 00h, 0Ah, 20h
|
||
3BE9:325A 8C 05 06 00 2D 2D db 8Ch, 05h, 06h, 00h, 2Dh, 2Dh
|
||
3BE9:3260 3E 20 41 3A 0C 1A db 3Eh, 20h, 41h, 3Ah, 0Ch, 1Ah
|
||
3BE9:3266 66 33 20 01 00 0D db 66h, 33h, 20h, 01h, 00h, 0Dh
|
||
3BE9:326C 20 9F 05 06 00 2D db 20h, 9Fh, 05h, 06h, 00h, 2Dh
|
||
3BE9:3272 2D 3E 20 42 3A 0F db 2Dh, 3Eh, 20h, 42h, 3Ah, 0Fh
|
||
3BE9:3278 1A 66 35 20 01 00 db 1Ah, 66h, 35h, 20h, 01h, 00h
|
||
3BE9:327E 10 20 B2 05 06 00 db 10h, 20h,0B2h, 05h, 06h, 00h
|
||
3BE9:3284 2D 2D 3E 20 43 3A db 2Dh, 2Dh, 3Eh, 20h, 43h, 3Ah
|
||
3BE9:328A 12 1A 66 37 20 01 db 12h, 1Ah, 66h, 37h, 20h, 01h
|
||
3BE9:3290 00 13 20 C5 05 06 db 00h, 13h, 20h,0C5h, 05h, 06h
|
||
3BE9:3296 00 2D 2D 3E 20 44 db 00h, 2Dh, 2Dh, 3Eh, 20h, 44h
|
||
3BE9:329C 3A 15 1A 66 38 20 db 3Ah, 15h, 1Ah, 66h, 38h, 20h
|
||
3BE9:32A2 01 00 16 20 D8 05 db 01h, 00h, 16h, 20h,0D8h, 05h
|
||
3BE9:32A8 1A 00 db 1Ah, 00h
|
||
3BE9:32AA 2D 2D 3E 20 5A 75 db '--> Zurueck zum Hauptmenue'
|
||
3BE9:32B0 72 75 65 63 6B 20
|
||
3BE9:32B6 7A 75 6D 20 48 61
|
||
3BE9:32BC 75 70 74 6D 65 6E
|
||
3BE9:32C2 75 65
|
||
3BE9:32C4 04 11 30 30 FA 05 db 04h, 11h, 30h, 30h,0FAh, 05h
|
||
3BE9:32CA 2E 00 db 2Eh, 00h
|
||
3BE9:32CC 5A 69 65 6C 2D 20 db 'Ziel- und Quell-Diskette sind ni'
|
||
3BE9:32D2 75 6E 64 20 51 75
|
||
3BE9:32D8 65 6C 6C 2D 44 69
|
||
3BE9:32DE 73 6B 65 74 74 65
|
||
3BE9:32E4 20 73 69 6E 64 20
|
||
3BE9:32EA 6E 69
|
||
3BE9:32EC 63 68 74 20 6B 6F db 'cht kompatibel'
|
||
3BE9:32F2 6D 70 61 74 69 62
|
||
3BE9:32F8 65 6C
|
||
3BE9:32FA 00 00 32 06 00 00 db 00h, 00h, 32h, 06h, 00h, 00h
|
||
3BE9:3300 48 08 02 00 38 06 db 48h, 08h, 02h, 00h, 38h, 06h
|
||
3BE9:3306 55 06 04 1D 30 30 db 55h, 06h, 04h, 1Dh, 30h, 30h
|
||
3BE9:330C 3E 06 15 00 db 3Eh, 06h, 15h, 00h
|
||
3BE9:3310 20 44 49 53 4B 45 db ' DISKETTE FEHLERHAFT ', 8
|
||
3BE9:3316 54 54 45 20 46 45
|
||
3BE9:331C 48 4C 45 52 48 41
|
||
3BE9:3322 46 54 20 08
|
||
3BE9:3326 0B 30 30 5B 06 db 0Bh, 30h, 30h, 5Bh, 06h
|
||
3BE9:332B 39 00 db '9', 0
|
||
3BE9:332D 52 db 'R'
|
||
3BE9:332E 75 65 63 6B 6B 65 db 'ueckkehr zum Menue durch Druecke'
|
||
3BE9:3334 68 72 20 7A 75 6D
|
||
3BE9:333A 20 4D 65 6E 75 65
|
||
3BE9:3340 20 64 75 72 63 68
|
||
3BE9:3346 20 44 72 75 65 63
|
||
3BE9:334C 6B 65
|
||
3BE9:334E 6E 20 65 69 6E 65 db 'n einer beliebigen Taste'
|
||
3BE9:3354 72 20 62 65 6C 69
|
||
3BE9:335A 65 62 69 67 65 6E
|
||
3BE9:3360 20 54 61 73 74 65
|
||
3BE9:3366 00 00 A6 06 00 00 db 00h, 00h,0A6h, 06h, 00h, 00h
|
||
3BE9:336C 48 08 00 00 B0 06 db 48h, 08h, 00h, 00h,0B0h, 06h
|
||
3BE9:3372 00 00 48 08 04 00 db 00h, 00h, 48h, 08h, 04h, 00h
|
||
3BE9:3378 B8 06 E8 06 18 07 db 0B8h, 06h,0E8h, 06h, 18h, 07h
|
||
3BE9:337E 60 07 03 00 9A 07 db 60h, 07h, 03h, 00h, 9Ah, 07h
|
||
3BE9:3384 18 07 60 07 05 14 db 18h, 07h, 60h, 07h, 05h, 14h
|
||
3BE9:338A 30 30 BE 06 28 00 db 30h, 30h,0BEh, 06h, 28h, 00h
|
||
3BE9:3390 4B 6F db 4Bh, 6Fh
|
||
3BE9:3392 70 69 65 72 65 6E db 'pieren von der Diskette im Laufw'
|
||
3BE9:3398 20 76 6F 6E 20 64
|
||
3BE9:339E 65 72 20 44 69 73
|
||
3BE9:33A4 6B 65 74 74 65 20
|
||
3BE9:33AA 69 6D 20 4C 61 75
|
||
3BE9:33B0 66 77
|
||
3BE9:33B2 65 72 6B 20 20 3A db 'erk :'
|
||
3BE9:33B8 06 14 30 30 EE 06 db 06h, 14h, 30h, 30h,0EEh, 06h
|
||
3BE9:33BE 28 00 db '(', 0
|
||
3BE9:33C0 20 20 20 20 20 20 db ' zu der Diskette im Lau'
|
||
3BE9:33C6 20 20 20 20 7A 75
|
||
3BE9:33CC 20 64 65 72 20 44
|
||
3BE9:33D2 69 73 6B 65 74 74
|
||
3BE9:33D8 65 20 69 6D 20 4C
|
||
3BE9:33DE 61 75
|
||
3BE9:33E0 66 77 65 72 6B 20 db 'fwerk :', 8, 8, '00'
|
||
3BE9:33E6 20 3A 08 08 30 30
|
||
3BE9:33EC 1E 07 db 1Eh, 07h
|
||
3BE9:33EE 40 00 db '@', 0
|
||
3BE9:33F0 44 69 65 20 46 75 db 'Die Funktion loescht vorhandene '
|
||
3BE9:33F6 6E 6B 74 69 6F 6E
|
||
3BE9:33FC 20 6C 6F 65 73 63
|
||
3BE9:3402 68 74 20 76 6F 72
|
||
3BE9:3408 68 61 6E 64 65 6E
|
||
3BE9:340E 65 20
|
||
3BE9:3410 44 61 74 65 6E 20 db 'Daten auf der Zieldiskette in :'
|
||
3BE9:3416 61 75 66 20 64 65
|
||
3BE9:341C 72 20 5A 69 65 6C
|
||
3BE9:3422 64 69 73 6B 65 74
|
||
3BE9:3428 74 65 20 69 6E 20
|
||
3BE9:342E 20 3A
|
||
3BE9:3430 0A db 0Ah
|
||
3BE9:3431 0F 30 30 66 07 db 0Fh, 30h, 30h, 66h, 07h
|
||
3BE9:3436 32 00 db '2', 0
|
||
3BE9:3438 53 6F 6C 6C 20 64 db 'Soll die Funktion ausgefuehrt we'
|
||
3BE9:343E 69 65 20 46 75 6E
|
||
3BE9:3444 6B 74 69 6F 6E 20
|
||
3BE9:344A 61 75 73 67 65 66
|
||
3BE9:3450 75 65 68 72 74 20
|
||
3BE9:3456 77 65
|
||
3BE9:3458 72 64 65 6E 20 3F db 'rden ? (J oder N) '
|
||
3BE9:345E 20 28 4A 20 6F 64
|
||
3BE9:3464 65 72 20 4E 29 20
|
||
3BE9:346A 06 14 30 30 A0 07 db 06h, 14h, 30h, 30h,0A0h, 07h
|
||
3BE9:3470 27 00 db 27h, 00h
|
||
3BE9:3472 46 6F db 46h, 6Fh
|
||
3BE9:3474 72 6D 61 74 69 65 db 'rmatieren der Diskette im Laufwe'
|
||
3BE9:347A 72 65 6E 20 64 65
|
||
3BE9:3480 72 20 44 69 73 6B
|
||
3BE9:3486 65 74 74 65 20 69
|
||
3BE9:348C 6D 20 4C 61 75 66
|
||
3BE9:3492 77 65
|
||
3BE9:3494 72 6B 20 20 3A db 'rk :'
|
||
3BE9:3499 00 00 D1 07 00 00 db 00h, 00h,0D1h, 07h, 00h, 00h
|
||
3BE9:349F 48 08 01 00 D5 07 db 48h, 08h, 01h, 00h,0D5h, 07h
|
||
3BE9:34A5 07 0E 30 30 00 00 db 07h, 0Eh, 30h, 30h, 00h, 00h
|
||
3BE9:34AB 34 00 db '4', 0
|
||
3BE9:34AD 5A 49 45 4C 2D 44 db 'ZIEL-DISKETTE EINLEGEN UND BELIE'
|
||
3BE9:34B3 49 53 4B 45 54 54
|
||
3BE9:34B9 45 20 45 49 4E 4C
|
||
3BE9:34BF 45 47 45 4E 20 55
|
||
3BE9:34C5 4E 44 20 42 45 4C
|
||
3BE9:34CB 49 45
|
||
3BE9:34CD 42 49 47 45 20 54 db 'BIGE TASTE DRUECKEN 5', 0
|
||
3BE9:34D3 41 53 54 45 20 44
|
||
3BE9:34D9 52 55 45 43 4B 45
|
||
3BE9:34DF 4E 20 35 00
|
||
3BE9:34E3 51 55 45 4C 4C 2D db 'QUELL-DISKETTE EINLEGEN UND BELI'
|
||
3BE9:34E9 44 49 53 4B 45 54
|
||
3BE9:34EF 54 45 20 45 49 4E
|
||
3BE9:34F5 4C 45 47 45 4E 20
|
||
3BE9:34FB 55 4E 44 20 42 45
|
||
3BE9:3501 4C 49
|
||
3BE9:3503 45 42 49 47 45 20 db 'EBIGE TASTE DRUECKEN '
|
||
3BE9:3509 54 41 53 54 45 20
|
||
3BE9:350F 44 52 55 45 43 4B
|
||
3BE9:3515 45 4E 20
|
||
3BE9:3518 01 00 4C 08 00 02 db 01h, 00h, 4Ch, 08h, 00h, 02h
|
||
3BE9:351E 00 53 08 59 08 0A db 00h, 53h, 08h, 59h, 08h, 0Ah
|
||
3BE9:3524 1F 30 30 00 00 0A db 1Fh, 30h, 30h, 00h, 00h, 0Ah
|
||
3BE9:352A 30 30 30 5F 08 04 db 30h, 30h, 30h, 5Fh, 08h, 04h
|
||
3BE9:3530 00 20 20 20 20 11 db 00h, 20h, 20h, 20h, 20h, 11h
|
||
3BE9:3536 00 db 00h
|
||
3BE9:3537 53 70 75 72 20 6C db 'Spur lesen'
|
||
3BE9:353D 65 73 65 6E
|
||
3BE9:3541 0007[20] db 7 dup (20h)
|
||
3BE9:3548 11 00 db 11h, 00h
|
||
3BE9:354A 53 70 75 72 20 62 db 'Spur beschreiben '
|
||
3BE9:3550 65 73 63 68 72 65
|
||
3BE9:3556 69 62 65 6E 20
|
||
3BE9:355B 11 00 db 11h, 00h
|
||
3BE9:355D 53 70 75 72 20 75 db 'Spur ueberpruefen'
|
||
3BE9:3563 65 62 65 72 70 72
|
||
3BE9:3569 75 65 66 65 6E
|
||
3BE9:356E 11 00 db 11h, 00h
|
||
3BE9:3570 53 70 75 72 20 66 db 'Spur formatieren '
|
||
3BE9:3576 6F 72 6D 61 74 69
|
||
3BE9:357C 65 72 65 6E 20
|
||
3BE9:3581 01 00 B5 08 05 16 db 01h, 00h,0B5h, 08h, 05h, 16h
|
||
3BE9:3587 30 30 BB 08 23 00 db 30h, 30h,0BBh, 08h, 23h, 00h
|
||
3BE9:358D 50 72 db 50h, 72h
|
||
3BE9:358F 75 65 66 65 6E 20 db 'uefen '
|
||
3BE9:3595 64 65 72 20 44 69 db 'der Diskette in Laufwerk :'
|
||
3BE9:359B 73 6B 65 74 74 65
|
||
3BE9:35A1 20 69 6E 20 4C 61
|
||
3BE9:35A7 75 66 77 65 72 6B
|
||
3BE9:35AD 20 20 3A
|
||
3BE9:35B0 01 00 E4 08 05 14 db 01h, 00h,0E4h, 08h, 05h, 14h
|
||
3BE9:35B6 30 30 EA db 30h, 30h,0EAh
|
||
3BE9:35B9 08 27 db 8, 27h
|
||
3BE9:35BB 00 46 6F db 00h, 46h, 6Fh
|
||
3BE9:35BE 72 6D 61 74 db 'rmat'
|
||
3BE9:35C2 69 65 72 65 6E 20 db 'ieren der Diskett'
|
||
3BE9:35C8 64 65 72 20 44 69
|
||
3BE9:35CE 73 6B 65 74 74
|
||
3BE9:35D3 65 20 69 6D 20 4C db 'e im Laufwerk :'
|
||
3BE9:35D9 61 75 66 77 65 72
|
||
3BE9:35DF 6B 20 20 3A
|
||
3BE9:35E3 00 50 00 4E 0C 00 db 00h, 50h, 00h, 4Eh, 0Ch, 00h
|
||
3BE9:35E9 00 03 00 F6 01 00 db 00h, 03h, 00h,0F6h, 01h, 00h
|
||
3BE9:35EF FC 32 00 4E 0C 00 db 0FCh, 32h, 00h, 4Eh, 0Ch, 00h
|
||
3BE9:35F5 00 03 00 F5 01 00 db 00h, 03h, 00h,0F5h, 01h, 00h
|
||
3BE9:35FB FE 01 00 00 01 00 db 0FEh, 01h, 00h, 00h, 01h, 00h
|
||
3BE9:3601 00 01 00 01 01 00 db 00h, 01h, 00h, 01h, 01h, 00h
|
||
3BE9:3607 02 01 00 F7 16 00 db 02h, 01h, 00h,0F7h, 16h, 00h
|
||
3BE9:360D 4E 0C 00 00 03 00 db 4Eh, 0Ch, 00h, 00h, 03h, 00h
|
||
3BE9:3613 F5 01 00 FB 00 02 db 0F5h, 01h, 00h,0FBh, 00h, 02h
|
||
3BE9:3619 E5 01 00 F7 50 00 db 0E5h, 01h, 00h,0F7h, 50h, 00h
|
||
3BE9:361F 4E 00 00 db 4Eh, 00h, 00h
|
||
3BE9:3622 4E 20 db 4Eh, 20h
|
||
3BE9:3624 000B[20] db 11 dup (20h)
|
||
3BE9:362F 00 00 00 00 20 db 00h, 00h, 00h, 00h, 20h
|
||
3BE9:3634 0007[20] db 7 dup (20h)
|
||
3BE9:363B 0008[00] db 8 dup (0)
|
||
3BE9:3643 21 00 db 21h, 00h
|
||
3BE9:3645 001E[00] db 30 dup (0)
|
||
3BE9:3663 01 0C 02 09 db 01h, 0Ch, 02h, 09h
|
||
3BE9:3667 1339[00] db 4921 dup (0)
|
||
3BE9:49A0 0000 data_227 dw 0 ; xref 3BE9:09F4, 0A54, 0A63, 0B32
|
||
; 0B47, 0B4B
|
||
3BE9:49A2 00 data_228 db 0 ; xref 3BE9:0AAE, 0ABB
|
||
3BE9:49A3 0000 data_229 dw 0 ; xref 3BE9:0A21, 0A35
|
||
3BE9:49A5 00 data_230 db 0 ; xref 3BE9:0A19, 0AFF
|
||
3BE9:49A6 00 data_231 db 0 ; xref 3BE9:0A1D, 0AEB, 0B04, 0B0E
|
||
3BE9:49A7 0000 data_232 dw 0 ; xref 3BE9:0AC5, 0AD3, 0AEE, 0AF8
|
||
3BE9:49A9 0000 data_233 dw 0 ; Data table (indexed access)
|
||
; xref 3BE9:0A49
|
||
3BE9:49AB 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0
|
||
3BE9:49B1 0000 data_234 dw 0 ; xref 3BE9:0B59
|
||
3BE9:49B3 0000 data_235 dw 0
|
||
3BE9:49B5 0000 data_236 dw 0 ; xref 3BE9:0B56
|
||
3BE9:49B7 00 data_237 db 0 ; xref 3BE9:09AF
|
||
3BE9:49B8 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0
|
||
3BE9:49BE 00 db 0
|
||
3BE9:49BF 00 data_238 db 0 ; xref 3BE9:09CA
|
||
3BE9:49C0 000C[00] db 12 dup (0)
|
||
3BE9:49CC 00 data_239 db 0 ; xref 3BE9:09AA
|
||
3BE9:49CD 0056[00] db 86 dup (0)
|
||
3BE9:4A23 00 data_240 db 0 ; xref 3BE9:09ED
|
||
3BE9:4A24 0008[00] db 8 dup (0)
|
||
3BE9:4A2C 00 data_241 db 0 ; xref 3BE9:09E3
|
||
3BE9:4A2D 004E[00] db 78 dup (0)
|
||
3BE9:4A7B 00 data_242 db 0 ; xref 3BE9:0A8C
|
||
3BE9:4A7C 00 00 00 00 00 00 db 0, 0, 0, 0, 0, 0
|
||
3BE9:4A82 00 db 0
|
||
3BE9:4A83 00 data_243 db 0 ; xref 3BE9:0A95
|
||
3BE9:4A84 00 00 00 db 0, 0, 0
|
||
3BE9:4A87 00 data_244 db 0 ; xref 3BE9:0A7D
|
||
3BE9:4A88 00 00 00 db 0, 0, 0
|
||
3BE9:4A8B 00 data_245 db 0 ; xref 3BE9:0A9E
|
||
3BE9:4A8C 000B[00] db 11 dup (0)
|
||
3BE9:4A97 00 data_246 db 0 ; xref 3BE9:0B3A
|
||
3BE9:4A98 0047[00] db 71 dup (0)
|
||
3BE9:4ADF 00 data_247 db 0 ; xref 3BE9:0B24
|
||
3BE9:4AE0 0016[00] db 22 dup (0)
|
||
3BE9:4AF6 0000 data_248 dw 0 ; xref 3BE9:0BA4, 0BB4, 0C1E
|
||
3BE9:4AF8 ,0000 data_249 dw 0 ; segment storage
|
||
; xref 3BE9:01B7, 076C, 089E, 08B2
|
||
; 0960, 0BA9, 0BB9, 0BC9
|
||
; 0BEA, 0C15, 0C4D
|
||
3BE9:4AFA 0000 data_250 dw 0 ; xref 3BE9:0BC4, 0BE5, 0C3A
|
||
3BE9:4AFC 0000 data_251 dw 0 ; xref 3BE9:0748, 089A, 0C26, 0C4A
|
||
3BE9:4AFE 009B[00] db 155 dup (0)
|
||
3BE9:4B99 00 data_252 db 0 ; xref 3BE9:0C7A
|
||
3BE9:4B9A 00 00 00 00 db 0, 0, 0, 0
|
||
3BE9:4B9E 00 data_253 db 0 ; xref 3BE9:0C8A
|
||
3BE9:4B9F 00 00 db 0, 0
|
||
3BE9:4BA1 00 data_254 db 0 ; xref 3BE9:0C96
|
||
3BE9:4BA2 00 00 db 0, 0
|
||
3BE9:4BA4 00 data_255 db 0 ; xref 3BE9:0CBB
|
||
3BE9:4BA5 0025[00] db 37 dup (0)
|
||
3BE9:4BCA 00 data_256 db 0 ; xref 3BE9:0CAC
|
||
3BE9:4BCB 2AAE[00] db 10926 dup (0)
|
||
3BE9:7679 D5 0A 26 0A D3 09 db 0D5h, 0Ah, 26h, 0Ah,0D3h, 09h
|
||
3BE9:767F 42 0A 00 00 00 00 db 42h, 0Ah, 00h, 00h, 00h, 00h
|
||
3BE9:7685 00 00 03 00 C7 49 db 00h, 00h, 03h, 00h,0C7h, 49h
|
||
3BE9:768B CA 49 1A 4A 03 00 db 0CAh, 49h, 1Ah, 4Ah, 03h, 00h
|
||
3BE9:7691 1D 4A CA 49 20 4A db 1Dh, 4Ah,0CAh, 49h, 20h, 4Ah
|
||
3BE9:7697 01 00 8C 4E 00 db 01h, 00h, 8Ch, 4Eh, 00h
|
||
3BE9:769C 004E[00] db 78 dup (0)
|
||
3BE9:76EA 01 00 8B 01 00 8D db 01h, 00h, 8Bh, 01h, 00h, 8Dh
|
||
3BE9:76F0 01 00 8A 03 01 30 db 01h, 00h, 8Ah, 03h, 01h, 30h
|
||
3BE9:76F6 30 29 4A 50 00 99 db 30h, 29h, 4Ah, 50h, 00h, 99h
|
||
3BE9:76FC 00 00 db 00h, 00h
|
||
3BE9:76FE 004C[00] db 76 dup (0)
|
||
3BE9:774A 9C 06 00 8C 91 91 db 9Ch, 06h, 00h, 8Ch, 91h, 91h
|
||
3BE9:7750 91 91 8B 06 00 98 db 91h, 91h, 8Bh, 06h, 00h, 98h
|
||
3BE9:7756 20 20 20 20 98 06 db 20h, 20h, 20h, 20h, 98h, 06h
|
||
3BE9:775C 00 8D 91 91 91 91 db 00h, 8Dh, 91h, 91h, 91h, 91h
|
||
3BE9:7762 8A 02 00 07 07 db 8Ah, 02h, 00h, 07h, 07h
|
||
3BE9:7767 46 00 db 'F', 0
|
||
3BE9:7769 20 20 20 20 20 20 db ' '
|
||
3BE9:776F 20 20 20 20 20 20
|
||
3BE9:7775 20 20 20 20 20 20
|
||
3BE9:777B 20 20 20 20 20 20
|
||
3BE9:7781 20 20 20 20 20 20
|
||
3BE9:7787 20 20
|
||
3BE9:7789 20 20 20 20 20 20 db ' '
|
||
3BE9:778F 20 20 20 20 20 20
|
||
3BE9:7795 20 20 20 20 20 20
|
||
3BE9:779B 20 20 20 20 20 20
|
||
3BE9:77A1 20 20 20 20 20 20
|
||
3BE9:77A7 20 20
|
||
3BE9:77A9 20 20 20 20 20 20 db ' '
|
||
3BE9:77AF 15 00 db 15h, 00h
|
||
3BE9:77B1 1B 5B 32 3B 37 38 db 1Bh, '[2;78S', 1Bh, '[23;4U', 1Bh
|
||
3BE9:77B7 53 1B 5B 32 33 3B
|
||
3BE9:77BD 34 55 1B
|
||
3BE9:77C0 5B 31 3B 37 39 53 db '[1;79S'
|
||
3BE9:77C6 00 db 0
|
||
3BE9:77C7 000F[00] db 15 dup (0)
|
||
3BE9:77D6 4D 58 64 69 73 6B db 'MXdisk 9', 0
|
||
3BE9:77DC 20 20 39 00
|
||
3BE9:77E0 0D 0A 44 53 4B 4D db 0Dh, 0Ah, 'DSKMAINT kann nicht al'
|
||
3BE9:77E6 41 49 4E 54 20 6B
|
||
3BE9:77EC 61 6E 6E 20 6E 69
|
||
3BE9:77F2 63 68 74 20 61 6C
|
||
3BE9:77F8 73 20 48 69 6E 74 db 's Hintergrundprogramm ablaufen.', 0Dh
|
||
3BE9:77FE 65 72 67 72 75 6E
|
||
3BE9:7804 64 70 72 6F 67 72
|
||
3BE9:780A 61 6D 6D 20 61 62
|
||
3BE9:7810 6C 61 75 66 65 6E
|
||
3BE9:7816 2E 0D
|
||
3BE9:7818 0A 49 00 db 0Ah, 'I', 0
|
||
3BE9:781B 0D 0A 44 53 4B 4D db 0Dh, 0Ah, 'DSKMAINT kann nicht ge'
|
||
3BE9:7821 41 49 4E 54 20 6B
|
||
3BE9:7827 61 6E 6E 20 6E 69
|
||
3BE9:782D 63 68 74 20 67 65
|
||
3BE9:7833 73 74 61 72 74 65 db 'startet werden, solange andere P'
|
||
3BE9:7839 74 20 77 65 72 64
|
||
3BE9:783F 65 6E 2C 20 73 6F
|
||
3BE9:7845 6C 61 6E 67 65 20
|
||
3BE9:784B 61 6E 64 65 72 65
|
||
3BE9:7851 20 50
|
||
3BE9:7853 72 6F 7A 65 73 73 db 'rozesse laufen.', 0Dh, 0Ah
|
||
3BE9:7859 65 20 6C 61 75 66
|
||
3BE9:785F 65 6E 2E 0D 0A
|
||
3BE9:7864 96 00 FF 00 00 00 db 96h, 00h,0FFh, 00h, 00h, 00h
|
||
3BE9:786A 08 00 1B 5B 00 00 db 08h, 00h, 1Bh, 5Bh, 00h, 00h
|
||
3BE9:7870 3B 00 00 48 14 00 db 3Bh, 00h, 00h, 48h, 14h, 00h
|
||
3BE9:7876 1B 5B 32 4A 1B 5B db 1Bh, '[2J', 1Bh, '[s', 1Bh, '#w', 1Bh
|
||
3BE9:787C 73 1B 23 77 1B
|
||
3BE9:7881 5B 34 63 1B 23 73 db '[4c', 1Bh, '#s', 1Bh, '#c', 0Ah
|
||
3BE9:7887 1B 23 63 0A
|
||
3BE9:788B 00 db 0
|
||
3BE9:788C 1B 5B 32 4A 1B 5B db 1Bh, '[2J', 1Bh, '[u', 1Bh, '#c'
|
||
3BE9:7892 75 1B 23 63
|
||
3BE9:7896 04 00 1B 5B 58 6D db 04h, 00h, 1Bh, 5Bh, 58h, 6Dh
|
||
3BE9:789C 0164[00] db 356 dup (0)
|
||
|
||
seg_a ends
|
||
|
||
|
||
|
||
end
|
||
|
||
__________________ Interrupt Usage Synopsis __________________
|
||
|
||
Interrupt 10h : Video display ah=functn xxh
|
||
Interrupt 10h : ah=02h set cursor location in dx
|
||
Interrupt 10h : ah=06h scroll up, al=lines
|
||
Interrupt 10h : ah=0Eh write char al, teletype mode
|
||
Interrupt 13h : Disk dl=drive # ah=func xxh
|
||
Interrupt 13h : ah=00h reset disk, al=return status
|
||
Interrupt 13h : ah=02h read sectors to memory es:bx
|
||
19 Ocurrences of non-standard interrupts used (search for ??).
|
||
|
||
__________________ I/O Port Usage Synopsis __________________
|
||
|
||
No I/O ports used.
|
||
|
||
|