FIBOS.EXE.a2 5.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. proc_1 PROC NEAR
  2. 000 00035B 55 PUSH bp
  3. 001 00035C 8BEC MOV bp, sp
  4. 002 00035E 56 PUSH si
  5. 003 00035F 8B7604 MOV si, [bp+4]
  6. 004 000362 83FE02 CMP si, 2
  7. 005 000365 7E1C JLE L1
  8. 006 000367 8BC6 MOV ax, si
  9. 007 000369 48 DEC ax
  10. 008 00036A 50 PUSH ax
  11. 009 00036B E8EDFF CALL near ptr proc_1
  12. 010 00036E 59 POP cx
  13. 011 00036F 50 PUSH ax
  14. 012 000370 8BC6 MOV ax, si
  15. 013 000372 05FEFF ADD ax, 0FFFEh
  16. 014 000375 50 PUSH ax
  17. 015 000376 E8E2FF CALL near ptr proc_1
  18. 016 000379 59 POP cx
  19. 017 00037A 8BD0 MOV dx, ax
  20. 018 00037C 58 POP ax
  21. 019 00037D 03C2 ADD ax, dx
  22. 021 000388 5E L2: POP si
  23. 022 000389 5D POP bp
  24. 023 00038A C3 RET
  25. 024 000383 B80100 L1: MOV ax, 1
  26. 025 000386 EB00 JMP L2
  27. proc_1 ENDP
  28. main PROC NEAR
  29. 000 0002FA 55 PUSH bp
  30. 001 0002FB 8BEC MOV bp, sp
  31. 002 0002FD 83EC04 SUB sp, 4
  32. 003 000300 56 PUSH si
  33. 004 000301 57 PUSH di
  34. 005 000302 B89401 MOV ax, 194h
  35. 006 000305 50 PUSH ax
  36. 007 000306 E8080C CALL near ptr printf
  37. 008 000309 59 POP cx
  38. 009 00030A 8D46FC LEA ax, [bp-4]
  39. 010 00030D 50 PUSH ax
  40. 011 00030E B8B101 MOV ax, 1B1h
  41. 012 000311 50 PUSH ax
  42. 013 000312 E88514 CALL near ptr scanf
  43. 014 000315 59 POP cx
  44. 015 000316 59 POP cx
  45. 016 000317 BE0100 MOV si, 1
  46. 018 000349 3B76FC L3: CMP si, [bp-4]
  47. 019 00034C 7ECE JLE L4
  48. 020 00034E 33C0 XOR ax, ax
  49. 021 000350 50 PUSH ax
  50. 022 000351 E87300 CALL near ptr exit
  51. 023 000354 59 POP cx
  52. 024 000355 5F POP di
  53. 025 000356 5E POP si
  54. 026 000357 8BE5 MOV sp, bp
  55. 027 000359 5D POP bp
  56. 028 00035A C3 RET
  57. 029 00031C B8B401 L4: MOV ax, 1B4h
  58. 030 00031F 50 PUSH ax
  59. 031 000320 E8EE0B CALL near ptr printf
  60. 032 000323 59 POP cx
  61. 033 000324 8D46FE LEA ax, [bp-2]
  62. 034 000327 50 PUSH ax
  63. 035 000328 B8C301 MOV ax, 1C3h
  64. 036 00032B 50 PUSH ax
  65. 037 00032C E86B14 CALL near ptr scanf
  66. 038 00032F 59 POP cx
  67. 039 000330 59 POP cx
  68. 040 000331 FF76FE PUSH word ptr [bp-2]
  69. 041 000334 E82400 CALL near ptr proc_1
  70. 042 000337 59 POP cx
  71. 043 000338 8BF8 MOV di, ax
  72. 044 00033A 57 PUSH di
  73. 045 00033B FF76FE PUSH word ptr [bp-2]
  74. 046 00033E B8C601 MOV ax, 1C6h
  75. 047 000341 50 PUSH ax
  76. 048 000342 E8CC0B CALL near ptr printf
  77. 049 000345 83C406 ADD sp, 6
  78. 050 000348 46 INC si
  79. 051 JMP L3 ;Synthetic inst
  80. main ENDP