Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 1
- PAGE 59,132
- ;??????????????????????????????????????????????????????????????????????????
- ;?? ??
- ;?? WIZDOS ??
- ;?? ??
- ;?? Created: 10-Feb-24 ??
- ;?? Passes: 5 Analysis Options on: QRS ??
- ;?? ??
- ;??????????????????????????????????????????????????????????????????????????
- .err Target Assembler set to NONE, re-assembly not recommended
- ; The following equates show data references outside the range of the program.
- = 0058 data_1e equ 58h ; (0000:0058=11E0h)
- = 005A data_2e equ 5Ah ; (0000:005A=0F000h)
- = 0060 data_3e equ 60h ; (0000:0060=12C0h)
- = 0062 data_4e equ 62h ; (0000:0062=0F000h)
- = 0017 keybd_flags_1 equ 17h ; (0040:0017=0)
- = 005D data_5e equ 5Dh ; (2913:005D=0)
- = 006D data_6e equ 6Dh ; (2913:006D=0)
- = 0080 PSP_cmd_size equ 80h ; (2913:0080=0)
- seg_a segment byte public
- assume cs:seg_a, ds:seg_a
- org 100h
- wizdos proc far
- 2913:0100 start:
- 2913:0100 B8 0500 mov ax,500h
- 2913:0103 8B E0 mov sp,ax
- 2913:0105 2E: A0 0080 mov al,cs:PSP_cmd_size ; (2913:0080=0)
- 2913:0109 3C 02 cmp al,2
- 2913:010B 72 29 jb loc_1 ; Jump if below
- 2913:010D 8C C8 mov ax,cs
- 2913:010F 8E D8 mov ds,ax
- 2913:0111 8E C0 mov es,ax
- 2913:0113 ?BE 005D mov si,data_5e ; (2913:005D=0)
- 2913:0116 ?BF 0273 mov di,offset data_11 ; (2913:0273='WIZ1 .DSK')
- 2913:0119 FC cld ; Clear direction
- 2913:011A B9 0008 mov cx,8
- 2913:011D F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
- 2913:011F 47 inc di
- 2913:0120 B9 0003 mov cx,3
- 2913:0123 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
- 2913:0125 ?BE 006D mov si,data_6e ; (2913:006D=0)
- 2913:0128 ?BF 0295 mov di,offset data_12 ; (2913:0295=' . ')
- 2913:012B B9 0008 mov cx,8
- 2913:012E F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
- 2913:0130 47 inc di
- 2913:0131 B9 0003 mov cx,3
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 2
- 2913:0134 F3/ A4 rep movsb ; Rep when cx >0 Mov [si] to es:[di]
- 2913:0136 loc_1: ; xref 2913:010B
- 2913:0136 2E: A0 0273 mov al,byte ptr cs:data_11 ; (2913:0273='WIZ1 .DSK')
- 2913:013A 3C 3F cmp al,3Fh ; '?'
- 2913:013C 74 07 je loc_2 ; Jump if equal
- 2913:013E 3C 2D cmp al,2Dh ; '-'
- 2913:0140 74 03 je loc_2 ; Jump if equal
- 2913:0142 EB 0E jmp short loc_3 ; (0152)
- 2913:0144 90 db 90h
- 2913:0145 loc_2: ; xref 2913:013C, 0140
- 2913:0145 B4 09 mov ah,9
- 2913:0147 ?BA 0502 mov dx,offset data_24 ; (2913:0502='Wizardry OS Emul')
- 2913:014A CD 21 int 21h ; DOS Services ah=function 09h
- ; display char string at ds:dx
- 2913:014C B4 4C mov ah,4Ch ; 'L'
- 2913:014E B0 00 mov al,0
- 2913:0150 CD 21 int 21h ; DOS Services ah=function 4Ch
- ; terminate with al=return code
- 2913:0152 loc_3: ; xref 2913:0142
- 2913:0152 B4 0F mov ah,0Fh
- 2913:0154 CD 10 int 10h ; Video display ah=functn 0Fh
- ; get state, al=mode, bh=page
- ; ah=columns on screen
- 2913:0156 2E: A2 02C7 mov cs:data_21,al ; (2913:02C7=0)
- 2913:015A 8C C8 mov ax,cs
- 2913:015C 8E C0 mov es,ax
- 2913:015E B4 4A mov ah,4Ah ; 'J'
- 2913:0160 BB FFFF mov bx,0FFFFh
- 2913:0163 CD 21 int 21h ; DOS Services ah=function 4Ah
- ; change memory allocation
- ; bx=bytes/16, es=mem segment
- 2913:0165 81 FB 4100 cmp bx,4100h
- 2913:0169 73 0D jae loc_4 ; Jump if above or =
- 2913:016B B4 09 mov ah,9
- 2913:016D ?BA 0235 mov dx,offset data_7 ; (2913:0235='Not enough memor')
- 2913:0170 CD 21 int 21h ; DOS Services ah=function 09h
- ; display char string at ds:dx
- 2913:0172 B4 4C mov ah,4Ch ; 'L'
- 2913:0174 B0 08 mov al,8
- 2913:0176 CD 21 int 21h ; DOS Services ah=function 4Ch
- ; terminate with al=return code
- 2913:0178 loc_4: ; xref 2913:0169
- 2913:0178 8C C8 mov ax,cs
- 2913:017A 05 0100 add ax,100h
- 2913:017D 2E: A3 02BD mov cs:data_16,ax ; (2913:02BD=0)
- 2913:0181 B4 3D mov ah,3Dh ; '='
- 2913:0183 B0 02 mov al,2
- 2913:0185 ?BA 0273 mov dx,offset data_11 ; (2913:0273='WIZ1 .DSK')
- 2913:0188 CD 21 int 21h ; DOS Services ah=function 3Dh
- ; open file, al=mode,name@ds:dx
- 2913:018A 73 14 jnc loc_5 ; Jump if carry=0
- 2913:018C B4 09 mov ah,9
- 2913:018E ?BA 0249 mov dx,offset data_8 ; (2913:0249='Cannot open [')
- 2913:0191 CD 21 int 21h ; DOS Services ah=function 09h
- ; display char string at ds:dx
- 2913:0193 B4 09 mov ah,9
- 2913:0195 ?BA 0273 mov dx,offset data_11 ; (2913:0273='WIZ1 .DSK')
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 3
- 2913:0198 CD 21 int 21h ; DOS Services ah=function 09h
- ; display char string at ds:dx
- 2913:019A B4 4C mov ah,4Ch ; 'L'
- 2913:019C B0 02 mov al,2
- 2913:019E CD 21 int 21h ; DOS Services ah=function 4Ch
- ; terminate with al=return code
- 2913:01A0 loc_5: ; xref 2913:018A
- 2913:01A0 2E: A3 02B7 mov cs:data_13,ax ; (2913:02B7=0)
- 2913:01A4 2E: A3 02BB mov cs:data_15,ax ; (2913:02BB=0)
- 2913:01A8 2E: A3 02B9 mov cs:data_14,ax ; (2913:02B9=0)
- 2913:01AC 2E: A0 0295 mov al,byte ptr cs:data_12 ; (2913:0295=' . ')
- 2913:01B0 3C 20 cmp al,20h ; ' '
- 2913:01B2 74 23 je loc_7 ; Jump if equal
- 2913:01B4 B4 3D mov ah,3Dh ; '='
- 2913:01B6 B0 02 mov al,2
- 2913:01B8 ?BA 0295 mov dx,offset data_12 ; (2913:0295=' . ')
- 2913:01BB CD 21 int 21h ; DOS Services ah=function 3Dh
- ; open file, al=mode,name@ds:dx
- 2913:01BD 73 14 jnc loc_6 ; Jump if carry=0
- 2913:01BF B4 09 mov ah,9
- 2913:01C1 ?BA 0249 mov dx,offset data_8 ; (2913:0249='Cannot open [')
- 2913:01C4 CD 21 int 21h ; DOS Services ah=function 09h
- ; display char string at ds:dx
- 2913:01C6 B4 09 mov ah,9
- 2913:01C8 ?BA 0295 mov dx,offset data_12 ; (2913:0295=' . ')
- 2913:01CB CD 21 int 21h ; DOS Services ah=function 09h
- ; display char string at ds:dx
- 2913:01CD B4 4C mov ah,4Ch ; 'L'
- 2913:01CF B0 02 mov al,2
- 2913:01D1 CD 21 int 21h ; DOS Services ah=function 4Ch
- ; terminate with al=return code
- 2913:01D3 loc_6: ; xref 2913:01BD
- 2913:01D3 2E: A3 02B9 mov cs:data_14,ax ; (2913:02B9=0)
- 2913:01D7 loc_7: ; xref 2913:01B2
- 2913:01D7 33 C0 xor ax,ax ; Zero register
- 2913:01D9 8E D8 mov ds,ax
- 2913:01DB B8 02C8 mov ax,2C8h
- 2913:01DE 8C CB mov bx,cs
- 2913:01E0 87 06 0060 xchg ds:data_3e,ax ; (0000:0060=12C0h)
- 2913:01E4 87 1E 0062 xchg ds:data_4e,bx ; (0000:0062=0F000h)
- 2913:01E8 2E: A3 02BF mov cs:data_17,ax ; (2913:02BF=0)
- 2913:01EC 2E: 89 1E 02C1 mov cs:data_18,bx ; (2913:02C1=0)
- 2913:01F1 B8 039D mov ax,39Dh
- 2913:01F4 8C CB mov bx,cs
- 2913:01F6 87 06 0058 xchg ds:data_1e,ax ; (0000:0058=11E0h)
- 2913:01FA 87 1E 005A xchg ds:data_2e,bx ; (0000:005A=0F000h)
- 2913:01FE 2E: A3 02C3 mov cs:data_19,ax ; (2913:02C3=0)
- 2913:0202 2E: 89 1E 02C5 mov word ptr cs:data_19+2,b; (2913:02C5=0)
- 2913:0207 2E: A1 02BD mov ax,cs:data_16 ; (2913:02BD=0)
- 2913:020B 8E C0 mov es,ax
- 2913:020D BB 7C00 mov bx,7C00h
- 2913:0210 B8 0201 mov ax,201h
- 2913:0213 B9 0001 mov cx,1
- 2913:0216 BA 0000 mov dx,0
- 2913:0219 CD 18 int 18h ; ROM basic
- 2913:021B 73 0E jnc loc_8 ; Jump if carry=0
- 2913:021D 8C C8 mov ax,cs
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 4
- 2913:021F 8E D8 mov ds,ax
- 2913:0221 B4 09 mov ah,9
- 2913:0223 ?BA 0257 mov dx,offset data_9 ; (2913:0257='Cannot load IPL')
- 2913:0226 CD 21 int 21h ; DOS Services ah=function 09h
- ; display char string at ds:dx
- 2913:0228 E9 01DE jmp loc_16 ; (0409)
- 2913:022B loc_8: ; xref 2913:021B
- 2913:022B 2E: A1 02BD mov ax,cs:data_16 ; (2913:02BD=0)
- 2913:022F 50 push ax
- 2913:0230 B8 7C00 mov ax,7C00h
- 2913:0233 50 push ax
- 2913:0234 CB retf ; Return far
- 2913:0235 4E 6F 74 20 65 6E data_7 db 'Not enough memory', 0Dh, 0Ah, '$' ; xref 2913:016D
- 2913:023B 6F 75 67 68 20 6D
- 2913:0241 65 6D 6F 72 79 0D
- 2913:0247 0A 24
- 2913:0249 43 61 6E 6E 6F 74 data_8 db 'Cannot open [$' ; xref 2913:018E, 01C1
- 2913:024F 20 6F 70 65 6E 20
- 2913:0255 5B 24
- 2913:0257 43 61 6E 6E 6F 74 data_9 db 'Cannot load IPL', 0Dh, 0Ah, '$' ; xref 2913:0223
- 2913:025D 20 6C 6F 61 64 20
- 2913:0263 49 50 4C 0D 0A 24
- 2913:0269 62 79 65 20 2E 2E data_10 db 'bye ...', 0Dh, 0Ah, '$; xref 2913:0468
- 2913:026F 2E 0D 0A 24
- 2913:0273 57 49 5A 31 20 20 data_11 db 'WIZ1 .DSK', 0 ; xref 2913:0116, 0136, 0185, 0195
- 2913:0279 20 20 2E 44 53 4B
- 2913:027F 00
- 2913:0280 5D 20 61 73 20 3C db '] as <disk1_image>', 0Dh, 0Ah, '$'
- 2913:0286 64 69 73 6B 31 5F
- 2913:028C 69 6D 61 67 65 3E
- 2913:0292 0D 0A 24
- 2913:0295 20 20 20 20 20 20 data_12 db ' . ', 0 ; xref 2913:0128, 01AC, 01B8, 01C8
- ; 041C
- 2913:029B 20 20 2E 20 20 20
- 2913:02A1 00
- 2913:02A2 5D 20 61 73 20 3C db '] as <disk2_image>', 0Dh, 0Ah, '$'
- 2913:02A8 64 69 73 6B 32 5F
- 2913:02AE 69 6D 61 67 65 3E
- 2913:02B4 0D 0A 24
- 2913:02B7 0000 data_13 dw 0 ; xref 2913:01A0, 03C2
- 2913:02B9 0000 data_14 dw 0 ; xref 2913:01A8, 01D3, 03EB
- 2913:02BB 0000 data_15 dw 0 ; xref 2913:01A4, 0338, 035A, 037E
- ; 03C6, 03EF
- 2913:02BD 0000 data_16 dw 0 ; xref 2913:017D, 0207, 022B
- 2913:02BF 0000 data_17 dw 0 ; xref 2913:01E8, 0436
- 2913:02C1 0000 data_18 dw 0 ; xref 2913:01EC, 043A
- 2913:02C3 0000 0000 data_19 dw 0, 0 ; xref 2913:01FE, 0402, 0446
- 2913:02C7 00 data_21 db 0 ; xref 2913:0156, 0458
- 2913:02C8 FA 50 B0 B6 E6 43 db 0FAh, 50h,0B0h,0B6h,0E6h, 43h
- 2913:02CE B8 00 18 E6 42 8A db 0B8h, 00h, 18h,0E6h, 42h, 8Ah
- 2913:02D4 C4 E6 42 E4 61 0C db 0C4h,0E6h, 42h,0E4h, 61h, 0Ch
- 2913:02DA 03 E6 61 58 1E 06 db 03h,0E6h, 61h, 58h, 1Eh, 06h
- 2913:02E0 9C 80 FC 02 74 16 db 9Ch, 80h,0FCh, 02h, 74h, 16h
- 2913:02E6 80 FC 03 74 11 80 db 80h,0FCh, 03h, 74h, 11h, 80h
- 2913:02EC FC 00 74 07 9D F9 db 0FCh, 00h, 74h, 07h, 9Dh,0F9h
- 2913:02F2 B4 06 E9 96 00 9D db 0B4h, 06h,0E9h, 96h, 00h, 9Dh
- 2913:02F8 F8 E9 91 00 80 FD db 0F8h,0E9h, 91h, 00h, 80h,0FDh
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 5
- 2913:02FE 4F 75 14 80 F9 01 db 4Fh, 75h, 14h, 80h,0F9h, 01h
- 2913:0304 74 05 B5 27 EB 0B db 74h, 05h,0B5h, 27h,0EBh, 0Bh
- 2913:030A 90 db 90h
- 2913:030B loc_9:
- 2913:030B 9D popf ; Pop flags
- 2913:030C B8 0400 mov ax,400h
- 2913:030F 3D FFFF cmp ax,0FFFFh
- 2913:0312 EB 79 jmp short loc_12 ; (038D)
- 2913:0314 90 db 90h
- 2913:0315 loc_10:
- 2913:0315 50 push ax
- 2913:0316 53 push bx
- 2913:0317 51 push cx
- 2913:0318 52 push dx
- 2913:0319 D0 E5 shl ch,1 ; Shift w/zeros fill
- 2913:031B 02 F5 add dh,ch
- 2913:031D 8A C6 mov al,dh
- 2913:031F 32 E4 xor ah,ah ; Zero register
- 2913:0321 D1 E0 shl ax,1 ; Shift w/zeros fill
- 2913:0323 D1 E0 shl ax,1 ; Shift w/zeros fill
- 2913:0325 D1 E0 shl ax,1 ; Shift w/zeros fill
- 2913:0327 FE C9 dec cl
- 2913:0329 32 ED xor ch,ch ; Zero register
- 2913:032B 03 C1 add ax,cx
- 2913:032D D1 E0 shl ax,1 ; Shift w/zeros fill
- 2913:032F 32 D2 xor dl,dl ; Zero register
- 2913:0331 8A CC mov cl,ah
- 2913:0333 8A F0 mov dh,al
- 2913:0335 B8 4200 mov ax,4200h
- 2913:0338 2E: 8B 1E 02BB mov bx,cs:data_15 ; (2913:02BB=0)
- 2913:033D CD 21 int 21h ; DOS Services ah=function 42h
- ; move file ptr, bx=file handle
- ; al=method, cx,dx=offset
- 2913:033F 5A pop dx
- 2913:0340 59 pop cx
- 2913:0341 5B pop bx
- 2913:0342 58 pop ax
- 2913:0343 80 FC 03 cmp ah,3
- 2913:0346 74 24 je loc_11 ; Jump if equal
- 2913:0348 53 push bx
- 2913:0349 51 push cx
- 2913:034A 52 push dx
- 2913:034B 32 C9 xor cl,cl ; Zero register
- 2913:034D 8A E8 mov ch,al
- 2913:034F D0 E5 shl ch,1 ; Shift w/zeros fill
- 2913:0351 50 push ax
- 2913:0352 8B D3 mov dx,bx
- 2913:0354 8C C3 mov bx,es
- 2913:0356 8E DB mov ds,bx
- 2913:0358 B4 3F mov ah,3Fh ; '?'
- 2913:035A 2E: 8B 1E 02BB mov bx,cs:data_15 ; (2913:02BB=0)
- 2913:035F CD 21 int 21h ; DOS Services ah=function 3Fh
- ; read file, bx=file handle
- ; cx=bytes to ds:dx buffer
- 2913:0361 58 pop ax
- 2913:0362 32 E4 xor ah,ah ; Zero register
- 2913:0364 5A pop dx
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 6
- 2913:0365 59 pop cx
- 2913:0366 5B pop bx
- 2913:0367 9D popf ; Pop flags
- 2913:0368 F8 clc ; Clear carry flag
- 2913:0369 EB 22 jmp short loc_12 ; (038D)
- 2913:036B 90 db 90h
- 2913:036C loc_11: ; xref 2913:0346
- 2913:036C 53 push bx
- 2913:036D 51 push cx
- 2913:036E 52 push dx
- 2913:036F 32 C9 xor cl,cl ; Zero register
- 2913:0371 8A E8 mov ch,al
- 2913:0373 D0 E5 shl ch,1 ; Shift w/zeros fill
- 2913:0375 50 push ax
- 2913:0376 8B D3 mov dx,bx
- 2913:0378 8C C3 mov bx,es
- 2913:037A 8E DB mov ds,bx
- 2913:037C B4 40 mov ah,40h ; '@'
- 2913:037E 2E: 8B 1E 02BB mov bx,cs:data_15 ; (2913:02BB=0)
- 2913:0383 CD 21 int 21h ; DOS Services ah=function 40h
- ; write file bx=file handle
- ; cx=bytes from ds:dx buffer
- 2913:0385 58 pop ax
- 2913:0386 32 E4 xor ah,ah ; Zero register
- 2913:0388 5A pop dx
- 2913:0389 59 pop cx
- 2913:038A 5B pop bx
- 2913:038B 9D popf ; Pop flags
- 2913:038C F8 clc ; Clear carry flag
- 2913:038D loc_12: ; xref 2913:0312, 0369
- 2913:038D 07 pop es
- 2913:038E 1F pop ds
- 2913:038F 50 push ax
- 2913:0390 9C pushf ; Push flags
- 2913:0391 E4 61 in al,61h ; port 61h, 8255 port B, read
- 2913:0393 24 FC and al,0FCh
- 2913:0395 E6 61 out 61h,al ; port 61h, 8255 B - spkr, etc
- ; al = 0, speaker off
- 2913:0397 9D popf ; Pop flags
- 2913:0398 58 pop ax
- 2913:0399 FB sti ; Enable interrupts
- 2913:039A CA 0002 retf 2
- ;* No entry point to code
- 2913:039D 9C pushf ; Push flags
- 2913:039E 50 push ax
- 2913:039F 1E push ds
- 2913:03A0 B8 0040 mov ax,40h
- 2913:03A3 8E D8 mov ds,ax
- 2913:03A5 A1 0017 mov ax,ds:keybd_flags_1 ; (0040:0017=0)
- 2913:03A8 24 0F and al,0Fh
- 2913:03AA 1F pop ds
- 2913:03AB 3C 06 cmp al,6
- 2913:03AD 75 25 jne loc_13 ; Jump if not equal
- 2913:03AF 50 push ax
- 2913:03B0 E4 61 in al,61h ; port 61h, 8255 port B, read
- 2913:03B2 0C 03 or al,3
- 2913:03B4 E6 61 out 61h,al ; port 61h, 8255 B - spkr, etc
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 7
- 2913:03B6 E4 61 in al,61h ; port 61h, 8255 port B, read
- 2913:03B8 24 FC and al,0FCh
- 2913:03BA E6 61 out 61h,al ; port 61h, 8255 B - spkr, etc
- ; al = 0, speaker off
- 2913:03BC E4 61 in al,61h ; port 61h, 8255 port B, read
- 2913:03BE 0C 03 or al,3
- 2913:03C0 E6 61 out 61h,al ; port 61h, 8255 B - spkr, etc
- 2913:03C2 2E: A1 02B7 mov ax,cs:data_13 ; (2913:02B7=0)
- 2913:03C6 2E: A3 02BB mov cs:data_15,ax ; (2913:02BB=0)
- 2913:03CA E4 61 in al,61h ; port 61h, 8255 port B, read
- 2913:03CC 24 FC and al,0FCh
- 2913:03CE E6 61 out 61h,al ; port 61h, 8255 B - spkr, etc
- ; al = 0, speaker off
- 2913:03D0 58 pop ax
- 2913:03D1 EB 27 jmp short loc_14 ; (03FA)
- 2913:03D3 90 db 90h
- 2913:03D4 loc_13: ; xref 2913:03AD
- 2913:03D4 3C 05 cmp al,5
- 2913:03D6 75 22 jne loc_14 ; Jump if not equal
- 2913:03D8 50 push ax
- 2913:03D9 E4 61 in al,61h ; port 61h, 8255 port B, read
- 2913:03DB 0C 03 or al,3
- 2913:03DD E6 61 out 61h,al ; port 61h, 8255 B - spkr, etc
- 2913:03DF E4 61 in al,61h ; port 61h, 8255 port B, read
- 2913:03E1 24 FC and al,0FCh
- 2913:03E3 E6 61 out 61h,al ; port 61h, 8255 B - spkr, etc
- ; al = 0, speaker off
- 2913:03E5 E4 61 in al,61h ; port 61h, 8255 port B, read
- 2913:03E7 0C 03 or al,3
- 2913:03E9 E6 61 out 61h,al ; port 61h, 8255 B - spkr, etc
- 2913:03EB 2E: A1 02B9 mov ax,cs:data_14 ; (2913:02B9=0)
- 2913:03EF 2E: A3 02BB mov cs:data_15,ax ; (2913:02BB=0)
- 2913:03F3 E4 61 in al,61h ; port 61h, 8255 port B, read
- 2913:03F5 24 FC and al,0FCh
- 2913:03F7 E6 61 out 61h,al ; port 61h, 8255 B - spkr, etc
- ; al = 0, speaker off
- 2913:03F9 58 pop ax
- 2913:03FA loc_14: ; xref 2913:03D1, 03D6
- 2913:03FA 24 0C and al,0Ch
- 2913:03FC 3C 0C cmp al,0Ch
- 2913:03FE 74 07 je loc_15 ; Jump if equal
- 2913:0400 58 pop ax
- 2913:0401 9D popf ; Pop flags
- 2913:0402 2E: FF 2E 02C3 jmp dword ptr cs:data_19 ; (2913:02C3=0)
- 2913:0407 loc_15: ; xref 2913:03FE
- 2913:0407 58 pop ax
- 2913:0408 9D popf ; Pop flags
- 2913:0409 loc_16: ; xref 2913:0228
- 2913:0409 58 pop ax
- 2913:040A 83 C4 06 add sp,6
- 2913:040D FA cli ; Disable interrupts
- 2913:040E B4 68 mov ah,68h ; 'h'
- 2913:0410 BB 02B7 mov bx,2B7h
- 2913:0413 CD 21 int 21h ; DOS Services ah=function 68h
- ; flush file buffers, bx=handle
- 2913:0415 B4 3E mov ah,3Eh ; '>'
- 2913:0417 BB 02B7 mov bx,2B7h
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 8
- 2913:041A CD 21 int 21h ; DOS Services ah=function 3Eh
- ; close file, bx=file handle
- 2913:041C 2E: A0 0295 mov al,byte ptr cs:data_12 ; (2913:0295=' . ')
- 2913:0420 3C 20 cmp al,20h ; ' '
- 2913:0422 74 0E je loc_17 ; Jump if equal
- 2913:0424 B4 68 mov ah,68h ; 'h'
- 2913:0426 BB 02B9 mov bx,2B9h
- 2913:0429 CD 21 int 21h ; DOS Services ah=function 68h
- ; flush file buffers, bx=handle
- 2913:042B B4 3E mov ah,3Eh ; '>'
- 2913:042D BB 02B9 mov bx,2B9h
- 2913:0430 CD 21 int 21h ; DOS Services ah=function 3Eh
- ; close file, bx=file handle
- 2913:0432 loc_17: ; xref 2913:0422
- 2913:0432 33 C0 xor ax,ax ; Zero register
- 2913:0434 8E D8 mov ds,ax
- 2913:0436 2E: A1 02BF mov ax,cs:data_17 ; (2913:02BF=0)
- 2913:043A 2E: 8B 1E 02C1 mov bx,cs:data_18 ; (2913:02C1=0)
- 2913:043F A3 0060 mov ds:data_3e,ax ; (0000:0060=12C0h)
- 2913:0442 89 1E 0062 mov ds:data_4e,bx ; (0000:0062=0F000h)
- 2913:0446 2E: A1 02C3 mov ax,cs:data_19 ; (2913:02C3=0)
- 2913:044A 2E: 8B 1E 02C5 mov bx,word ptr cs:data_19+; (2913:02C5=0)
- 2913:044F A3 0058 mov ds:data_1e,ax ; (0000:0058=11E0h)
- 2913:0452 89 1E 005A mov ds:data_2e,bx ; (0000:005A=0F000h)
- 2913:0456 B4 00 mov ah,0
- 2913:0458 2E: A0 02C7 mov al,cs:data_21 ; (2913:02C7=0)
- 2913:045C CD 10 int 10h ; Video display ah=functn 00h
- ; set display mode in al
- 2913:045E 8C C8 mov ax,cs
- 2913:0460 8E D8 mov ds,ax
- 2913:0462 8E C0 mov es,ax
- 2913:0464 8E D0 mov ss,ax
- 2913:0466 B4 09 mov ah,9
- 2913:0468 ?BA 0269 mov dx,offset data_10 ; (2913:0269='bye ...')
- 2913:046B CD 21 int 21h ; DOS Services ah=function 09h
- ; display char string at ds:dx
- 2913:046D B4 4C mov ah,4Ch ; 'L'
- 2913:046F B0 00 mov al,0
- 2913:0471 CD 21 int 21h ; DOS Services ah=function 4Ch
- ; terminate with al=return code
- 2913:0473 0059[00] db 89 dup (0)
- 2913:04CC 4D 61 69 6C 20 74 db 'Mail to Takeo Katoh(Take); KFF00'
- 2913:04D2 6F 20 54 61 6B 65
- 2913:04D8 6F 20 4B 61 74 6F
- 2913:04DE 68 28 54 61 6B 65
- 2913:04E4 29 3B 20 4B 46 46
- 2913:04EA 30 30
- 2913:04EC 36 34 32 40 6E 69 db '[email protected]'
- 2913:04F2 66 74 79 73 65 72
- 2913:04F8 76 65 2E 6F 72 2E
- 2913:04FE 6A 70
- 2913:0500 00 00 db 0, 0
- 2913:0502 57 69 7A 61 72 64 data_24 db 'Wizardry OS Emulator for DOS, ve' ; xref 2913:0147
- 2913:0508 72 79 20 4F 53 20
- 2913:050E 45 6D 75 6C 61 74
- 2913:0514 6F 72 20 66 6F 72
- 2913:051A 20 44 4F 53 2C 20
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 9
- 2913:0520 76 65
- 2913:0522 72 20 31 2E 30 30 db 'r 1.00', 0Dh, 0Ah, ' '
- 2913:0528 0D 0A 20 20 20 20
- 2913:052E 20 20 20 20 20 20
- 2913:0534 20 20
- 2913:0536 20 20 20 20 28 63 db ' (c)Takeo Katoh(Take), 1996-9'
- 2913:053C 29 54 61 6B 65 6F
- 2913:0542 20 4B 61 74 6F 68
- 2913:0548 28 54 61 6B 65 29
- 2913:054E 2C 20 31 39 39 36
- 2913:0554 2D 39
- 2913:0556 38 0D 0A 75 73 61 db '8', 0Dh, 0Ah, 'usage:', 0Dh, 0Ah
- 2913:055C 67 65 3A 0D 0A
- 2913:0561 20 20 57 49 5A 44 db ' WIZDOS [<disk1_image>] [<disk2'
- 2913:0567 4F 53 20 5B 3C 64
- 2913:056D 69 73 6B 31 5F 69
- 2913:0573 6D 61 67 65 3E 5D
- 2913:0579 20 5B 3C 64 69 73
- 2913:057F 6B 32
- 2913:0581 5F 69 6D 61 67 65 db '_image>]', 0Dh, 0Ah, 'keys:', 0Dh
- 2913:0587 3E 5D 0D 0A 6B 65
- 2913:058D 79 73 3A 0D
- 2913:0591 0A 20 20 5B 43 54 db 0Ah, ' [CTRL]+[ALT] to e'
- 2913:0597 52 4C 5D 2B 5B 41
- 2913:059D 4C 54 5D 20 20 20
- 2913:05A3 20 20 20 20 20 20
- 2913:05A9 74 6F 20 65
- 2913:05AD 78 69 74 0D 0A 20 db 'xit', 0Dh, 0Ah, ' [CTRL]+[LEFT_'
- 2913:05B3 20 5B 43 54 52 4C
- 2913:05B9 5D 2B 5B 4C 45 46
- 2913:05BF 54 5F
- 2913:05C1 53 48 49 46 54 5D db 'SHIFT] to set disk1 (default)', 0Dh
- 2913:05C7 20 20 74 6F 20 73
- 2913:05CD 65 74 20 64 69 73
- 2913:05D3 6B 31 20 28 64 65
- 2913:05D9 66 61 75 6C 74 29
- 2913:05DF 0D
- 2913:05E0 0A 20 20 5B 43 54 db 0Ah, ' [CTRL]+[RIGHT_SHIFT] to s'
- 2913:05E6 52 4C 5D 2B 5B 52
- 2913:05EC 49 47 48 54 5F 53
- 2913:05F2 48 49 46 54 5D 20
- 2913:05F8 74 6F 20 73
- 2913:05FC 65 74 20 64 69 73 db 'et disk2', 0Dh, 0Ah, 'warning:', 0Dh
- 2913:0602 6B 32 0D 0A 77 61
- 2913:0608 72 6E 69 6E 67 3A
- 2913:060E 0D
- 2913:060F 0A 20 20 59 6F 75 db 0Ah, ' You MUST own an original '
- 2913:0615 20 4D 55 53 54 20
- 2913:061B 6F 77 6E 20 61 6E
- 2913:0621 20 6F 72 69 67 69
- 2913:0627 6E 61 6C 20
- 2913:062B 57 69 7A 61 72 64 db 'Wizardry disk!', 0Dh, 0Ah, '"Wiz'
- 2913:0631 72 79 20 64 69 73
- 2913:0637 6B 21 0D 0A 22 57
- 2913:063D 69 7A
- 2913:063F 61 72 64 72 79 22 db 'ardry" is a Reg', 27h, 'd TM of '
- 2913:0645 20 69 73 20 61 20
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 10
- 2913:064B 52 65 67 27 64 20
- 2913:0651 54 4D 20 6F 66 20
- 2913:0657 53 69 72 2D 74 65 db 'Sir-tech Software.', 0Dh, 0Ah, '$'
- 2913:065D 63 68 20 53 6F 66
- 2913:0663 74 77 61 72 65 2E
- 2913:0669 0D 0A 24
- wizdos endp
- seg_a ends
- end start
- wizdos.lst Sourcer v8.01 10-Feb-2024 4:50 pm Page 11
- ???????????????????? CROSS REFERENCE - KEY ENTRY POINTS ???????????????????
- seg:off type label
- ---- ---- ---- --------------------------------
- 2913:0100 far start
- ?????????????????? Interrupt Usage Synopsis ??????????????????
- Interrupt 10h : Video display ah=functn xxh
- Interrupt 10h : ah=00h set display mode in al
- Interrupt 10h : ah=0Fh get state, al=mode, bh=page
- Interrupt 18h : ROM basic
- Interrupt 21h : DOS Services ah=function xxh
- Interrupt 21h : ah=09h display char string at ds:dx
- Interrupt 21h : ah=3Dh open file, al=mode,name@ds:dx
- Interrupt 21h : ah=3Eh close file, bx=file handle
- Interrupt 21h : ah=3Fh read file, bx=file handle
- Interrupt 21h : ah=40h write file bx=file handle
- Interrupt 21h : ah=42h move file ptr, bx=file handle
- Interrupt 21h : ah=4Ah change memory allocation
- Interrupt 21h : ah=4Ch terminate with al=return code
- Interrupt 21h : ah=68h flush file buffers, bx=handle
- ?????????????????? I/O Port Usage Synopsis ??????????????????
- Port 61h : 8255 port B, read
- Port 61h : 8255 B - spkr, etc
- Port 61h : al = 0, speaker off
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement