|
@@ -1,234 +0,0 @@
|
|
|
- LMOD@ PROC FAR
|
|
|
-000 001EEB B90200 MOV cx, 2
|
|
|
-002 001EF3 55 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 L1
|
|
|
-013 001F0A 0BD2 OR dx, dx
|
|
|
-014 001F0C 7469 JE L2
|
|
|
-015 001F0E 0BDB OR bx, bx
|
|
|
-016 001F10 7465 JE L2
|
|
|
-
|
|
|
-017 001F12 F7C70100 L1: TEST di, 1
|
|
|
-018 001F16 751C JNE L3
|
|
|
-019 001F18 0BD2 OR dx, dx
|
|
|
-020 001F1A 790A JNS L4
|
|
|
-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 L4: OR cx, cx
|
|
|
-026 001F28 790A JNS L3
|
|
|
-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 L3: 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 L5: 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 L6
|
|
|
-042 001F4A 7704 JA L7
|
|
|
-043 001F4C 3BF3 CMP si, bx
|
|
|
-044 001F4E 7205 JB L6
|
|
|
-
|
|
|
-045 001F50 2BF3 L7: SUB si, bx
|
|
|
-046 001F52 1BFD SBB di, bp
|
|
|
-047 001F54 40 INC ax
|
|
|
-
|
|
|
-048 001F55 E2E7 L6: LOOP L5
|
|
|
-049 001F57 5B POP bx
|
|
|
-050 001F58 F7C30200 TEST bx, 2
|
|
|
-051 001F5C 7406 JE L8
|
|
|
-052 001F5E 8BC6 MOV ax, si
|
|
|
-053 001F60 8BD7 MOV dx, di
|
|
|
-054 001F62 D1EB SHR bx, 1
|
|
|
-
|
|
|
-055 001F64 F7C30400 L8: TEST bx, 4
|
|
|
-056 001F68 7407 JE L9
|
|
|
-057 001F6A F7DA NEG dx
|
|
|
-058 001F6C F7D8 NEG ax
|
|
|
-059 001F6E 83DA00 SBB dx, 0
|
|
|
-
|
|
|
-060 001F71 5F L9: POP di
|
|
|
-061 001F72 5E POP si
|
|
|
-062 001F73 5D POP bp
|
|
|
-063 001F74 CA0800 RETF 8
|
|
|
-
|
|
|
-064 L2: MOV tmp, dx:ax ;Synthetic inst
|
|
|
-065 001F77 F7F3 DIV bx
|
|
|
-066 MOD bx ;Synthetic inst
|
|
|
-067 001F79 F7C70200 TEST di, 2
|
|
|
-068 001F7D 7402 JE L10
|
|
|
-069 001F7F 8BC2 MOV ax, dx
|
|
|
-
|
|
|
-070 001F81 33D2 L10: XOR dx, dx
|
|
|
-071 001F83 EBEC JMP L9
|
|
|
-
|
|
|
- LMOD@ ENDP
|
|
|
-
|
|
|
- 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
|
|
|
-
|
|
|
-033 00042D 8B56FA L11: MOV dx, [bp-6]
|
|
|
-034 000430 8B46F8 MOV ax, [bp-8]
|
|
|
-035 000433 3B56FE CMP dx, [bp-2]
|
|
|
-036 000436 7D03 JGE L12
|
|
|
-
|
|
|
-038 000344 C746F60000 L13: MOV word ptr [bp-0Ah], 0
|
|
|
-039 000349 C746F40100 MOV word ptr [bp-0Ch], 1
|
|
|
-
|
|
|
-041 000411 837EF600 L14: CMP word ptr [bp-0Ah], 0
|
|
|
-042 000415 7D03 JGE L15
|
|
|
-
|
|
|
-044 000351 8B56EE L16: 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 L17
|
|
|
-071 00039C 3B46F4 CMP ax, [bp-0Ch]
|
|
|
-072 00039F 7505 JNE L17
|
|
|
-073 0003A1 B80100 MOV ax, 1
|
|
|
-
|
|
|
-075 0003A8 99 L18: 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 L19
|
|
|
-087 0003C9 B80100 MOV ax, 1
|
|
|
-
|
|
|
-089 0003D0 99 L20: 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 L21
|
|
|
-102 0003F4 7F05 JG L22
|
|
|
-103 0003F6 3B46F4 CMP ax, [bp-0Ch]
|
|
|
-104 0003F9 7605 JBE L21
|
|
|
-
|
|
|
-105 0003FB B80100 L22: MOV ax, 1
|
|
|
-
|
|
|
-107 000402 99 L23: 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 L14 ;Synthetic inst
|
|
|
-
|
|
|
-113 000400 33C0 L21: XOR ax, ax
|
|
|
-114 JMP L23 ;Synthetic inst
|
|
|
-
|
|
|
-115 0003CE 33C0 L19: XOR ax, ax
|
|
|
-116 JMP L20 ;Synthetic inst
|
|
|
-
|
|
|
-117 0003A6 33C0 L17: XOR ax, ax
|
|
|
-118 JMP L18 ;Synthetic inst
|
|
|
-
|
|
|
-119 00041A 7F09 L15: JG L24
|
|
|
-120 00041C 837EF428 CMP word ptr [bp-0Ch], 28h
|
|
|
-121 000420 7703 JA L24
|
|
|
-
|
|
|
-123 000425 8346F801 L24: ADD word ptr [bp-8], 1
|
|
|
-124 000429 8356FA00 ADC word ptr [bp-6], 0
|
|
|
-125 JMP L11 ;Synthetic inst
|
|
|
-
|
|
|
-126 00043B 7F08 L12: JG L25
|
|
|
-127 00043D 3B46FC CMP ax, [bp-4]
|
|
|
-128 000440 7703 JA L25
|
|
|
-
|
|
|
-130 000445 FF76EE L25: 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
|
|
|
-
|