《操作系统》的实验代码。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

218 lines
8.9 KiB

  1. call2: file format elf32-i386
  2. Disassembly of section .init:
  3. 08048294 <_init>:
  4. 8048294: 53 push %ebx
  5. 8048295: 83 ec 08 sub $0x8,%esp
  6. 8048298: e8 83 00 00 00 call 8048320 <__x86.get_pc_thunk.bx>
  7. 804829d: 81 c3 63 1d 00 00 add $0x1d63,%ebx
  8. 80482a3: 8b 83 fc ff ff ff mov -0x4(%ebx),%eax
  9. 80482a9: 85 c0 test %eax,%eax
  10. 80482ab: 74 05 je 80482b2 <_init+0x1e>
  11. 80482ad: e8 1e 00 00 00 call 80482d0 <__gmon_start__@plt>
  12. 80482b2: 83 c4 08 add $0x8,%esp
  13. 80482b5: 5b pop %ebx
  14. 80482b6: c3 ret
  15. Disassembly of section .plt:
  16. 080482c0 <__gmon_start__@plt-0x10>:
  17. 80482c0: ff 35 04 a0 04 08 pushl 0x804a004
  18. 80482c6: ff 25 08 a0 04 08 jmp *0x804a008
  19. 80482cc: 00 00 add %al,(%eax)
  20. ...
  21. 080482d0 <__gmon_start__@plt>:
  22. 80482d0: ff 25 0c a0 04 08 jmp *0x804a00c
  23. 80482d6: 68 00 00 00 00 push $0x0
  24. 80482db: e9 e0 ff ff ff jmp 80482c0 <_init+0x2c>
  25. 080482e0 <__libc_start_main@plt>:
  26. 80482e0: ff 25 10 a0 04 08 jmp *0x804a010
  27. 80482e6: 68 08 00 00 00 push $0x8
  28. 80482eb: e9 d0 ff ff ff jmp 80482c0 <_init+0x2c>
  29. Disassembly of section .text:
  30. 080482f0 <main>:
  31. int main()
  32. {
  33. func2( 1111, 2222);
  34. return 0;
  35. }
  36. 80482f0: 31 c0 xor %eax,%eax
  37. 80482f2: c3 ret
  38. 080482f3 <_start>:
  39. 80482f3: 31 ed xor %ebp,%ebp
  40. 80482f5: 5e pop %esi
  41. 80482f6: 89 e1 mov %esp,%ecx
  42. 80482f8: 83 e4 f0 and $0xfffffff0,%esp
  43. 80482fb: 50 push %eax
  44. 80482fc: 54 push %esp
  45. 80482fd: 52 push %edx
  46. 80482fe: 68 60 84 04 08 push $0x8048460
  47. 8048303: 68 00 84 04 08 push $0x8048400
  48. 8048308: 51 push %ecx
  49. 8048309: 56 push %esi
  50. 804830a: 68 f0 82 04 08 push $0x80482f0
  51. 804830f: e8 cc ff ff ff call 80482e0 <__libc_start_main@plt>
  52. 8048314: f4 hlt
  53. 8048315: 66 90 xchg %ax,%ax
  54. 8048317: 66 90 xchg %ax,%ax
  55. 8048319: 66 90 xchg %ax,%ax
  56. 804831b: 66 90 xchg %ax,%ax
  57. 804831d: 66 90 xchg %ax,%ax
  58. 804831f: 90 nop
  59. 08048320 <__x86.get_pc_thunk.bx>:
  60. 8048320: 8b 1c 24 mov (%esp),%ebx
  61. 8048323: c3 ret
  62. 8048324: 66 90 xchg %ax,%ax
  63. 8048326: 66 90 xchg %ax,%ax
  64. 8048328: 66 90 xchg %ax,%ax
  65. 804832a: 66 90 xchg %ax,%ax
  66. 804832c: 66 90 xchg %ax,%ax
  67. 804832e: 66 90 xchg %ax,%ax
  68. 08048330 <deregister_tm_clones>:
  69. 8048330: b8 1f a0 04 08 mov $0x804a01f,%eax
  70. 8048335: 2d 1c a0 04 08 sub $0x804a01c,%eax
  71. 804833a: 83 f8 06 cmp $0x6,%eax
  72. 804833d: 76 1a jbe 8048359 <deregister_tm_clones+0x29>
  73. 804833f: b8 00 00 00 00 mov $0x0,%eax
  74. 8048344: 85 c0 test %eax,%eax
  75. 8048346: 74 11 je 8048359 <deregister_tm_clones+0x29>
  76. 8048348: 55 push %ebp
  77. 8048349: 89 e5 mov %esp,%ebp
  78. 804834b: 83 ec 14 sub $0x14,%esp
  79. 804834e: 68 1c a0 04 08 push $0x804a01c
  80. 8048353: ff d0 call *%eax
  81. 8048355: 83 c4 10 add $0x10,%esp
  82. 8048358: c9 leave
  83. 8048359: f3 c3 repz ret
  84. 804835b: 90 nop
  85. 804835c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
  86. 08048360 <register_tm_clones>:
  87. 8048360: b8 1c a0 04 08 mov $0x804a01c,%eax
  88. 8048365: 2d 1c a0 04 08 sub $0x804a01c,%eax
  89. 804836a: c1 f8 02 sar $0x2,%eax
  90. 804836d: 89 c2 mov %eax,%edx
  91. 804836f: c1 ea 1f shr $0x1f,%edx
  92. 8048372: 01 d0 add %edx,%eax
  93. 8048374: d1 f8 sar %eax
  94. 8048376: 74 1b je 8048393 <register_tm_clones+0x33>
  95. 8048378: ba 00 00 00 00 mov $0x0,%edx
  96. 804837d: 85 d2 test %edx,%edx
  97. 804837f: 74 12 je 8048393 <register_tm_clones+0x33>
  98. 8048381: 55 push %ebp
  99. 8048382: 89 e5 mov %esp,%ebp
  100. 8048384: 83 ec 10 sub $0x10,%esp
  101. 8048387: 50 push %eax
  102. 8048388: 68 1c a0 04 08 push $0x804a01c
  103. 804838d: ff d2 call *%edx
  104. 804838f: 83 c4 10 add $0x10,%esp
  105. 8048392: c9 leave
  106. 8048393: f3 c3 repz ret
  107. 8048395: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
  108. 8048399: 8d bc 27 00 00 00 00 lea 0x0(%edi,%eiz,1),%edi
  109. 080483a0 <__do_global_dtors_aux>:
  110. 80483a0: 80 3d 1c a0 04 08 00 cmpb $0x0,0x804a01c
  111. 80483a7: 75 13 jne 80483bc <__do_global_dtors_aux+0x1c>
  112. 80483a9: 55 push %ebp
  113. 80483aa: 89 e5 mov %esp,%ebp
  114. 80483ac: 83 ec 08 sub $0x8,%esp
  115. 80483af: e8 7c ff ff ff call 8048330 <deregister_tm_clones>
  116. 80483b4: c6 05 1c a0 04 08 01 movb $0x1,0x804a01c
  117. 80483bb: c9 leave
  118. 80483bc: f3 c3 repz ret
  119. 80483be: 66 90 xchg %ax,%ax
  120. 080483c0 <frame_dummy>:
  121. 80483c0: b8 10 9f 04 08 mov $0x8049f10,%eax
  122. 80483c5: 8b 10 mov (%eax),%edx
  123. 80483c7: 85 d2 test %edx,%edx
  124. 80483c9: 75 05 jne 80483d0 <frame_dummy+0x10>
  125. 80483cb: eb 93 jmp 8048360 <register_tm_clones>
  126. 80483cd: 8d 76 00 lea 0x0(%esi),%esi
  127. 80483d0: ba 00 00 00 00 mov $0x0,%edx
  128. 80483d5: 85 d2 test %edx,%edx
  129. 80483d7: 74 f2 je 80483cb <frame_dummy+0xb>
  130. 80483d9: 55 push %ebp
  131. 80483da: 89 e5 mov %esp,%ebp
  132. 80483dc: 83 ec 14 sub $0x14,%esp
  133. 80483df: 50 push %eax
  134. 80483e0: ff d2 call *%edx
  135. 80483e2: 83 c4 10 add $0x10,%esp
  136. 80483e5: c9 leave
  137. 80483e6: e9 75 ff ff ff jmp 8048360 <register_tm_clones>
  138. 80483eb: 66 90 xchg %ax,%ax
  139. 80483ed: 66 90 xchg %ax,%ax
  140. 80483ef: 90 nop
  141. 080483f0 <func2>:
  142. void func2(int a, int b)
  143. {
  144. 80483f0: f3 c3 repz ret
  145. 80483f2: 66 90 xchg %ax,%ax
  146. 80483f4: 66 90 xchg %ax,%ax
  147. 80483f6: 66 90 xchg %ax,%ax
  148. 80483f8: 66 90 xchg %ax,%ax
  149. 80483fa: 66 90 xchg %ax,%ax
  150. 80483fc: 66 90 xchg %ax,%ax
  151. 80483fe: 66 90 xchg %ax,%ax
  152. 08048400 <__libc_csu_init>:
  153. 8048400: 55 push %ebp
  154. 8048401: 57 push %edi
  155. 8048402: 31 ff xor %edi,%edi
  156. 8048404: 56 push %esi
  157. 8048405: 53 push %ebx
  158. 8048406: e8 15 ff ff ff call 8048320 <__x86.get_pc_thunk.bx>
  159. 804840b: 81 c3 f5 1b 00 00 add $0x1bf5,%ebx
  160. 8048411: 83 ec 0c sub $0xc,%esp
  161. 8048414: 8b 6c 24 20 mov 0x20(%esp),%ebp
  162. 8048418: 8d b3 0c ff ff ff lea -0xf4(%ebx),%esi
  163. 804841e: e8 71 fe ff ff call 8048294 <_init>
  164. 8048423: 8d 83 08 ff ff ff lea -0xf8(%ebx),%eax
  165. 8048429: 29 c6 sub %eax,%esi
  166. 804842b: c1 fe 02 sar $0x2,%esi
  167. 804842e: 85 f6 test %esi,%esi
  168. 8048430: 74 23 je 8048455 <__libc_csu_init+0x55>
  169. 8048432: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
  170. 8048438: 83 ec 04 sub $0x4,%esp
  171. 804843b: ff 74 24 2c pushl 0x2c(%esp)
  172. 804843f: ff 74 24 2c pushl 0x2c(%esp)
  173. 8048443: 55 push %ebp
  174. 8048444: ff 94 bb 08 ff ff ff call *-0xf8(%ebx,%edi,4)
  175. 804844b: 83 c7 01 add $0x1,%edi
  176. 804844e: 83 c4 10 add $0x10,%esp
  177. 8048451: 39 f7 cmp %esi,%edi
  178. 8048453: 75 e3 jne 8048438 <__libc_csu_init+0x38>
  179. 8048455: 83 c4 0c add $0xc,%esp
  180. 8048458: 5b pop %ebx
  181. 8048459: 5e pop %esi
  182. 804845a: 5f pop %edi
  183. 804845b: 5d pop %ebp
  184. 804845c: c3 ret
  185. 804845d: 8d 76 00 lea 0x0(%esi),%esi
  186. 08048460 <__libc_csu_fini>:
  187. 8048460: f3 c3 repz ret
  188. Disassembly of section .fini:
  189. 08048464 <_fini>:
  190. 8048464: 53 push %ebx
  191. 8048465: 83 ec 08 sub $0x8,%esp
  192. 8048468: e8 b3 fe ff ff call 8048320 <__x86.get_pc_thunk.bx>
  193. 804846d: 81 c3 93 1b 00 00 add $0x1b93,%ebx
  194. 8048473: 83 c4 08 add $0x8,%esp
  195. 8048476: 5b pop %ebx
  196. 8048477: c3 ret