From 9b9df8be6ebd985901b321077eccc96c47344648 Mon Sep 17 00:00:00 2001 From: Artur K Date: Mon, 12 Dec 2011 22:03:57 +0100 Subject: [PATCH] before switch symtab from * to vector --- src/chklib.cpp | 6 +- tests/outputs/BENCHFN.EXE.a1 | 109 --------------- tests/outputs/BENCHLNG.EXE.a1 | 242 ---------------------------------- tests/outputs/BENCHMUL.EXE.a1 | 101 -------------- tests/outputs/BENCHMUS.EXE.a1 | 91 ------------- tests/outputs/BENCHSHO.EXE.a1 | 113 ---------------- tests/outputs/BYTEOPS.EXE.a1 | 58 -------- tests/outputs/FIBOS.EXE.a1 | 90 ------------- tests/outputs/MIN.EXE.a1 | 39 ------ 9 files changed, 3 insertions(+), 846 deletions(-) delete mode 100644 tests/outputs/BENCHFN.EXE.a1 delete mode 100644 tests/outputs/BENCHLNG.EXE.a1 delete mode 100644 tests/outputs/BENCHMUL.EXE.a1 delete mode 100644 tests/outputs/BENCHMUS.EXE.a1 delete mode 100644 tests/outputs/BENCHSHO.EXE.a1 delete mode 100644 tests/outputs/BYTEOPS.EXE.a1 delete mode 100644 tests/outputs/FIBOS.EXE.a1 delete mode 100644 tests/outputs/MIN.EXE.a1 diff --git a/src/chklib.cpp b/src/chklib.cpp index cc79386..8fa76dc 100644 --- a/src/chklib.cpp +++ b/src/chklib.cpp @@ -516,7 +516,6 @@ boolT LibCheck(Function & pProc) pProc.flg |= PROC_RUNTIME; /* => is a runtime routine */ } } - if (locatePattern(prog.Image, pProc.procEntry, pProc.procEntry+sizeof(pattMsChkstk), pattMsChkstk, sizeof(pattMsChkstk), &Idx)) @@ -600,11 +599,12 @@ static boolT locatePattern(byte *source, Int iMin, Int iMax, byte *pattern, Int for (j=0; j < iPatLen; j++) { /* j is the index of the byte being considered in the pattern. */ - if ((*pSrc++ != pattern[j]) && (pattern[j] != WILD)) + if ((*pSrc != pattern[j]) && (pattern[j] != WILD)) { /* A definite mismatch */ break; /* Break to outer loop */ } + pSrc++; } if (j >= iPatLen) { @@ -694,7 +694,7 @@ void STATE::checkStartup() but decides the model required. Note: must do the far data models (large and compact) before the others, since they are the same pattern as near data, just more pushes at the start. */ - if(prog.cbImage>0x180) + if(prog.cbImage>0x180+sizeof(pattMainLarge)) { if (locatePattern(prog.Image, startOff, startOff+0x180, pattMainLarge,sizeof(pattMainLarge), &i)) { diff --git a/tests/outputs/BENCHFN.EXE.a1 b/tests/outputs/BENCHFN.EXE.a1 deleted file mode 100644 index 14e823d..0000000 --- a/tests/outputs/BENCHFN.EXE.a1 +++ /dev/null @@ -1,109 +0,0 @@ - main PROC NEAR -000 000365 55 PUSH bp -001 000366 8BEC MOV bp, sp -002 000368 83EC08 SUB sp, 8 -003 00036B B89401 MOV ax, 194h -004 00036E 50 PUSH ax -005 00036F E8D90B CALL near ptr printf -006 000372 59 POP cx -007 000373 8D46FC LEA ax, [bp-4] -008 000376 50 PUSH ax -009 000377 B8B001 MOV ax, 1B0h -010 00037A 50 PUSH ax -011 00037B E85614 CALL near ptr scanf -012 00037E 59 POP cx -013 00037F 59 POP cx -014 000380 FF76FE PUSH word ptr [bp-2] -015 000383 FF76FC PUSH word ptr [bp-4] -016 000386 B8B401 MOV ax, 1B4h -017 000389 50 PUSH ax -018 00038A E8BE0B CALL near ptr printf -019 00038D 83C406 ADD sp, 6 -020 000390 C746FA0000 MOV word ptr [bp-6], 0 -021 000395 C746F80100 MOV word ptr [bp-8], 1 -022 00039A EB0B JMP L1 - -023 0003A7 8B56FA L1: MOV dx, [bp-6] -024 0003AA 8B46F8 MOV ax, [bp-8] -025 0003AD 3B56FE CMP dx, [bp-2] -026 0003B0 7CEA JL L2 -027 0003B2 7F05 JG L3 -028 0003B4 3B46FC CMP ax, [bp-4] -029 0003B7 76E3 JBE L2 - -030 0003B9 B8CE01 L3: MOV ax, 1CEh -031 0003BC 50 PUSH ax -032 0003BD E88B0B CALL near ptr printf -033 0003C0 59 POP cx -034 0003C1 8BE5 MOV sp, bp -035 0003C3 5D POP bp -036 0003C4 C3 RET - -037 00039C E8A6FF L2: CALL near ptr proc_1 -038 00039F 8346F801 ADD word ptr [bp-8], 1 -039 0003A3 8356FA00 ADC word ptr [bp-6], 0 -040 JMP L1 ;Synthetic inst - - main ENDP - - proc_1 PROC NEAR -000 000345 55 PUSH bp -001 000346 8BEC MOV bp, sp -002 000348 E8D7FF CALL near ptr proc_2 -003 00034B E8D4FF CALL near ptr proc_2 -004 00034E E8D1FF CALL near ptr proc_2 -005 000351 E8CEFF CALL near ptr proc_2 -006 000354 E8CBFF CALL near ptr proc_2 -007 000357 E8C8FF CALL near ptr proc_2 -008 00035A E8C5FF CALL near ptr proc_2 -009 00035D E8C2FF CALL near ptr proc_2 -010 000360 E8BFFF CALL near ptr proc_2 -011 000363 5D POP bp -012 000364 C3 RET - - proc_1 ENDP - - proc_2 PROC NEAR -000 000322 55 PUSH bp -001 000323 8BEC MOV bp, sp -002 000325 E8D7FF CALL near ptr proc_3 -003 000328 E8D4FF CALL near ptr proc_3 -004 00032B E8D1FF CALL near ptr proc_3 -005 00032E E8CEFF CALL near ptr proc_3 -006 000331 E8CBFF CALL near ptr proc_3 -007 000334 E8C8FF CALL near ptr proc_3 -008 000337 E8C5FF CALL near ptr proc_3 -009 00033A E8C2FF CALL near ptr proc_3 -010 00033D E8BFFF CALL near ptr proc_3 -011 000340 E8BCFF CALL near ptr proc_3 -012 000343 5D POP bp -013 000344 C3 RET - - proc_2 ENDP - - proc_3 PROC NEAR -000 0002FF 55 PUSH bp -001 000300 8BEC MOV bp, sp -002 000302 E8F5FF CALL near ptr proc_4 -003 000305 E8F2FF CALL near ptr proc_4 -004 000308 E8EFFF CALL near ptr proc_4 -005 00030B E8ECFF CALL near ptr proc_4 -006 00030E E8E9FF CALL near ptr proc_4 -007 000311 E8E6FF CALL near ptr proc_4 -008 000314 E8E3FF CALL near ptr proc_4 -009 000317 E8E0FF CALL near ptr proc_4 -010 00031A E8DDFF CALL near ptr proc_4 -011 00031D E8DAFF CALL near ptr proc_4 -012 000320 5D POP bp -013 000321 C3 RET - - proc_3 ENDP - - proc_4 PROC NEAR -000 0002FA 55 PUSH bp -001 0002FB 8BEC MOV bp, sp -002 0002FD 5D POP bp -003 0002FE C3 RET - - proc_4 ENDP - diff --git a/tests/outputs/BENCHLNG.EXE.a1 b/tests/outputs/BENCHLNG.EXE.a1 deleted file mode 100644 index a3fa2ec..0000000 --- a/tests/outputs/BENCHLNG.EXE.a1 +++ /dev/null @@ -1,242 +0,0 @@ - main PROC NEAR -000 0002FA 55 PUSH bp -001 0002FB 8BEC MOV bp, sp -002 0002FD 83EC14 SUB sp, 14h -003 000300 8D46FC LEA ax, [bp-4] -004 000303 50 PUSH ax -005 000304 B89401 MOV ax, 194h -006 000307 50 PUSH ax -007 000308 E85D15 CALL near ptr scanf -008 00030B 59 POP cx -009 00030C 59 POP cx -010 00030D FF76FE PUSH word ptr [bp-2] -011 000310 FF76FC PUSH word ptr [bp-4] -012 000313 B89801 MOV ax, 198h -013 000316 50 PUSH ax -014 000317 E8C50C CALL near ptr printf -015 00031A 83C406 ADD sp, 6 -016 00031D 8D46EC LEA ax, [bp-14h] -017 000320 50 PUSH ax -018 000321 B8B201 MOV ax, 1B2h -019 000324 50 PUSH ax -020 000325 E84015 CALL near ptr scanf -021 000328 59 POP cx -022 000329 59 POP cx -023 00032A 8D46F0 LEA ax, [bp-10h] -024 00032D 50 PUSH ax -025 00032E B8B601 MOV ax, 1B6h -026 000331 50 PUSH ax -027 000332 E83315 CALL near ptr scanf -028 000335 59 POP cx -029 000336 59 POP cx -030 000337 C746FA0000 MOV word ptr [bp-6], 0 -031 00033C C746F80100 MOV word ptr [bp-8], 1 -032 000341 E9E900 JMP L1 - -033 00042D 8B56FA L1: MOV dx, [bp-6] -034 000430 8B46F8 MOV ax, [bp-8] -035 000433 3B56FE CMP dx, [bp-2] -036 000436 7D03 JGE L2 -037 000438 E909FF JMP L3 - -038 000344 C746F60000 L3: MOV word ptr [bp-0Ah], 0 -039 000349 C746F40100 MOV word ptr [bp-0Ch], 1 -040 00034E E9C000 JMP L4 - -041 000411 837EF600 L4: CMP word ptr [bp-0Ah], 0 -042 000415 7D03 JGE L5 -043 000417 E937FF JMP L6 - -044 000351 8B56EE L6: MOV dx, [bp-12h] -045 000354 8B46EC MOV ax, [bp-14h] -046 000357 0346F0 ADD ax, [bp-10h] -047 00035A 1356F2 ADC dx, [bp-0Eh] -048 00035D 0346F4 ADD ax, [bp-0Ch] -049 000360 1356F6 ADC dx, [bp-0Ah] -050 000363 8956EE MOV [bp-12h], dx -051 000366 8946EC MOV [bp-14h], ax -052 000369 8B56EE MOV dx, [bp-12h] -053 00036C 8B46EC MOV ax, [bp-14h] -054 00036F D1FA SAR dx, 1 -055 000371 D1D8 RCR ax, 1 -056 000373 8956F2 MOV [bp-0Eh], dx -057 000376 8946F0 MOV [bp-10h], ax -058 000379 33D2 XOR dx, dx -059 00037B B80A00 MOV ax, 0Ah -060 00037E 52 PUSH dx -061 00037F 50 PUSH ax -062 000380 FF76F2 PUSH word ptr [bp-0Eh] -063 000383 FF76F0 PUSH word ptr [bp-10h] -064 000386 9AEB1D1000 CALL far ptr LMOD@ -065 00038B 8956EE MOV [bp-12h], dx -066 00038E 8946EC MOV [bp-14h], ax -067 000391 8B56F2 MOV dx, [bp-0Eh] -068 000394 8B46F0 MOV ax, [bp-10h] -069 000397 3B56F6 CMP dx, [bp-0Ah] -070 00039A 750A JNE L7 -071 00039C 3B46F4 CMP ax, [bp-0Ch] -072 00039F 7505 JNE L7 -073 0003A1 B80100 MOV ax, 1 -074 0003A4 EB02 JMP L8 - -075 0003A8 99 L8: CWD -076 0003A9 8956EE MOV [bp-12h], dx -077 0003AC 8946EC MOV [bp-14h], ax -078 0003AF 8B56EE MOV dx, [bp-12h] -079 0003B2 8B46EC MOV ax, [bp-14h] -080 0003B5 0B46F4 OR ax, [bp-0Ch] -081 0003B8 0B56F6 OR dx, [bp-0Ah] -082 0003BB 8956F2 MOV [bp-0Eh], dx -083 0003BE 8946F0 MOV [bp-10h], ax -084 0003C1 8B46F0 MOV ax, [bp-10h] -085 0003C4 0B46F2 OR ax, [bp-0Eh] -086 0003C7 7505 JNE L9 -087 0003C9 B80100 MOV ax, 1 -088 0003CC EB02 JMP L10 - -089 0003D0 99 L10: CWD -090 0003D1 8956EE MOV [bp-12h], dx -091 0003D4 8946EC MOV [bp-14h], ax -092 0003D7 8B56EE MOV dx, [bp-12h] -093 0003DA 8B46EC MOV ax, [bp-14h] -094 0003DD 0346F4 ADD ax, [bp-0Ch] -095 0003E0 1356F6 ADC dx, [bp-0Ah] -096 0003E3 8956F2 MOV [bp-0Eh], dx -097 0003E6 8946F0 MOV [bp-10h], ax -098 0003E9 8B56F2 MOV dx, [bp-0Eh] -099 0003EC 8B46F0 MOV ax, [bp-10h] -100 0003EF 3B56F6 CMP dx, [bp-0Ah] -101 0003F2 7C0C JL L11 -102 0003F4 7F05 JG L12 -103 0003F6 3B46F4 CMP ax, [bp-0Ch] -104 0003F9 7605 JBE L11 - -105 0003FB B80100 L12: MOV ax, 1 -106 0003FE EB02 JMP L13 - -107 000402 99 L13: CWD -108 000403 8956EE MOV [bp-12h], dx -109 000406 8946EC MOV [bp-14h], ax -110 000409 8346F401 ADD word ptr [bp-0Ch], 1 -111 00040D 8356F600 ADC word ptr [bp-0Ah], 0 -112 JMP L4 ;Synthetic inst - -113 000400 33C0 L11: XOR ax, ax -114 JMP L13 ;Synthetic inst - -115 0003CE 33C0 L9: XOR ax, ax -116 JMP L10 ;Synthetic inst - -117 0003A6 33C0 L7: XOR ax, ax -118 JMP L8 ;Synthetic inst - -119 00041A 7F09 L5: JG L14 -120 00041C 837EF428 CMP word ptr [bp-0Ch], 28h -121 000420 7703 JA L14 -122 000422 E92CFF JMP L6 - -123 000425 8346F801 L14: ADD word ptr [bp-8], 1 -124 000429 8356FA00 ADC word ptr [bp-6], 0 -125 JMP L1 ;Synthetic inst - -126 00043B 7F08 L2: JG L15 -127 00043D 3B46FC CMP ax, [bp-4] -128 000440 7703 JA L15 -129 000442 E9FFFE JMP L3 - -130 000445 FF76EE L15: PUSH word ptr [bp-12h] -131 000448 FF76EC PUSH word ptr [bp-14h] -132 00044B B8BA01 MOV ax, 1BAh -133 00044E 50 PUSH ax -134 00044F E88D0B CALL near ptr printf -135 000452 83C406 ADD sp, 6 -136 000455 8BE5 MOV sp, bp -137 000457 5D POP bp -138 000458 C3 RET - - main ENDP - - LMOD@ PROC FAR -000 001EEB B90200 MOV cx, 2 -001 001EEE EB03 JMP L16 - -002 001EF3 55 L16: PUSH bp -003 001EF4 56 PUSH si -004 001EF5 57 PUSH di -005 001EF6 8BEC MOV bp, sp -006 001EF8 8BF9 MOV di, cx -007 001EFA 8B460A MOV ax, [bp+0Ah] -008 001EFD 8B560C MOV dx, [bp+0Ch] -009 001F00 8B5E0E MOV bx, [bp+0Eh] -010 001F03 8B4E10 MOV cx, [bp+10h] -011 001F06 0BC9 OR cx, cx -012 001F08 7508 JNE L17 -013 001F0A 0BD2 OR dx, dx -014 001F0C 7469 JE L18 -015 001F0E 0BDB OR bx, bx -016 001F10 7465 JE L18 - -017 001F12 F7C70100 L17: TEST di, 1 -018 001F16 751C JNE L19 -019 001F18 0BD2 OR dx, dx -020 001F1A 790A JNS L20 -021 001F1C F7DA NEG dx -022 001F1E F7D8 NEG ax -023 001F20 83DA00 SBB dx, 0 -024 001F23 83CF0C OR di, 0Ch - -025 001F26 0BC9 L20: OR cx, cx -026 001F28 790A JNS L19 -027 001F2A F7D9 NEG cx -028 001F2C F7DB NEG bx -029 001F2E 83D900 SBB cx, 0 -030 001F31 83F704 XOR di, 4 - -031 001F34 8BE9 L19: MOV bp, cx -032 001F36 B92000 MOV cx, 20h -033 001F39 57 PUSH di -034 001F3A 33FF XOR di, di -035 001F3C 33F6 XOR si, si - -036 001F3E D1E0 L21: SHL ax, 1 -037 001F40 D1D2 RCL dx, 1 -038 001F42 D1D6 RCL si, 1 -039 001F44 D1D7 RCL di, 1 -040 001F46 3BFD CMP di, bp -041 001F48 720B JB L22 -042 001F4A 7704 JA L23 -043 001F4C 3BF3 CMP si, bx -044 001F4E 7205 JB L22 - -045 001F50 2BF3 L23: SUB si, bx -046 001F52 1BFD SBB di, bp -047 001F54 40 INC ax - -048 001F55 E2E7 L22: LOOP L21 -049 001F57 5B POP bx -050 001F58 F7C30200 TEST bx, 2 -051 001F5C 7406 JE L24 -052 001F5E 8BC6 MOV ax, si -053 001F60 8BD7 MOV dx, di -054 001F62 D1EB SHR bx, 1 - -055 001F64 F7C30400 L24: TEST bx, 4 -056 001F68 7407 JE L25 -057 001F6A F7DA NEG dx -058 001F6C F7D8 NEG ax -059 001F6E 83DA00 SBB dx, 0 - -060 001F71 5F L25: POP di -061 001F72 5E POP si -062 001F73 5D POP bp -063 001F74 CA0800 RETF 8 -065 001F77 F7F3 DIV bx -067 001F79 F7C70200 TEST di, 2 -068 001F7D 7402 JE L26 -069 001F7F 8BC2 MOV ax, dx - -070 001F81 33D2 L26: XOR dx, dx -071 001F83 EBEC JMP L25 - - LMOD@ ENDP - diff --git a/tests/outputs/BENCHMUL.EXE.a1 b/tests/outputs/BENCHMUL.EXE.a1 deleted file mode 100644 index 9e41585..0000000 --- a/tests/outputs/BENCHMUL.EXE.a1 +++ /dev/null @@ -1,101 +0,0 @@ - main PROC NEAR -000 0002FA 55 PUSH bp -001 0002FB 8BEC MOV bp, sp -002 0002FD 83EC0C SUB sp, 0Ch -003 000300 56 PUSH si -004 000301 B89401 MOV ax, 194h -005 000304 50 PUSH ax -006 000305 E8530C CALL near ptr printf -007 000308 59 POP cx -008 000309 8D46FC LEA ax, [bp-4] -009 00030C 50 PUSH ax -010 00030D B8B001 MOV ax, 1B0h -011 000310 50 PUSH ax -012 000311 E8D014 CALL near ptr scanf -013 000314 59 POP cx -014 000315 59 POP cx -015 000316 FF76FE PUSH word ptr [bp-2] -016 000319 FF76FC PUSH word ptr [bp-4] -017 00031C B8B401 MOV ax, 1B4h -018 00031F 50 PUSH ax -019 000320 E8380C CALL near ptr printf -020 000323 83C406 ADD sp, 6 -021 000326 8D46F4 LEA ax, [bp-0Ch] -022 000329 50 PUSH ax -023 00032A B8CE01 MOV ax, 1CEh -024 00032D 50 PUSH ax -025 00032E E8B314 CALL near ptr scanf -026 000331 59 POP cx -027 000332 59 POP cx -028 000333 8D46F6 LEA ax, [bp-0Ah] -029 000336 50 PUSH ax -030 000337 B8D101 MOV ax, 1D1h -031 00033A 50 PUSH ax -032 00033B E8A614 CALL near ptr scanf -033 00033E 59 POP cx -034 00033F 59 POP cx -035 000340 C746FA0000 MOV word ptr [bp-6], 0 -036 000345 C746F80100 MOV word ptr [bp-8], 1 -037 00034A EB66 JMP L1 - -038 0003B2 8B56FA L1: MOV dx, [bp-6] -039 0003B5 8B46F8 MOV ax, [bp-8] -040 0003B8 3B56FE CMP dx, [bp-2] -041 0003BB 7C8F JL L2 -042 0003BD 7F05 JG L3 -043 0003BF 3B46FC CMP ax, [bp-4] -044 0003C2 7688 JBE L2 - -045 0003C4 FF76F4 L3: PUSH word ptr [bp-0Ch] -046 0003C7 B8D401 MOV ax, 1D4h -047 0003CA 50 PUSH ax -048 0003CB E88D0B CALL near ptr printf -049 0003CE 59 POP cx -050 0003CF 59 POP cx -051 0003D0 5E POP si -052 0003D1 8BE5 MOV sp, bp -053 0003D3 5D POP bp -054 0003D4 C3 RET - -055 00034C BE0100 L2: MOV si, 1 -056 00034F EB54 JMP L4 - -057 0003A5 83FE28 L4: CMP si, 28h -058 0003A8 7EA7 JLE L5 -059 0003AA 8346F801 ADD word ptr [bp-8], 1 -060 0003AE 8356FA00 ADC word ptr [bp-6], 0 -061 JMP L1 ;Synthetic inst - -062 000351 8B46F4 L5: MOV ax, [bp-0Ch] -063 000354 F766F4 MUL word ptr [bp-0Ch] -064 000357 F766F4 MUL word ptr [bp-0Ch] -065 00035A F766F4 MUL word ptr [bp-0Ch] -066 00035D F766F4 MUL word ptr [bp-0Ch] -067 000360 F766F4 MUL word ptr [bp-0Ch] -068 000363 F766F4 MUL word ptr [bp-0Ch] -069 000366 F766F4 MUL word ptr [bp-0Ch] -070 000369 F766F4 MUL word ptr [bp-0Ch] -071 00036C F766F4 MUL word ptr [bp-0Ch] -072 00036F F766F4 MUL word ptr [bp-0Ch] -073 000372 F766F4 MUL word ptr [bp-0Ch] -074 000375 F766F4 MUL word ptr [bp-0Ch] -075 000378 F766F4 MUL word ptr [bp-0Ch] -076 00037B F766F4 MUL word ptr [bp-0Ch] -077 00037E F766F4 MUL word ptr [bp-0Ch] -078 000381 F766F4 MUL word ptr [bp-0Ch] -079 000384 F766F4 MUL word ptr [bp-0Ch] -080 000387 F766F4 MUL word ptr [bp-0Ch] -081 00038A F766F4 MUL word ptr [bp-0Ch] -082 00038D F766F4 MUL word ptr [bp-0Ch] -083 000390 F766F4 MUL word ptr [bp-0Ch] -084 000393 F766F4 MUL word ptr [bp-0Ch] -085 000396 F766F4 MUL word ptr [bp-0Ch] -086 000399 F766F4 MUL word ptr [bp-0Ch] -087 00039C BA0300 MOV dx, 3 -088 00039F F7E2 MUL dx -089 0003A1 8946F4 MOV [bp-0Ch], ax -090 0003A4 46 INC si -091 JMP L4 ;Synthetic inst - - main ENDP - diff --git a/tests/outputs/BENCHMUS.EXE.a1 b/tests/outputs/BENCHMUS.EXE.a1 deleted file mode 100644 index 0edcb0c..0000000 --- a/tests/outputs/BENCHMUS.EXE.a1 +++ /dev/null @@ -1,91 +0,0 @@ - main PROC NEAR -000 0002FA 55 PUSH bp -001 0002FB 8BEC MOV bp, sp -002 0002FD 83EC0A SUB sp, 0Ah -003 000300 56 PUSH si -004 000301 57 PUSH di -005 000302 B8A801 MOV ax, 1A8h -006 000305 50 PUSH ax -007 000306 E8240C CALL near ptr printf -008 000309 59 POP cx -009 00030A 8D46FC LEA ax, [bp-4] -010 00030D 50 PUSH ax -011 00030E B8C401 MOV ax, 1C4h -012 000311 50 PUSH ax -013 000312 E8A114 CALL near ptr scanf -014 000315 59 POP cx -015 000316 59 POP cx -016 000317 FF76FE PUSH word ptr [bp-2] -017 00031A FF76FC PUSH word ptr [bp-4] -018 00031D B8C801 MOV ax, 1C8h -019 000320 50 PUSH ax -020 000321 E8090C CALL near ptr printf -021 000324 83C406 ADD sp, 6 -022 000327 BE1400 MOV si, 14h -023 00032A 8976F6 MOV [bp-0Ah], si -024 00032D C746FA0000 MOV word ptr [bp-6], 0 -025 000332 C746F80100 MOV word ptr [bp-8], 1 -026 000337 EB4C JMP L1 - -027 000385 8B56FA L1: MOV dx, [bp-6] -028 000388 8B46F8 MOV ax, [bp-8] -029 00038B 3B56FE CMP dx, [bp-2] -030 00038E 7CA9 JL L2 -031 000390 7F05 JG L3 -032 000392 3B46FC CMP ax, [bp-4] -033 000395 76A2 JBE L2 - -034 000397 56 L3: PUSH si -035 000398 B8E201 MOV ax, 1E2h -036 00039B 50 PUSH ax -037 00039C E88E0B CALL near ptr printf -038 00039F 59 POP cx -039 0003A0 59 POP cx -040 0003A1 5F POP di -041 0003A2 5E POP si -042 0003A3 8BE5 MOV sp, bp -043 0003A5 5D POP bp -044 0003A6 C3 RET - -045 000339 BF0100 L2: MOV di, 1 -046 00033C EB3A JMP L4 - -047 000378 83FF28 L4: CMP di, 28h -048 00037B 7EC1 JLE L5 -049 00037D 8346F801 ADD word ptr [bp-8], 1 -050 000381 8356FA00 ADC word ptr [bp-6], 0 -051 JMP L1 ;Synthetic inst - -052 00033E 8BC6 L5: MOV ax, si -053 000340 F7E6 MUL si -054 000342 F7E6 MUL si -055 000344 F7E6 MUL si -056 000346 F7E6 MUL si -057 000348 F7E6 MUL si -058 00034A F7E6 MUL si -059 00034C F7E6 MUL si -060 00034E F7E6 MUL si -061 000350 F7E6 MUL si -062 000352 F7E6 MUL si -063 000354 F7E6 MUL si -064 000356 F7E6 MUL si -065 000358 F7E6 MUL si -066 00035A F7E6 MUL si -067 00035C F7E6 MUL si -068 00035E F7E6 MUL si -069 000360 F7E6 MUL si -070 000362 F7E6 MUL si -071 000364 F7E6 MUL si -072 000366 F7E6 MUL si -073 000368 F7E6 MUL si -074 00036A F7E6 MUL si -075 00036C F7E6 MUL si -076 00036E F7E6 MUL si -077 000370 BA0300 MOV dx, 3 -078 000373 F7E2 MUL dx -079 000375 8BF0 MOV si, ax -080 000377 47 INC di -081 JMP L4 ;Synthetic inst - - main ENDP - diff --git a/tests/outputs/BENCHSHO.EXE.a1 b/tests/outputs/BENCHSHO.EXE.a1 deleted file mode 100644 index f16494f..0000000 --- a/tests/outputs/BENCHSHO.EXE.a1 +++ /dev/null @@ -1,113 +0,0 @@ - main PROC NEAR -000 0002FA 55 PUSH bp -001 0002FB 8BEC MOV bp, sp -002 0002FD 83EC0E SUB sp, 0Eh -003 000300 8D46FC LEA ax, [bp-4] -004 000303 50 PUSH ax -005 000304 B89401 MOV ax, 194h -006 000307 50 PUSH ax -007 000308 E8E914 CALL near ptr scanf -008 00030B 59 POP cx -009 00030C 59 POP cx -010 00030D FF76FE PUSH word ptr [bp-2] -011 000310 FF76FC PUSH word ptr [bp-4] -012 000313 B89801 MOV ax, 198h -013 000316 50 PUSH ax -014 000317 E8510C CALL near ptr printf -015 00031A 83C406 ADD sp, 6 -016 00031D 8D46F2 LEA ax, [bp-0Eh] -017 000320 50 PUSH ax -018 000321 B8B201 MOV ax, 1B2h -019 000324 50 PUSH ax -020 000325 E8CC14 CALL near ptr scanf -021 000328 59 POP cx -022 000329 59 POP cx -023 00032A 8D46F4 LEA ax, [bp-0Ch] -024 00032D 50 PUSH ax -025 00032E B8B601 MOV ax, 1B6h -026 000331 50 PUSH ax -027 000332 E8BF14 CALL near ptr scanf -028 000335 59 POP cx -029 000336 59 POP cx -030 000337 C746FA0000 MOV word ptr [bp-6], 0 -031 00033C C746F80100 MOV word ptr [bp-8], 1 -032 000341 E97900 JMP L1 - -033 0003BD 8B56FA L1: MOV dx, [bp-6] -034 0003C0 8B46F8 MOV ax, [bp-8] -035 0003C3 3B56FE CMP dx, [bp-2] -036 0003C6 7D03 JGE L2 -037 0003C8 E979FF JMP L3 - -038 000344 C746F60100 L3: MOV word ptr [bp-0Ah], 1 -039 000349 EB64 JMP L4 - -040 0003AF 837EF628 L4: CMP word ptr [bp-0Ah], 28h -041 0003B3 7E96 JLE L5 -042 0003B5 8346F801 ADD word ptr [bp-8], 1 -043 0003B9 8356FA00 ADC word ptr [bp-6], 0 -044 JMP L1 ;Synthetic inst - -045 00034B 8B46F2 L5: MOV ax, [bp-0Eh] -046 00034E 0346F4 ADD ax, [bp-0Ch] -047 000351 0346F6 ADD ax, [bp-0Ah] -048 000354 8946F2 MOV [bp-0Eh], ax -049 000357 8B46F2 MOV ax, [bp-0Eh] -050 00035A D1F8 SAR ax, 1 -051 00035C 8946F4 MOV [bp-0Ch], ax -052 00035F 8B46F4 MOV ax, [bp-0Ch] -053 000362 BB0A00 MOV bx, 0Ah -054 000365 99 CWD -056 000366 F7FB IDIV bx -058 000368 8956F2 MOV [bp-0Eh], dx -059 00036B 8B46F4 MOV ax, [bp-0Ch] -060 00036E 3B46F6 CMP ax, [bp-0Ah] -061 000371 7505 JNE L6 -062 000373 B80100 MOV ax, 1 -063 000376 EB02 JMP L7 - -064 00037A 8946F2 L7: MOV [bp-0Eh], ax -065 00037D 8B46F2 MOV ax, [bp-0Eh] -066 000380 0B46F6 OR ax, [bp-0Ah] -067 000383 8946F4 MOV [bp-0Ch], ax -068 000386 8B46F4 MOV ax, [bp-0Ch] -069 000389 F7D8 NEG ax -070 00038B 1BC0 SBB ax, ax -071 00038D 40 INC ax -072 00038E 8946F2 MOV [bp-0Eh], ax -073 000391 8B46F2 MOV ax, [bp-0Eh] -074 000394 0346F6 ADD ax, [bp-0Ah] -075 000397 8946F4 MOV [bp-0Ch], ax -076 00039A 8B46F4 MOV ax, [bp-0Ch] -077 00039D 3B46F6 CMP ax, [bp-0Ah] -078 0003A0 7E05 JLE L8 -079 0003A2 B80100 MOV ax, 1 -080 0003A5 EB02 JMP L9 - -081 0003A9 8946F2 L9: MOV [bp-0Eh], ax -082 0003AC FF46F6 INC word ptr [bp-0Ah] -083 JMP L4 ;Synthetic inst - -084 0003A7 33C0 L8: XOR ax, ax -085 JMP L9 ;Synthetic inst - -086 000378 33C0 L6: XOR ax, ax -087 JMP L7 ;Synthetic inst - -088 0003CB 7F08 L2: JG L10 -089 0003CD 3B46FC CMP ax, [bp-4] -090 0003D0 7703 JA L10 -091 0003D2 E96FFF JMP L3 - -092 0003D5 FF76F2 L10: PUSH word ptr [bp-0Eh] -093 0003D8 B8BA01 MOV ax, 1BAh -094 0003DB 50 PUSH ax -095 0003DC E88C0B CALL near ptr printf -096 0003DF 59 POP cx -097 0003E0 59 POP cx -098 0003E1 8BE5 MOV sp, bp -099 0003E3 5D POP bp -100 0003E4 C3 RET - - main ENDP - diff --git a/tests/outputs/BYTEOPS.EXE.a1 b/tests/outputs/BYTEOPS.EXE.a1 deleted file mode 100644 index 1ee2f72..0000000 --- a/tests/outputs/BYTEOPS.EXE.a1 +++ /dev/null @@ -1,58 +0,0 @@ - main PROC NEAR -000 0002FA 55 PUSH bp -001 0002FB 8BEC MOV bp, sp -002 0002FD 83EC02 SUB sp, 2 -003 000300 C646FEFF MOV byte ptr [bp-2], 0FFh -004 000304 C646FF8F MOV byte ptr [bp-1], 8Fh -005 000308 8A46FE MOV al, [bp-2] -006 00030B 0246FF ADD al, [bp-1] -007 00030E 8846FF MOV [bp-1], al -008 000311 8A46FE MOV al, [bp-2] -009 000314 2A46FF SUB al, [bp-1] -010 000317 8846FE MOV [bp-2], al -011 00031A 8A46FE MOV al, [bp-2] -012 00031D B400 MOV ah, 0 -013 00031F 8A56FF MOV dl, [bp-1] -014 000322 B600 MOV dh, 0 -015 000324 F7E2 MUL dx -016 000326 8846FE MOV [bp-2], al -017 000329 8A46FF MOV al, [bp-1] -018 00032C B400 MOV ah, 0 -019 00032E 8A56FE MOV dl, [bp-2] -020 000331 B600 MOV dh, 0 -021 000333 8BDA MOV bx, dx -022 000335 99 CWD -024 000336 F7FB IDIV bx -026 000338 8846FF MOV [bp-1], al -027 00033B 8A46FF MOV al, [bp-1] -028 00033E B400 MOV ah, 0 -029 000340 8A56FE MOV dl, [bp-2] -030 000343 B600 MOV dh, 0 -031 000345 8BDA MOV bx, dx -032 000347 99 CWD -034 000348 F7FB IDIV bx -036 00034A 8856FF MOV [bp-1], dl -037 00034D 8A46FE MOV al, [bp-2] -038 000350 B105 MOV cl, 5 -039 000352 D2E0 SHL al, cl -040 000354 8846FE MOV [bp-2], al -041 000357 8A46FF MOV al, [bp-1] -042 00035A 8A4EFE MOV cl, [bp-2] -043 00035D D2E8 SHR al, cl -044 00035F 8846FF MOV [bp-1], al -045 000362 8A46FF MOV al, [bp-1] -046 000365 B400 MOV ah, 0 -047 000367 50 PUSH ax -048 000368 8A46FE MOV al, [bp-2] -049 00036B B400 MOV ah, 0 -050 00036D 50 PUSH ax -051 00036E B89401 MOV ax, 194h -052 000371 50 PUSH ax -053 000372 E8AB06 CALL near ptr printf -054 000375 83C406 ADD sp, 6 -055 000378 8BE5 MOV sp, bp -056 00037A 5D POP bp -057 00037B C3 RET - - main ENDP - diff --git a/tests/outputs/FIBOS.EXE.a1 b/tests/outputs/FIBOS.EXE.a1 deleted file mode 100644 index 471fed6..0000000 --- a/tests/outputs/FIBOS.EXE.a1 +++ /dev/null @@ -1,90 +0,0 @@ - main PROC NEAR -000 0002FA 55 PUSH bp -001 0002FB 8BEC MOV bp, sp -002 0002FD 83EC04 SUB sp, 4 -003 000300 56 PUSH si -004 000301 57 PUSH di -005 000302 B89401 MOV ax, 194h -006 000305 50 PUSH ax -007 000306 E8080C CALL near ptr printf -008 000309 59 POP cx -009 00030A 8D46FC LEA ax, [bp-4] -010 00030D 50 PUSH ax -011 00030E B8B101 MOV ax, 1B1h -012 000311 50 PUSH ax -013 000312 E88514 CALL near ptr scanf -014 000315 59 POP cx -015 000316 59 POP cx -016 000317 BE0100 MOV si, 1 -017 00031A EB2D JMP L1 - -018 000349 3B76FC L1: CMP si, [bp-4] -019 00034C 7ECE JLE L2 -020 00034E 33C0 XOR ax, ax -021 000350 50 PUSH ax -022 000351 E87300 CALL near ptr exit -023 000354 59 POP cx -024 000355 5F POP di -025 000356 5E POP si -026 000357 8BE5 MOV sp, bp -027 000359 5D POP bp -028 00035A C3 RET - -029 00031C B8B401 L2: MOV ax, 1B4h -030 00031F 50 PUSH ax -031 000320 E8EE0B CALL near ptr printf -032 000323 59 POP cx -033 000324 8D46FE LEA ax, [bp-2] -034 000327 50 PUSH ax -035 000328 B8C301 MOV ax, 1C3h -036 00032B 50 PUSH ax -037 00032C E86B14 CALL near ptr scanf -038 00032F 59 POP cx -039 000330 59 POP cx -040 000331 FF76FE PUSH word ptr [bp-2] -041 000334 E82400 CALL near ptr proc_1 -042 000337 59 POP cx -043 000338 8BF8 MOV di, ax -044 00033A 57 PUSH di -045 00033B FF76FE PUSH word ptr [bp-2] -046 00033E B8C601 MOV ax, 1C6h -047 000341 50 PUSH ax -048 000342 E8CC0B CALL near ptr printf -049 000345 83C406 ADD sp, 6 -050 000348 46 INC si -051 JMP L1 ;Synthetic inst - - main ENDP - - proc_1 PROC NEAR -000 00035B 55 PUSH bp -001 00035C 8BEC MOV bp, sp -002 00035E 56 PUSH si -003 00035F 8B7604 MOV si, [bp+4] -004 000362 83FE02 CMP si, 2 -005 000365 7E1C JLE L3 -006 000367 8BC6 MOV ax, si -007 000369 48 DEC ax -008 00036A 50 PUSH ax -009 00036B E8EDFF CALL near ptr proc_1 -010 00036E 59 POP cx -011 00036F 50 PUSH ax -012 000370 8BC6 MOV ax, si -013 000372 05FEFF ADD ax, 0FFFEh -014 000375 50 PUSH ax -015 000376 E8E2FF CALL near ptr proc_1 -016 000379 59 POP cx -017 00037A 8BD0 MOV dx, ax -018 00037C 58 POP ax -019 00037D 03C2 ADD ax, dx -020 00037F EB07 JMP L4 - -021 000388 5E L4: POP si -022 000389 5D POP bp -023 00038A C3 RET - -024 000383 B80100 L3: MOV ax, 1 -025 000386 EB00 JMP L4 - - proc_1 ENDP - diff --git a/tests/outputs/MIN.EXE.a1 b/tests/outputs/MIN.EXE.a1 deleted file mode 100644 index 26e919c..0000000 --- a/tests/outputs/MIN.EXE.a1 +++ /dev/null @@ -1,39 +0,0 @@ - PROC NEAR -000 000100 55 PUSH bp -001 000101 8BEC MOV bp, sp -002 000103 83EC02 SUB sp, 2 -003 000106 C746FE0000 MOV word ptr [bp-2], 0 -004 00010B 8B46FE MOV ax, [bp-2] -005 00010E 3D0600 CMP ax, 6 -006 000111 7735 JA L1 -007 000113 8BD8 MOV bx, ax -008 000115 D1E3 SHL bx, 1 -009 000117 2EFFA71C00 JMP word ptr cs:[bx+1Ch] ;Switch - -010 00012A B80200 MOV ax, 2 ;Case l0 -011 00012D EB1E JMP L2 - -012 00014D 8BE5 L2: MOV sp, bp -013 00014F 5D POP bp -014 000150 C3 RET - -015 00012F B80300 MOV ax, 3 ;Case l1 -016 000132 EB19 JMP L2 - -017 000134 B80700 MOV ax, 7 ;Case l2 -018 000137 EB14 JMP L2 - -019 000139 B80D00 MOV ax, 0Dh ;Case l3 -020 00013C EB0F JMP L2 - -021 000148 B82C00 L1: MOV ax, 2Ch ;Case l4 -022 00014B EB00 JMP L2 - -023 00013E B81700 MOV ax, 17h ;Case l5 -024 000141 EB0A JMP L2 - -025 000143 B80D00 MOV ax, 0Dh ;Case l6 -026 000146 EB05 JMP L2 - - ENDP -