114 lines
6.5 KiB
Plaintext
114 lines
6.5 KiB
Plaintext
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
|
|
|