Dec 062017
Programmer’s Journal Volume 8 Number 3 source code disk. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
386.MAK | 309 | 114 | deflated |
386_ASM.ASM | 366 | 229 | deflated |
386_C.C | 103 | 57 | deflated |
386_MSC.ASM | 386 | 215 | deflated |
386_TRAP.ASM | 2442 | 882 | deflated |
ASM.INC | 1280 | 416 | deflated |
BIOS.ASM | 14398 | 4851 | deflated |
BIOS.COM | 488 | 452 | deflated |
DIRTEST.EXE | 11008 | 6195 | deflated |
DIRTEST.PAS | 644 | 357 | deflated |
ELLIPSE1.C | 4835 | 1528 | deflated |
ELLIPSE2.C | 1051 | 538 | deflated |
ELLIPSE3.C | 907 | 467 | deflated |
ELLIPSE4.C | 4051 | 1151 | deflated |
HIMEM.ASM | 12453 | 3907 | deflated |
HITTEST | 396 | 174 | deflated |
HITTEST.C | 6310 | 1778 | deflated |
HITTEST.DEF | 180 | 139 | deflated |
HITTEST.EXE | 11876 | 4352 | deflated |
HITTEST.OBJ | 8389 | 2805 | deflated |
IOCTLT.C | 1171 | 433 | deflated |
IOCTLT.EXE | 6660 | 4251 | deflated |
LASTMIN.DOC | 1623 | 513 | deflated |
LIBRARY.PRM | 936 | 420 | deflated |
LNKTBL1.ASM | 1868 | 829 | deflated |
LNKTBL2.ASM | 81 | 74 | deflated |
LNKTBL3.ASM | 1252 | 580 | deflated |
LNKTBL4.ASM | 236 | 169 | deflated |
LNKTBL5.ASM | 906 | 459 | deflated |
README8.3 | 7331 | 2552 | deflated |
README8.BAK | 7318 | 2556 | deflated |
STD_TST.C | 937 | 415 | deflated |
TEST1.EXE | 9360 | 5320 | deflated |
TEST1.PAS | 112 | 98 | deflated |
TEST2.EXE | 10000 | 5508 | deflated |
TEST2.PAS | 120 | 102 | deflated |
UCMDS.PAS | 707 | 329 | deflated |
UCMDS.TPU | 1088 | 557 | deflated |
UDIR.PAS | 1844 | 714 | deflated |
UDIR.TPU | 2032 | 970 | deflated |
UFILES.PAS | 1369 | 492 | deflated |
UFILES.TPU | 2272 | 944 | deflated |
UHELP.PAS | 553 | 310 | deflated |
UHELP.TPU | 1232 | 589 | deflated |
UITEM.PAS | 994 | 391 | deflated |
UITEM.TPU | 1296 | 540 | deflated |
UKEYS.PAS | 878 | 375 | deflated |
UKEYS.TPU | 928 | 410 | deflated |
ULIST.PAS | 3674 | 1029 | deflated |
ULIST.TPU | 3008 | 1251 | deflated |
UMENU.PAS | 5778 | 1695 | deflated |
UMENU.TPU | 4096 | 1756 | deflated |
UNEW.PAS | 399 | 244 | deflated |
UNEW.TPU | 976 | 482 | deflated |
UPROGRAM.PAS | 1095 | 524 | deflated |
UPROGRAM.TPU | 1248 | 610 | deflated |
USCREEN.PAS | 1502 | 461 | deflated |
USCREEN.TPU | 1328 | 553 | deflated |
USELECT.PAS | 6442 | 1687 | deflated |
USELECT.TPU | 5744 | 2481 | deflated |
USTRITEM.PAS | 1791 | 673 | deflated |
USTRITEM.TPU | 1760 | 801 | deflated |
WCLDLG.H | 148 | 78 | deflated |
WINCEL | 837 | 364 | deflated |
WINCEL.C | 7319 | 2683 | deflated |
WINCEL.DEF | 712 | 416 | deflated |
WINCEL.DLG | 1816 | 574 | deflated |
WINCEL.EXE | 17504 | 10365 | deflated |
WINCEL.H | 1550 | 746 | deflated |
WINCEL.OBJ | 3053 | 2066 | deflated |
WINCEL.RC | 619 | 357 | deflated |
WINCEL.RES | 696 | 432 | deflated |
WINCELMS.C | 3938 | 1338 | deflated |
WINCELMS.OBJ | 1513 | 973 | deflated |
WINCELNT.C | 4090 | 1579 | deflated |
WINCELNT.OBJ | 1403 | 964 | deflated |
XCALL.ASM | 25144 | 5894 | deflated |
XCALL.COM | 1251 | 843 | deflated |
Download File PJ83.ZIP Here
Contents of the LASTMIN.DOC file
HERE IS THE OLD ROUTINE - DOESN'T PROPERLY SET UP ES FOR SCASB:
check_command_string proc near
push di
cld;Check for first quotation mark -
mov al,'"'; replace with null (20h) if present.
mov di,82h;Command tail starts at 82h.
xor ch,ch
mov cl,byte ptr ds:[080h];Length of command tail stored at 80h
repne scasb
jcxz end_check
mov byte ptr [di-1],20h
std;Change direction & check for
add di,cx; last quotation mark.
dec di
dec di
repne scasb
jcxz end_check
mov byte ptr [di+1],20h
end_check:
cld
pop di
ret
check_command_string endp
HERE IS THE NEW ROUTINE - DOES PROPERLY SET UP ES
;-------------------------------------------------------------------------------;Check_command_string removes first & last quotation marks from command
;string. This lets xcall pass redirection request to COMMAND.COM. This
;routine saves ES & DI.
;-------------------------------------------------------------------------------
check_command_string proc near
push di
push es
mov ax,ds
mov es,ax
xor ch,ch
mov cl,byte ptr ds:[080h];Length of command tail stored at 80h
jcxz end_check;All done if no command tail
cld;Check for first quotation mark -
mov al,'"'; replace with null (20h) if present.
mov di,82h;Command tail starts at 82h.
repne scasb
jnz end_check
mov byte ptr [di-1],20h
std;Change direction & check for
add di,cx; last quotation mark.
dec di
dec di
repne scasb
cld
jnz end_check
mov byte ptr [di+1],20h
end_check:
pop es
pop di
ret
check_command_string endp
check_command_string proc near
push di
cld;Check for first quotation mark -
mov al,'"'; replace with null (20h) if present.
mov di,82h;Command tail starts at 82h.
xor ch,ch
mov cl,byte ptr ds:[080h];Length of command tail stored at 80h
repne scasb
jcxz end_check
mov byte ptr [di-1],20h
std;Change direction & check for
add di,cx; last quotation mark.
dec di
dec di
repne scasb
jcxz end_check
mov byte ptr [di+1],20h
end_check:
cld
pop di
ret
check_command_string endp
HERE IS THE NEW ROUTINE - DOES PROPERLY SET UP ES
;-------------------------------------------------------------------------------;Check_command_string removes first & last quotation marks from command
;string. This lets xcall pass redirection request to COMMAND.COM. This
;routine saves ES & DI.
;-------------------------------------------------------------------------------
check_command_string proc near
push di
push es
mov ax,ds
mov es,ax
xor ch,ch
mov cl,byte ptr ds:[080h];Length of command tail stored at 80h
jcxz end_check;All done if no command tail
cld;Check for first quotation mark -
mov al,'"'; replace with null (20h) if present.
mov di,82h;Command tail starts at 82h.
repne scasb
jnz end_check
mov byte ptr [di-1],20h
std;Change direction & check for
add di,cx; last quotation mark.
dec di
dec di
repne scasb
cld
jnz end_check
mov byte ptr [di+1],20h
end_check:
pop es
pop di
ret
check_command_string endp
December 6, 2017
Add comments