home *** CD-ROM | disk | FTP | other *** search
- to get this listing just link bcomx.obj (link.exe or nlink.exe)
- and load it in debug.exe.
- you have to patch some fixups as well, but you can use the same
- patches for acomx, ccomx and dcomx:
-
- ; original:
- *
- * 1BA4:07EA 8A05 MOV AL,[DI] ;get current char
- * 1BA4:07EC 3C31 CMP AL,'1' ;is it ascii '1' ?
- * 1BA4:07EE 750C JNZ 07FC ;no
- * 1BA4:07F0 C685CD0401 MOV BYTE PTR [DI+04CD],01 ;set a hex 1 to return code hex 5 Bytes
- * 1BA4:07F5 C7852D071108 MOV WORD PTR [DI+JPtr_072D],0811 ;setup to check for following number
- * 1BA4:07FB C3 RET
- *
- * 1BA4:07FC 3C30 CMP AL,'0'
- * 1BA4:07FE 7239 JB 0839
- * 1BA4:0800 3C39 CMP AL,'9' 2 Bytes
- * 1BA4:0802 7735 JA 0839
- * 1BA4:0804 2C30 SUB AL,'0'
- * 1BA4:0806 8885CD04 MOV [DI+04CD],AL
- * 1BA4:080A C7852D072A08 MOV WORD PTR [DI+JPtr_072D],082A
- * 1BA4:0810 C3 RET
- *
- * 1BA4:0811 803D0D CMP BYTE PTR [DI],0D ;carriage return following the ascii '1' ?
- * 1BA4:0814 7503 JNZ 0819 ;no
- * 1BA4:0816 E9F704 JMP 0D10 ;result code is decoded
- *
- * 1BA4:0819 803D30 CMP BYTE PTR [DI],'0' ;is it ascii '0' ?
- * 1BA4:081C 75BF JNZ 07DD ;no, continue checking !!!!!!!!!!!
- *
- * 1BA4:081E C685CD040A MOV BYTE PTR [DI+04CD],0A ;return code 10
- * 1BA4:0823 C7852D072A08 MOV WORD PTR [DI+JPtr_072D],082A ;setup for check on carriage return
- * 1BA4:0829 C3 RET
- *
- * 1BA4:082A 803D0D CMP BYTE PTR [DI],0D ;carriage return
- * 1BA4:082D 7503 JNZ 0832 ;no, continue checking
- * 1BA4:082F E9DE04 JMP 0D10
- *
- * 1BA4:0832 C7852D07DD07 MOV WORD PTR [DI+JPtr_072D],07DD
- * 1BA4:0838 C3 RET
- ;
- ; by these lines:
- ;
- ; ******** changed: ********
- ;
- ; 1BA4:07EA 8A05 MOV AL,[DI]
- ; 1BA4:07EC 3C31 CMP AL,'1'
- ; 1BA4:07EE 7507 JNZ 07F7
- ; 1BA4:07F0 C7852D070208 MOV WORD PTR [DI+JPtr_072D],0802
- ; 1BA4:07F6 C3 RET
- ;
- ; 1BA4:07F7 3C35 CMP AL,'5'
- ; 1BA4:07F9 753E JNZ 0839
- ; 1BA4:07FB C685CD0405 MOV [DI+04CD],05
- ; 1BA4:0800 EB21 JMP 0824
- ;
- ; 1BA4:0802 803D30 CMP BYTE PTR [DI],'0'
- ; 1BA4:0805 7507 JNZ 080E
- ; 1BA4:0807 C685CD040A MOV BYTE PTR [DI+04CD],0A
- ; 1BA4:080C EB16 JMP 0824
- ;
- ; 1BA4:080E 803D33 CMP BYTE PTR [DI],'3'
- ; 1BA4:0811 7507 JNZ 0819
- ; 1BA4:0813 C685CD040D MOV BYTE PTR [DI+04CD],0D
- ; 1BA4:0818 EB0A JMP 0824
- ;
- ; 1BA4:081A 803D38 CMP BYTE PTR [DI],'8'
- ; 1BA4:081D 75BE JNZ 07DD
- ; 1BA4:081F C685CD0412 MOV BYTE PTR [DI+04CD],12
- ; 1BA4:0824 C7852D072B08 MOV WORD PTR [DI+JPtr_072D],082B
- ; 1BA4:082A C3 RET
- ;
- ; 1BA4:082B 803D0D CMP BYTE PTR [DI],0D ;carriage return
- ; 1BA4:082E 7503 JNZ 0833 ;no, continue checking
- ; 1BA4:0830 E9DE04 JMP 0D10
- ; 1BA4:0833 E9AE01 JMP 09E4
- ; 1BA4:0836 90 NOP
- ; 1BA4:0837 90 NOP
- ; 1BA4:0838 90 NOP
- ;
- ; ******** end of changes *********
- ;
- ; original:
- *
- * 1BA4:0D5C 8A85CD04 MOV AL,[DI+04CD]
- * 1BA4:0D60 3C01 CMP AL,01
- * 1BA4:0D62 7418 JZ 0D7C
- * 1BA4:0D64 3C05 CMP AL,05
- * 1BA4:0D66 7424 JZ 0D8C
- * 1BA4:0D68 3C09 CMP AL,09
- * 1BA4:0D6A 7418 JZ 0D84
- * 1BA4:0D6C 3C0A CMP AL,0A
- * 1BA4:0D6E 7424 JZ 0D94
- * 1BA4:0D70 C685D10400 MOV BYTE PTR [DI+04D1],00
- * 1BA4:0D75 C7852D07DD07 MOV WORD PTR [DI+JPtr_072D],07DD
- * 1BA4:0D7B C3 RET
- *
- * 1BA4:0D7C C6856B0700 MOV BYTE PTR [DI+076B],00
- * 1BA4:0D81 EB16 JMP 0D99
- * 1BA4:0D83 90 NOP
- * 1BA4:0D84 C6856B0701 MOV BYTE PTR [DI+076B],01
- * 1BA4:0D89 EB0E JMP 0D99
- * 1BA4:0D8B 90 NOP
- * 1BA4:0D8C C6856B0702 MOV BYTE PTR [DI+076B],02
- * 1BA4:0D91 EB06 JMP 0D99
- * 1BA4:0D93 90 NOP
- * 1BA4:0D94 C6856B0705 MOV BYTE PTR [DI+076B],05
- * 1BA4:0D99 C685D10400 MOV BYTE PTR [DI+04D1],00
- * 1BA4:0D9E 8A856B07 MOV AL,[DI+076B]
- * 1BA4:0DA2 32E4 XOR AH,AH
- * 1BA4:0DA4 8A1E1200 MOV BL,[0012]
- * 1BA4:0DA8 32FF XOR BH,BH
- * 1BA4:0DAA 8BF3 MOV SI,BX
- * 1BA4:0DAC 57 PUSH DI
- * 1BA4:0DAD E8740A CALL 1824
- * 1BA4:0DB0 5F POP DI
- * 1BA4:0DB1 C7852D07DD07 MOV WORD PTR [DI+JPtr_072D],07DD
- * 1BA4:0DB7 C3 RET
- *
- ; ******** start of changes ********
- ;
- ; 1BA4:0D5C 8A85CD04 MOV AL,[DI+04CD]
- ; 1BA4:0D60 3C05 CMP AL,05
- ; 1BA4:0D62 7418 JZ 0D7C
- ; 1BA4:0D64 3C0A CMP AL,0A
- ; 1BA4:0D66 741B JZ 0D83
- ; 1BA4:0D68 3C0D CMP AL,0D
- ; 1BA4:0D6A 741E JZ 0D8A
- ; 1BA4:0D6C 3C12 CMP AL,12
- ; 1BA4:0D6E 7421 JZ 0D91
- ; 1BA4:0D70 C685D10400 MOV BYTE PTR [DI+04D1],00
- ; 1BA4:0D75 C7852D07DD07 MOV WORD PTR [DI+JPtr_072D],07DD
- ; 1BA4:0D7B C3 RET
- ;
- ; 1BA4:0D7C C6856B0702 MOV BYTE PTR [DI+076B],02
- ; 1BA4:0D81 EB14 JMP 0D96
- ;
- ; 1BA4:0D83 C6856B0705 MOV BYTE PTR [DI+076B],05
- ; 1BA4:0D88 EB0C JMP 0D96
- ;
- ; 1BA4:0D8A C6856B0709 MOV BYTE PTR [DI+076B],09
- ; 1BA4:0D8F EB05 JMP 0D96
- ;
- ; 1BA4:0D91 C6856B0707 MOV BYTE PTR [DI+076B],07
- ; 1BA4:0D96 C685D10400 MOV BYTE PTR [DI+04D1],00
- ; 1BA4:0D9B 8A856B07 MOV AL,[DI+076B]
- ; 1BA4:0D9F 32E4 XOR AH,AH
- ; 1BA4:0DA1 8A1E1200 MOV BL,[0012]
- ; 1BA4:0DA5 32FF XOR BH,BH
- ; 1BA4:0DA7 8BF3 MOV SI,BX
- ; 1BA4:0DA9 57 PUSH DI
- ; 1BA4:0DAA E8770A CALL 1824
- ; 1BA4:0DAD 5F POP DI
- ; 1BA4:0DAE C7852D07DD07 MOV WORD PTR [DI+JPtr_072D],07DD
- ; 1BA4:0DB4 C3 RET
- ; 1BA4:0DB5 90 NOP
- ; 1BA4:0DB6 90 NOP
- ; 1BA4:0DB7 90 NOP
- ;
- ; ******** end of changes ********
- ; original:
- ;
- * 1BA4:0E5B 3C30 CMP AL,30
- * 1BA4:0E5D 72FB JB 0E5A
- * 1BA4:0E5F 3C39 CMP AL,39
- * 1BA4:0E61 77F7 JA 0E5A
- * 1BA4:0E63 3C30 CMP AL,30
- * 1BA4:0E65 74F3 JZ 0E5A
- * 1BA4:0E67 3C31 CMP AL,31
- * 1BA4:0E69 741A JZ 0E85
- * 1BA4:0E6B 3C32 CMP AL,32
- * 1BA4:0E6D 74EB JZ 0E5A
- * 1BA4:0E6F 2C30 SUB AL,30
- * 1BA4:0E71 3C05 CMP AL,05
- * 1BA4:0E73 743E JZ 0EB3
- * 1BA4:0E75 3C09 CMP AL,09
- * 1BA4:0E77 7432 JZ 0EAB
- * 1BA4:0E79 C685D004FF MOV BYTE PTR [DI+04D0],FF
- * 1BA4:0E7E C7852D07C70E MOV WORD PTR [DI+JPtr_072D],0EC7
- * 1BA4:0E84 C3 RET
- *
- * 1BA4:0E85 C7852D078C0E MOV WORD PTR [DI+JPtr_072D],0E8C
- * 1BA4:0E8B C3 RET
- *
- * 1BA4:0E8C E850F5 CALL 03DF
- * 1BA4:0E8F 74C9 JZ 0E5A
- * 1BA4:0E91 3C0D CMP AL,0D
- * 1BA4:0E93 7508 JNZ 0E9D
- * 1BA4:0E95 C6856B0700 MOV BYTE PTR [DI+076B],00
- * 1BA4:0E9A EB46 JMP 0EE2
- * 1BA4:0E9C 90 NOP
- * 1BA4:0E9D 3C30 CMP AL,30
- * 1BA4:0E9F 741A JZ 0EBB
- * 1BA4:0EA1 EBB7 JMP 0E5A
- * 1BA4:0EA3 C6856B0700 MOV BYTE PTR [DI+076B],00
- * 1BA4:0EA8 EB16 JMP 0EC0
- * 1BA4:0EAA 90 NOP
- * 1BA4:0EAB C6856B0701 MOV BYTE PTR [DI+076B],01
- * 1BA4:0EB0 EB0E JMP 0EC0
- * 1BA4:0EB2 90 NOP
- * 1BA4:0EB3 C6856B0702 MOV BYTE PTR [DI+076B],02
- * 1BA4:0EB8 EB06 JMP 0EC0
- * 1BA4:0EBA 90 NOP
- * 1BA4:0EBB C6856B0705 MOV BYTE PTR [DI+076B],05
- * 1BA4:0EC0 C7852D07C70E MOV WORD PTR [DI+JPtr_072D],0EC7
- * 1BA4:0EC6 C3 RET
- *
- ; with these changed lines:
- ;
- ; ******** start of changes ********
- ;
- ; 1BA4:0E5B 3C31 CMP AL,31
- ; 1BA4:0E5D 7418 JZ 0E77
- ; 1BA4:0E5F 3C33 CMP AL,33
- ; 1BA4:0E61 72F7 JB 0E5A
- ; 1BA4:0E63 3C39 CMP AL,39
- ; 1BA4:0E65 77F3 JA 0E5A
- ; 1BA4:0E67 3C35 CMP AL,35
- ; 1BA4:0E69 7431 JZ 0E9C
- ; 1BA4:0E6B C685D004FF MOV BYTE PTR [DI+04D0],FF
- ; 1BA4:0E70 C7852D07C70E MOV WORD PTR [DI+JPtr_072D],0EC7
- ; 1BA4:0E76 C3 RET
- ;
- ; 1BA4:0E77 C7852D077E0E MOV WORD PTR [DI+JPtr_072D],0E7E
- ; 1BA4:0E7D C3 RET
- ;
- ; 1BA4:0E7E E85EF5 CALL 03DF
- ; 1BA4:0E81 74D7 JZ 0E5A
- ; 1BA4:0E83 3C0D CMP AL,0D
- ; 1BA4:0E85 7507 JNZ 0E8E
- ; 1BA4:0E87 C6856B0700 MOV BYTE PTR [DI+076B],00
- ; 1BA4:0E8C EB545 JMP 0EE2
- ;
- ; 1BA4:0E8E 3C30 CMP AL,30
- ; 1BA4:0E90 7411 JZ 0EA3
- ; 1BA4:0E92 3C33 CMP AL,33
- ; 1BA4:0E94 7414 JZ 0EAA
- ; 1BA4:0E96 3C38 CMP AL,38
- ; 1BA4:0E98 741D JZ 0EB7
- ; 1BA4:0E9A EBBE JMP 0E5A
- ;
- ; 1BA4:0E9C C6856B0702 MOV BYTE PTR [DI+076B],02
- ; 1BA4:0EA1 EB13 JMP 0EB6
- ;
- ; 1BA4:0EA3 C6856B0705 MOV BYTE PTR [DI+076B],05
- ; 1BA4:0EA8 EB0C JMP 0EB6
- ;
- ; 1BA4:0EAA C6856B0709 MOV BYTE PTR [DI+076B],09
- ; 1BA4:0EAF EB05 JMP 0EB6
- ;
- ; 1BA4:0EB1 C6856B0707 MOV BYTE PTR [DI+076B],07
- ; 1BA4:0EB6 C7852D07C70E MOV WORD PTR [DI+JPtr_072D],0EC7
- ; 1BA4:0EBC C3 RET
- ; 1BA4:0EBD 90 NOP
- ; 1BA4:0EBE 90 NOP
- ; 1BA4:0EBF 90 NOP
- ; 1BA4:0EC0 90 NOP
- ; 1BA4:0EC1 90 NOP
- ; 1BA4:0EC2 90 NOP
- ; 1BA4:0EC3 90 NOP
- ; 1BA4:0EC4 90 NOP
- ; 1BA4:0EC5 90 NOP
- ; 1BA4:0EC6 90 NOP
- ;
- ; ******** end of changes ********
-