BENCHFN.EXE.a2 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. proc_4 PROC NEAR
  2. 000 0002FA 55 PUSH bp
  3. 001 0002FB 8BEC MOV bp, sp
  4. 002 0002FD 5D POP bp
  5. 003 0002FE C3 RET
  6. proc_4 ENDP
  7. proc_3 PROC NEAR
  8. 000 0002FF 55 PUSH bp
  9. 001 000300 8BEC MOV bp, sp
  10. 002 000302 E8F5FF CALL near ptr proc_4
  11. 003 000305 E8F2FF CALL near ptr proc_4
  12. 004 000308 E8EFFF CALL near ptr proc_4
  13. 005 00030B E8ECFF CALL near ptr proc_4
  14. 006 00030E E8E9FF CALL near ptr proc_4
  15. 007 000311 E8E6FF CALL near ptr proc_4
  16. 008 000314 E8E3FF CALL near ptr proc_4
  17. 009 000317 E8E0FF CALL near ptr proc_4
  18. 010 00031A E8DDFF CALL near ptr proc_4
  19. 011 00031D E8DAFF CALL near ptr proc_4
  20. 012 000320 5D POP bp
  21. 013 000321 C3 RET
  22. proc_3 ENDP
  23. proc_2 PROC NEAR
  24. 000 000322 55 PUSH bp
  25. 001 000323 8BEC MOV bp, sp
  26. 002 000325 E8D7FF CALL near ptr proc_3
  27. 003 000328 E8D4FF CALL near ptr proc_3
  28. 004 00032B E8D1FF CALL near ptr proc_3
  29. 005 00032E E8CEFF CALL near ptr proc_3
  30. 006 000331 E8CBFF CALL near ptr proc_3
  31. 007 000334 E8C8FF CALL near ptr proc_3
  32. 008 000337 E8C5FF CALL near ptr proc_3
  33. 009 00033A E8C2FF CALL near ptr proc_3
  34. 010 00033D E8BFFF CALL near ptr proc_3
  35. 011 000340 E8BCFF CALL near ptr proc_3
  36. 012 000343 5D POP bp
  37. 013 000344 C3 RET
  38. proc_2 ENDP
  39. proc_1 PROC NEAR
  40. 000 000345 55 PUSH bp
  41. 001 000346 8BEC MOV bp, sp
  42. 002 000348 E8D7FF CALL near ptr proc_2
  43. 003 00034B E8D4FF CALL near ptr proc_2
  44. 004 00034E E8D1FF CALL near ptr proc_2
  45. 005 000351 E8CEFF CALL near ptr proc_2
  46. 006 000354 E8CBFF CALL near ptr proc_2
  47. 007 000357 E8C8FF CALL near ptr proc_2
  48. 008 00035A E8C5FF CALL near ptr proc_2
  49. 009 00035D E8C2FF CALL near ptr proc_2
  50. 010 000360 E8BFFF CALL near ptr proc_2
  51. 011 000363 5D POP bp
  52. 012 000364 C3 RET
  53. proc_1 ENDP
  54. main PROC NEAR
  55. 000 000365 55 PUSH bp
  56. 001 000366 8BEC MOV bp, sp
  57. 002 000368 83EC08 SUB sp, 8
  58. 003 00036B B89401 MOV ax, 194h
  59. 004 00036E 50 PUSH ax
  60. 005 00036F E8D90B CALL near ptr printf
  61. 006 000372 59 POP cx
  62. 007 000373 8D46FC LEA ax, [bp-4]
  63. 008 000376 50 PUSH ax
  64. 009 000377 B8B001 MOV ax, 1B0h
  65. 010 00037A 50 PUSH ax
  66. 011 00037B E85614 CALL near ptr scanf
  67. 012 00037E 59 POP cx
  68. 013 00037F 59 POP cx
  69. 014 000380 FF76FE PUSH word ptr [bp-2]
  70. 015 000383 FF76FC PUSH word ptr [bp-4]
  71. 016 000386 B8B401 MOV ax, 1B4h
  72. 017 000389 50 PUSH ax
  73. 018 00038A E8BE0B CALL near ptr printf
  74. 019 00038D 83C406 ADD sp, 6
  75. 020 000390 C746FA0000 MOV word ptr [bp-6], 0
  76. 021 000395 C746F80100 MOV word ptr [bp-8], 1
  77. 023 0003A7 8B56FA L1: MOV dx, [bp-6]
  78. 024 0003AA 8B46F8 MOV ax, [bp-8]
  79. 025 0003AD 3B56FE CMP dx, [bp-2]
  80. 026 0003B0 7CEA JL L2
  81. 027 0003B2 7F05 JG L3
  82. 028 0003B4 3B46FC CMP ax, [bp-4]
  83. 029 0003B7 76E3 JBE L2
  84. 030 0003B9 B8CE01 L3: MOV ax, 1CEh
  85. 031 0003BC 50 PUSH ax
  86. 032 0003BD E88B0B CALL near ptr printf
  87. 033 0003C0 59 POP cx
  88. 034 0003C1 8BE5 MOV sp, bp
  89. 035 0003C3 5D POP bp
  90. 036 0003C4 C3 RET
  91. 037 00039C E8A6FF L2: CALL near ptr proc_1
  92. 038 00039F 8346F801 ADD word ptr [bp-8], 1
  93. 039 0003A3 8356FA00 ADC word ptr [bp-6], 0
  94. 040 JMP L1 ;Synthetic inst
  95. main ENDP