home *** CD-ROM | disk | FTP | other *** search
-
- Module: DOSSHELL.PAS
- Group: 'DGROUP' _DATA,_BSS
-
- Segment: DOSSHELL_TEXT PARA 000004bf bytes
- 0000 0a 44 6f L1 or al,+6fH[si]
- 0003 73 20 jae L4
- 0005 65 72 72 jb L6
- 0008 6f outsw
- 0009 72 20 jb L5
- 000b 03 2e 20 20 L2 add bp,[00002020H]
- 000f CHECK_DOSERROR:
- 000f 55 DOSSHELL_001 push bp
- 0010 89 e5 mov bp,sp
- 0012 31 c0 xor ax,ax
- 0014 9a 00 00 00 00 call far SYSTEM_034
- 0019 80 7e 06 00 cmp byte ptr +6H[bp],00H
- 001d 75 03 jne L3
- 001f e9 c8 00 jmp L10
- 0022 bf 00 00 L3 mov di,offset SYSTEM_BSS+100H
- 0025 1e L4 push ds
- 0026 57 push di
- 0027 bf 00 00 mov di,offset L1
- 002a 0e push cs
- 002b 57 L5 push di
- 002c 31 c0 xor ax,ax
- 002e 50 push ax
- 002f 9a 00 00 00 00 call far SYSTEM_036
- 0034 8a 46 06 mov al,+6H[bp]
- 0037 30 e4 xor ah,ah
- 0039 31 d2 xor dx,dx
- 003b 52 push dx
- 003c 50 push ax
- 003d 31 c0 xor ax,ax
- 003f 50 push ax
- 0040 9a 00 00 00 00 call far SYSTEM_037
- 0045 bf 00 00 mov di,offset L2
- 0048 0e push cs
- 0049 57 push di
- 004a 31 c0 xor ax,ax
- 004c 50 push ax
- 004d 9a 00 00 00 00 call far SYSTEM_036
- 0052 9a 00 00 00 00 call far SYSTEM_03B
- 0057 9a 00 00 00 00 call far SYSTEM_032
- 005c 80 7e 06 02 cmp byte ptr +6H[bp],02H
- 0060 75 1e jne L7
- 0062 bf 00 00 mov di,offset SYSTEM_BSS+100H
- 0065 1e push ds
- 0066 57 push di
- 0067 bf 00 00 mov di,offset DOSSHELL_DATA
- 006a 1e push ds
- 006b 57 push di
- 006c 31 c0 xor ax,ax
- 006e 50 push ax
- 006f 9a 00 00 00 00 call far SYSTEM_036
- 0074 9a 00 00 00 00 call far SYSTEM_03B
- 0079 9a 00 00 00 00 call far SYSTEM_032
- 007e eb 6a jmp L10
- 0080 80 7e 06 08 L7 cmp byte ptr +6H[bp],08H
- 0084 75 1e jne L8
- 0086 bf 00 00 mov di,offset SYSTEM_BSS+100H
- 0089 1e push ds
- 008a 57 push di
- 008b bf 00 00 mov di,offset L42
- 008e 1e push ds
- 008f 57 push di
- 0090 31 c0 xor ax,ax
- 0092 50 push ax
- 0093 9a 00 00 00 00 call far SYSTEM_036
- 0098 9a 00 00 00 00 call far SYSTEM_03B
- 009d 9a 00 00 00 00 call far SYSTEM_032
- 00a2 eb 46 jmp L10
- 00a4 80 7e 06 0a L8 cmp byte ptr +6H[bp],0aH
- 00a8 75 1e jne L9
- 00aa bf 00 00 mov di,offset SYSTEM_BSS+100H
- 00ad 1e push ds
- 00ae 57 push di
- 00af bf 00 00 mov di,offset L43
- 00b2 1e push ds
- 00b3 57 push di
- 00b4 31 c0 xor ax,ax
- 00b6 50 push ax
- 00b7 9a 00 00 00 00 call far SYSTEM_036
- 00bc 9a 00 00 00 00 call far SYSTEM_03B
- 00c1 9a 00 00 00 00 call far SYSTEM_032
- 00c6 eb 22 jmp L10
- 00c8 80 7e 06 0b L9 cmp byte ptr +6H[bp],0bH
- 00cc 75 1c jne L10
- 00ce bf 00 00 mov di,offset SYSTEM_BSS+100H
- 00d1 1e push ds
- 00d2 57 push di
- 00d3 bf 00 00 mov di,offset L44
- 00d6 1e push ds
- 00d7 57 push di
- 00d8 31 c0 xor ax,ax
- 00da 50 push ax
- 00db 9a 00 00 00 00 call far SYSTEM_036
- 00e0 9a 00 00 00 00 call far SYSTEM_03B
- 00e5 9a 00 00 00 00 call far SYSTEM_032
- 00ea 89 ec L10 mov sp,bp
- 00ec 5d pop bp
- 00ed ca 02 00 retf 0002H
- 00f0 00 0c L11 add [si],cl
- 00f2 5c pop sp
- 00f3 63 6f 6d arpl bp,+6dH[bx]
- 00f6 6d insw
- 00f7 61 popa
- 00f8 6e outsb
- 00f9 64 2e 63 6f 6d arpl bp,cs:+6dH[bx]
- 00fe 03 2f L13 add bp,[bx]
- 0100 43 inc bx
- 0101 20 02 and [bp+si],al
- 0103 63 3a arpl di,[bp+si]
- 0105 02 64 3a L15 add ah,+3aH[si]
- 0108 0b 20 L16 or sp,[bx+si]
- 010a 6e outsb
- 010b 6f outsw
- 010c 74 20 je L17
- 010e 66 6f outsd
- 0110 75 6e jne L19
- 0112 64 2e 55 push bp
- 0115 89 e5 mov bp,sp
- 0117 b8 00 05 mov ax,0500H
- 011a 9a 00 00 00 00 call far SYSTEM_034
- 011f 81 ec 00 05 sub sp,0500H
- 0123 c4 7e 08 les di,dword ptr +8H[bp]
- 0126 06 push es
- 0127 57 push di
- 0128 8d be 00 ff lea di,-100H[bp]
- 012c 16 push ss
- 012d 57 push di
- 012e b8 ff 00 L17 mov ax,00ffH
- 0131 50 push ax
- 0132 9a 00 00 00 00 call far SYSTEM_00C
- 0137 c4 7e 04 les di,dword ptr +4H[bp]
- 013a 26 c6 05 01 mov byte ptr es:[di],01H
- 013e 8d be 00 ff lea di,-100H[bp]
- 0142 16 push ss
- 0143 57 push di
- 0144 bf 00 00 mov di,offset L11
- 0147 0e push cs
- 0148 57 push di
- 0149 9a 00 00 00 00 call far SYSTEM_011
- 014e 75 03 jne L18
- 0150 e9 57 01 jmp L24
- 0153 bf 00 00 L18 mov di,offset L12
- 0156 0e push cs
- 0157 57 push di
- 0158 9a 00 00 00 00 call far LIBRARY1_006
- 015d 08 c0 or al,al
- 015f 74 28 je L20
- 0161 bf 00 00 mov di,offset L12
- 0164 0e push cs
- 0165 57 push di
- 0166 8d be 00 fe lea di,-200H[bp]
- 016a 16 push ss
- 016b 57 push di
- 016c bf 00 00 mov di,offset L13
- 016f 0e push cs
- 0170 57 push di
- 0171 9a 00 00 00 00 call far SYSTEM_00B
- 0176 8d be 00 ff lea di,-100H[bp]
- 017a 16 push ss
- 017b 57 push di
- 017c 9a 00 00 00 00 call far SYSTEM_00F
- 0181 9a 00 00 00 00 call far DOS_014
- 0186 e9 ea 00 jmp L23
- 0189 8d be 00 fe L20 lea di,-200H[bp]
- 018d 16 push ss
- 018e 57 push di
- 018f bf 00 00 mov di,offset L14
- 0192 0e push cs
- 0193 57 push di
- 0194 9a 00 00 00 00 call far SYSTEM_00B
- 0199 bf 00 00 mov di,offset L12
- 019c 0e push cs
- 019d 57 push di
- 019e 9a 00 00 00 00 call far SYSTEM_00F
- 01a3 9a 00 00 00 00 call far LIBRARY1_006
- 01a8 08 c0 or al,al
- 01aa 74 3d je L21
- 01ac 8d be 00 fd lea di,-300H[bp]
- 01b0 16 push ss
- 01b1 57 push di
- 01b2 bf 00 00 mov di,offset L14
- 01b5 0e push cs
- 01b6 57 push di
- 01b7 9a 00 00 00 00 call far SYSTEM_00B
- 01bc bf 00 00 mov di,offset L12
- 01bf 0e push cs
- 01c0 57 push di
- 01c1 9a 00 00 00 00 call far SYSTEM_00F
- 01c6 8d be 00 fc lea di,-400H[bp]
- 01ca 16 push ss
- 01cb 57 push di
- 01cc bf 00 00 mov di,offset L13
- 01cf 0e push cs
- 01d0 57 push di
- 01d1 9a 00 00 00 00 call far SYSTEM_00B
- 01d6 8d be 00 ff lea di,-100H[bp]
- 01da 16 push ss
- 01db 57 push di
- 01dc 9a 00 00 00 00 call far SYSTEM_00F
- 01e1 9a 00 00 00 00 call far DOS_014
- 01e6 e9 8a 00 jmp L23
- 01e9 8d be 00 fd L21 lea di,-300H[bp]
- 01ed 16 push ss
- 01ee 57 push di
- 01ef bf 00 00 mov di,offset L15
- 01f2 0e push cs
- 01f3 57 push di
- 01f4 9a 00 00 00 00 call far SYSTEM_00B
- 01f9 bf 00 00 mov di,offset L12
- 01fc 0e push cs
- 01fd 57 push di
- 01fe 9a 00 00 00 00 call far SYSTEM_00F
- 0203 9a 00 00 00 00 call far LIBRARY1_006
- 0208 08 c0 or al,al
- 020a 74 3c je L22
- 020c 8d be 00 fc lea di,-400H[bp]
- 0210 16 push ss
- 0211 57 push di
- 0212 bf 00 00 mov di,offset L15
- 0215 0e push cs
- 0216 57 push di
- 0217 9a 00 00 00 00 call far SYSTEM_00B
- 021c bf 00 00 mov di,offset L12
- 021f 0e push cs
- 0220 57 push di
- 0221 9a 00 00 00 00 call far SYSTEM_00F
- 0226 8d be 00 fb lea di,-500H[bp]
- 022a 16 push ss
- 022b 57 push di
- 022c bf 00 00 mov di,offset L13
- 022f 0e push cs
- 0230 57 push di
- 0231 9a 00 00 00 00 call far SYSTEM_00B
- 0236 8d be 00 ff lea di,-100H[bp]
- 023a 16 push ss
- 023b 57 push di
- 023c 9a 00 00 00 00 call far SYSTEM_00F
- 0241 9a 00 00 00 00 call far DOS_014
- 0246 eb 2b jmp L23
- 0248 bf 00 00 L22 mov di,offset SYSTEM_BSS+100H
- 024b 1e push ds
- 024c 57 push di
- 024d bf 00 00 mov di,offset L12
- 0250 0e push cs
- 0251 57 push di
- 0252 31 c0 xor ax,ax
- 0254 50 push ax
- 0255 9a 00 00 00 00 call far SYSTEM_036
- 025a bf 00 00 mov di,offset L16
- 025d 0e push cs
- 025e 57 push di
- 025f 31 c0 xor ax,ax
- 0261 50 push ax
- 0262 9a 00 00 00 00 call far SYSTEM_036
- 0267 9a 00 00 00 00 call far SYSTEM_03B
- 026c 9a 00 00 00 00 call far SYSTEM_032
- 0271 eb 37 jmp L24
- 0273 a0 00 00 L23 mov al,DOS_BSS
- 0276 c4 7e 04 les di,dword ptr +4H[bp]
- 0279 26 88 05 mov es:[di],al
- 027c c4 7e 04 les di,dword ptr +4H[bp]
- 027f 26 8a 05 mov al,es:[di]
- 0282 50 push ax
- 0283 0e push cs
- 0284 e8 00 00 call CHECK_DOSERROR
- 0287 bf 00 00 mov di,offset SYSTEM_BSS+100H
- 028a 1e push ds
- 028b 57 push di
- 028c 9a 00 00 00 00 call far SYSTEM_03A
- 0291 9a 00 00 00 00 call far SYSTEM_032
- 0296 c4 7e 04 les di,dword ptr +4H[bp]
- 0299 26 80 3d 00 cmp byte ptr es:[di],00H
- 029d 75 0b jne L24
- 029f 9a 00 00 00 00 call far DOS_015
- 02a4 c4 7e 04 les di,dword ptr +4H[bp]
- 02a7 26 88 05 mov es:[di],al
- 02aa 89 ec L24 mov sp,bp
- 02ac 5d pop bp
- 02ad c2 08 00 ret 0008H
- 02b0 02 20 L25 add ah,[bx+si]
- 02b2 3e 55 push bp
- 02b4 89 e5 mov bp,sp
- 02b6 b8 00 02 mov ax,0200H
- 02b9 9a 00 00 00 00 call far SYSTEM_034
- 02be 81 ec 00 02 sub sp,0200H
- 02c2 c4 7e 0a les di,dword ptr +0aH[bp]
- 02c5 06 push es
- 02c6 57 push di
- 02c7 8d be 00 ff lea di,-100H[bp]
- 02cb 16 push ss
- 02cc 57 push di
- 02cd b8 ff 00 mov ax,00ffH
- 02d0 50 push ax
- 02d1 9a 00 00 00 00 call far SYSTEM_00C
- 02d6 a0 00 00 mov al,DOSCOLOR
- 02d9 50 push ax
- 02da 9a 00 00 00 00 call far LIBRARY1_00D
- 02df b0 00 mov al,00H
- 02e1 50 push ax
- 02e2 8d be 00 fe lea di,-200H[bp]
- 02e6 16 push ss
- 02e7 57 push di
- 02e8 b8 ff 00 mov ax,00ffH
- 02eb 50 push ax
- 02ec 9a 00 00 00 00 call far SYSTEM_065
- 02f1 bf 00 00 mov di,offset SYSTEM_BSS+100H
- 02f4 1e push ds
- 02f5 57 push di
- 02f6 8d be 00 fe lea di,-200H[bp]
- 02fa 16 push ss
- 02fb 57 push di
- 02fc 31 c0 xor ax,ax
- 02fe 50 push ax
- 02ff 9a 00 00 00 00 call far SYSTEM_036
- 0304 bf 00 00 mov di,offset L25
- 0307 0e push cs
- 0308 57 push di
- 0309 31 c0 xor ax,ax
- 030b 50 push ax
- 030c 9a 00 00 00 00 call far SYSTEM_036
- 0311 8d be 00 ff lea di,-100H[bp]
- 0315 16 push ss
- 0316 57 push di
- 0317 31 c0 xor ax,ax
- 0319 50 push ax
- 031a 9a 00 00 00 00 call far SYSTEM_036
- 031f 9a 00 00 00 00 call far SYSTEM_03A
- 0324 9a 00 00 00 00 call far SYSTEM_032
- 0329 8d be 00 ff lea di,-100H[bp]
- 032d 16 push ss
- 032e 57 push di
- 032f c4 7e 06 les di,dword ptr +6H[bp]
- 0332 06 push es
- 0333 57 push di
- 0334 e8 00 00 call DOSSHELL_004
- 0337 89 ec mov sp,bp
- 0339 5d pop bp
- 033a ca 08 00 retf 0008H
- 033d 00 1f L26 add [bx],bl
- 033f 44 inc sp
- 0340 4f dec di
- 0341 53 push bx
- 0342 20 73 68 and +68H[bp+di],dh
- 0345 65 6c insb
- 0347 6c insb
- 0348 20 2d and [di],ch
- 034a 20 74 79 and +79H[si],dh
- 034d 70 65 jo L32
- 034f 20 45 58 and +58H[di],al
- 0352 49 dec cx
- 0353 54 push sp
- 0354 20 74 6f and +6fH[si],dh
- 0357 20 72 65 and +65H[bp+si],dh
- 035a 74 75 je L35
- 035c 72 6e jb L33
- 035e 03 76 65 L28 add si,+65H[bp]
- 0361 72 02 jb L30
- 0363 20 3e 04 45 and [00004504H],bh
- 0367 58 pop ax
- 0368 49 dec cx
- 0369 54 push sp
- 036a DOS_SHELL:
- 036a 55 DOSSHELL_002 push bp
- 036b 89 e5 mov bp,sp
- 036d b8 03 03 mov ax,0303H
- 0370 9a 00 00 00 00 call far SYSTEM_034
- 0375 81 ec 03 03 sub sp,0303H
- 0379 c6 86 fd fd 00 mov byte ptr -203H[bp],00H
- 037e 9a 00 00 00 00 call far CRT_007
- 0383 30 e4 xor ah,ah
- 0385 8b c8 mov cx,ax
- 0387 a0 00 00 mov al,CRT_BSS+7H
- 038a 30 e4 xor ah,ah
- 038c 8b d0 mov dx,ax
- 038e a0 00 00 mov al,CRT_BSS+9H
- 0391 30 e4 xor ah,ah
- 0393 2b c2 sub ax,dx
- 0395 2b c1 sub ax,cx
- 0397 48 dec ax
- 0398 88 46 fe mov -2H[bp],al
- 039b 8d be fd fd lea di,-203H[bp]
- 039f 16 push ss
- 03a0 57 push di
- 03a1 8a 46 fe mov al,-2H[bp]
- 03a4 50 push ax
- 03a5 9a 00 00 00 00 call far LIBRARY1_00B
- 03aa 08 c0 or al,al
- 03ac 75 03 jne L31
- 03ae e9 ff 00 jmp L41
- 03b1 a0 00 00 L31 mov al,DOSCOLOR
- 03b4 50 L32 push ax
- 03b5 9a 00 00 00 00 call far LIBRARY1_00D
- 03ba 8d be fd fd lea di,-203H[bp]
- 03be 16 push ss
- 03bf 57 push di
- 03c0 bf 00 00 mov di,offset L26
- 03c3 0e push cs
- 03c4 57 push di
- 03c5 9a 00 00 00 00 call far SYSTEM_011
- 03ca 74 03 je L34
- 03cc e9 cd 00 L33 jmp L40
- 03cf bf 00 00 L34 mov di,offset SYSTEM_BSS+100H
- 03d2 1e push ds
- 03d3 57 push di
- 03d4 bf 00 00 mov di,offset L27
- 03d7 0e push cs
- 03d8 57 push di
- 03d9 31 c0 xor ax,ax
- 03db 50 push ax
- 03dc 9a 00 00 00 00 call far SYSTEM_036
- 03e1 9a 00 00 00 00 call far SYSTEM_03A
- 03e6 9a 00 00 00 00 call far SYSTEM_032
- 03eb bf 00 00 mov di,offset L28
- 03ee 0e push cs
- 03ef 57 push di
- 03f0 8d 7e ff lea di,-1H[bp]
- 03f3 16 push ss
- 03f4 57 push di
- 03f5 e8 00 00 call DOSSHELL_004
- 03f8 b0 00 L36 mov al,00H
- 03fa 50 push ax
- 03fb 8d be fd fe lea di,-103H[bp]
- 03ff 16 push ss
- 0400 57 push di
- 0401 b8 ff 00 mov ax,00ffH
- 0404 50 push ax
- 0405 9a 00 00 00 00 call far SYSTEM_065
- 040a bf 00 00 mov di,offset SYSTEM_BSS+100H
- 040d 1e push ds
- 040e 57 push di
- 040f 8d be fd fe lea di,-103H[bp]
- 0413 16 push ss
- 0414 57 push di
- 0415 31 c0 xor ax,ax
- 0417 50 push ax
- 0418 9a 00 00 00 00 call far SYSTEM_036
- 041d bf 00 00 mov di,offset L29
- 0420 0e push cs
- 0421 57 push di
- 0422 31 c0 xor ax,ax
- 0424 50 push ax
- 0425 9a 00 00 00 00 call far SYSTEM_036
- 042a 9a 00 00 00 00 call far SYSTEM_03B
- 042f 9a 00 00 00 00 call far SYSTEM_032
- 0434 c6 86 fd fd 00 mov byte ptr -203H[bp],00H
- 0439 8d be fd fd lea di,-203H[bp]
- 043d 16 push ss
- 043e 57 push di
- 043f 8a 46 fe mov al,-2H[bp]
- 0442 50 push ax
- 0443 9a 00 00 00 00 call far LIBRARY1_00B
- 0448 08 c0 or al,al
- 044a 74 1f je L37
- 044c bf 00 00 mov di,offset SYSTEM_BSS+100H
- 044f 1e push ds
- 0450 57 push di
- 0451 9a 00 00 00 00 call far SYSTEM_03A
- 0456 9a 00 00 00 00 call far SYSTEM_032
- 045b 8d be fd fd lea di,-203H[bp]
- 045f 16 push ss
- 0460 57 push di
- 0461 8d 7e ff lea di,-1H[bp]
- 0464 16 push ss
- 0465 57 push di
- 0466 e8 00 00 call DOSSHELL_004
- 0469 eb 0f jmp L38
- 046b bf 00 00 L37 mov di,offset SYSTEM_BSS+100H
- 046e 1e push ds
- 046f 57 push di
- 0470 9a 00 00 00 00 call far SYSTEM_03A
- 0475 9a 00 00 00 00 call far SYSTEM_032
- 047a 8d be fd fc L38 lea di,-303H[bp]
- 047e 16 push ss
- 047f 57 push di
- 0480 8d be fd fd lea di,-203H[bp]
- 0484 16 push ss
- 0485 57 push di
- 0486 9a 00 00 00 00 call far LIBRARY1_002
- 048b bf 00 00 mov di,offset L30
- 048e 0e push cs
- 048f 57 push di
- 0490 9a 00 00 00 00 call far SYSTEM_011
- 0495 74 03 je L39
- 0497 e9 5e ff jmp L36
- 049a eb 14 L39 jmp L41
- 049c 8d be fd fd L40 lea di,-203H[bp]
- 04a0 16 push ss
- 04a1 57 push di
- 04a2 8d 7e ff lea di,-1H[bp]
- 04a5 16 push ss
- 04a6 57 push di
- 04a7 0e push cs
- 04a8 e8 00 00 call DOS_COMMAND
- 04ab 9a 00 00 00 00 call far LIBRARY1_00A
- 04b0 89 ec L41 mov sp,bp
- 04b2 5d pop bp
- 04b3 cb retf
- 04b4 DOSSHELL_000:
- 04b4 89 e5 DOSSHELL_INIT mov bp,sp
- 04b6 a0 00 00 mov al,CRT_BSS+6H
- 04b9 a2 00 00 mov DOSCOLOR,al
- 04bc 89 ec mov sp,bp
- 04be cb retf
-
- No disassembly errors
-
- ------------------------------------------------------------
-
- Segment: _DATA WORD 00000050 bytes
- 0000 0e 46 69 6c 65 20 6e 6f DOSSHELL_DATA - .File no
- 0008 74 20 66 6f 75 6e 64 00 - t found.
- 0010 00 00 00 00 - ....
- 0014 11 4e 6f 74 20 65 6e 6f L42 - .Not eno
- 001c 75 67 68 20 6d 65 6d 6f - ugh memo
- 0024 72 79 00 00 - ry..
- 0028 13 49 6e 76 61 6c 69 64 L43 - .Invalid
- 0030 20 65 6e 76 69 72 6f 6e - environ
- 0038 6d 65 6e 74 - ment
- 003c 0e 49 6e 76 61 6c 69 64 L44 - .Invalid
- 0044 20 66 6f 72 6d 61 74 00 - format.
- 004c 00 00 00 00 - ....
-
- No disassembly errors
-
- ------------------------------------------------------------
-
- Segment: _BSS WORD 00000001 bytes
-
- No disassembly errors
-
- ------------------------------------------------------------
-