FIBOS.EXE.a1 5.1 KB

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