Guest User

ffa-gnat-gpl-2016-bin (gcc 4.9)

a guest
Dec 2nd, 2017
66
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 0000000000400f90 <demo_ch1__demo_add_sub>:
  2. 400f90: 55 push %rbp
  3. 400f91: 48 89 e5 mov %rsp,%rbp
  4. 400f94: 41 54 push %r12
  5. 400f96: 53 push %rbx
  6. 400f97: 48 81 ec 80 10 00 00 sub $0x1080,%rsp
  7. 400f9e: 48 83 0c 24 00 orq $0x0,(%rsp)
  8. 400fa3: 48 81 c4 20 10 00 00 add $0x1020,%rsp
  9. 400faa: bf a0 ae 49 00 mov $0x49aea0,%edi
  10. 400faf: be cc ae 49 00 mov $0x49aecc,%esi
  11. 400fb4: 48 c7 45 d0 00 00 00 movq $0x0,-0x30(%rbp)
  12. 400fbb: 00
  13. 400fbc: 48 c7 45 d8 00 00 00 movq $0x0,-0x28(%rbp)
  14. 400fc3: 00
  15. 400fc4: 48 89 e3 mov %rsp,%rbx
  16. 400fc7: 48 c7 45 e0 00 00 00 movq $0x0,-0x20(%rbp)
  17. 400fce: 00
  18. 400fcf: 48 c7 45 e8 00 00 00 movq $0x0,-0x18(%rbp)
  19. 400fd6: 00
  20. 400fd7: e8 74 35 00 00 callq 404550 <ada__text_io__put_line__2>
  21. 400fdc: be d4 ae 49 00 mov $0x49aed4,%esi
  22. 400fe1: bf 20 af 49 00 mov $0x49af20,%edi
  23. 400fe6: e8 45 ff ff ff callq 400f30 <ffa_io__dump__2>
  24. 400feb: bf 01 00 00 00 mov $0x1,%edi
  25. 400ff0: e8 3b 31 00 00 callq 404130 <ada__text_io__new_line__2>
  26. 400ff5: bf ab ae 49 00 mov $0x49aeab,%edi
  27. 400ffa: be cc ae 49 00 mov $0x49aecc,%esi
  28. 400fff: e8 4c 35 00 00 callq 404550 <ada__text_io__put_line__2>
  29. 401004: be d4 ae 49 00 mov $0x49aed4,%esi
  30. 401009: bf 00 af 49 00 mov $0x49af00,%edi
  31. 40100e: e8 1d ff ff ff callq 400f30 <ffa_io__dump__2>
  32. 401013: bf 01 00 00 00 mov $0x1,%edi
  33. 401018: e8 13 31 00 00 callq 404130 <ada__text_io__new_line__2>
  34. 40101d: 41 b9 d4 ae 49 00 mov $0x49aed4,%r9d
  35. 401023: 4c 8d 45 d0 lea -0x30(%rbp),%r8
  36. 401027: ba 00 af 49 00 mov $0x49af00,%edx
  37. 40102c: 4c 89 c9 mov %r9,%rcx
  38. 40102f: 4c 89 ce mov %r9,%rsi
  39. 401032: bf 20 af 49 00 mov $0x49af20,%edi
  40. 401037: e8 f4 01 00 00 callq 401230 <fz_arith__fz_add>
  41. 40103c: bf b6 ae 49 00 mov $0x49aeb6,%edi
  42. 401041: be cc ae 49 00 mov $0x49aecc,%esi
  43. 401046: 49 89 c4 mov %rax,%r12
  44. 401049: e8 02 35 00 00 callq 404550 <ada__text_io__put_line__2>
  45. 40104e: 48 8d 7d d0 lea -0x30(%rbp),%rdi
  46. 401052: be d4 ae 49 00 mov $0x49aed4,%esi
  47. 401057: e8 d4 fe ff ff callq 400f30 <ffa_io__dump__2>
  48. 40105c: bf 01 00 00 00 mov $0x1,%edi
  49. 401061: e8 ca 30 00 00 callq 404130 <ada__text_io__new_line__2>
  50. 401066: 48 8d 75 b0 lea -0x50(%rbp),%rsi
  51. 40106a: ba dc ae 49 00 mov $0x49aedc,%edx
  52. 40106f: 4c 89 e7 mov %r12,%rdi
  53. 401072: e8 e9 67 00 00 callq 407860 <system__img_llu__image_long_long_unsigned>
  54. 401077: 31 d2 xor %edx,%edx
  55. 401079: 85 c0 test %eax,%eax
  56. 40107b: 0f 48 c2 cmovs %edx,%eax
  57. 40107e: 83 c0 0c add $0xc,%eax
  58. 401081: 4c 63 e0 movslq %eax,%r12
  59. 401084: 49 0f 49 d4 cmovns %r12,%rdx
  60. 401088: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
  61. 40108f: 48 83 c2 0f add $0xf,%rdx
  62. 401093: 48 89 e1 mov %rsp,%rcx
  63. 401096: 48 83 e2 f0 and $0xfffffffffffffff0,%rdx
  64. 40109a: 48 89 d0 mov %rdx,%rax
  65. 40109d: 48 25 00 f0 ff ff and $0xfffffffffffff000,%rax
  66. 4010a3: 48 29 c1 sub %rax,%rcx
  67. 4010a6: eb 14 jmp 4010bc <demo_ch1__demo_add_sub+0x12c>
  68. 4010a8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
  69. 4010af: 00
  70. 4010b0: 48 81 ec 00 10 00 00 sub $0x1000,%rsp
  71. 4010b7: 48 83 0c 24 00 orq $0x0,(%rsp)
  72. 4010bc: 48 39 cc cmp %rcx,%rsp
  73. 4010bf: 75 ef jne 4010b0 <demo_ch1__demo_add_sub+0x120>
  74. 4010c1: 48 29 c2 sub %rax,%rdx
  75. 4010c4: 48 8d 75 b0 lea -0x50(%rbp),%rsi
  76. 4010c8: 48 b8 43 20 20 20 20 movabs $0x2020202020202043,%rax
  77. 4010cf: 20 20 20
  78. 4010d2: 48 29 d4 sub %rdx,%rsp
  79. 4010d5: ba 0c 00 00 00 mov $0xc,%edx
  80. 4010da: 48 83 0c 24 00 orq $0x0,(%rsp)
  81. 4010df: 48 81 c4 20 10 00 00 add $0x1020,%rsp
  82. 4010e6: 41 83 fc 0c cmp $0xc,%r12d
  83. 4010ea: 49 0f 4d d4 cmovge %r12,%rdx
  84. 4010ee: 48 8d 7c 24 0c lea 0xc(%rsp),%rdi
  85. 4010f3: 48 83 ea 0c sub $0xc,%rdx
  86. 4010f7: 48 89 04 24 mov %rax,(%rsp)
  87. 4010fb: c7 44 24 08 20 20 3d movl $0x203d2020,0x8(%rsp)
  88. 401102: 20
  89. 401103: e8 a8 ac 03 00 callq 43bdb0 <__memmove_sse2_unaligned>
  90. 401108: 48 8d 75 90 lea -0x70(%rbp),%rsi
  91. 40110c: 48 89 e7 mov %rsp,%rdi
  92. 40110f: c7 45 90 01 00 00 00 movl $0x1,-0x70(%rbp)
  93. 401116: 44 89 65 94 mov %r12d,-0x6c(%rbp)
  94. 40111a: e8 31 34 00 00 callq 404550 <ada__text_io__put_line__2>
  95. 40111f: 41 b9 d4 ae 49 00 mov $0x49aed4,%r9d
  96. 401125: 4c 8d 45 d0 lea -0x30(%rbp),%r8
  97. 401129: 48 89 dc mov %rbx,%rsp
  98. 40112c: 4c 89 c9 mov %r9,%rcx
  99. 40112f: 4c 89 ce mov %r9,%rsi
  100. 401132: ba 00 af 49 00 mov $0x49af00,%edx
  101. 401137: bf 20 af 49 00 mov $0x49af20,%edi
  102. 40113c: e8 ff 02 00 00 callq 401440 <fz_arith__fz_sub>
  103. 401141: bf c1 ae 49 00 mov $0x49aec1,%edi
  104. 401146: be cc ae 49 00 mov $0x49aecc,%esi
  105. 40114b: 48 89 c3 mov %rax,%rbx
  106. 40114e: e8 fd 33 00 00 callq 404550 <ada__text_io__put_line__2>
  107. 401153: 48 8d 7d d0 lea -0x30(%rbp),%rdi
  108. 401157: be d4 ae 49 00 mov $0x49aed4,%esi
  109. 40115c: e8 cf fd ff ff callq 400f30 <ffa_io__dump__2>
  110. 401161: bf 01 00 00 00 mov $0x1,%edi
  111. 401166: e8 c5 2f 00 00 callq 404130 <ada__text_io__new_line__2>
  112. 40116b: 48 8d 75 b0 lea -0x50(%rbp),%rsi
  113. 40116f: ba dc ae 49 00 mov $0x49aedc,%edx
  114. 401174: 48 89 df mov %rbx,%rdi
  115. 401177: e8 e4 66 00 00 callq 407860 <system__img_llu__image_long_long_unsigned>
  116. 40117c: 31 d2 xor %edx,%edx
  117. 40117e: 85 c0 test %eax,%eax
  118. 401180: 0f 48 c2 cmovs %edx,%eax
  119. 401183: 89 c3 mov %eax,%ebx
  120. 401185: 83 c3 0c add $0xc,%ebx
  121. 401188: 0f 49 d3 cmovns %ebx,%edx
  122. 40118b: 48 81 ec 20 10 00 00 sub $0x1020,%rsp
  123. 401192: 48 63 d2 movslq %edx,%rdx
  124. 401195: 48 89 e1 mov %rsp,%rcx
  125. 401198: 48 83 c2 0f add $0xf,%rdx
  126. 40119c: 48 83 e2 f0 and $0xfffffffffffffff0,%rdx
  127. 4011a0: 48 89 d0 mov %rdx,%rax
  128. 4011a3: 48 25 00 f0 ff ff and $0xfffffffffffff000,%rax
  129. 4011a9: 48 29 c1 sub %rax,%rcx
  130. 4011ac: eb 0e jmp 4011bc <demo_ch1__demo_add_sub+0x22c>
  131. 4011ae: 66 90 xchg %ax,%ax
  132. 4011b0: 48 81 ec 00 10 00 00 sub $0x1000,%rsp
  133. 4011b7: 48 83 0c 24 00 orq $0x0,(%rsp)
  134. 4011bc: 48 39 cc cmp %rcx,%rsp
  135. 4011bf: 75 ef jne 4011b0 <demo_ch1__demo_add_sub+0x220>
  136. 4011c1: 48 29 c2 sub %rax,%rdx
  137. 4011c4: 48 8d 75 b0 lea -0x50(%rbp),%rsi
  138. 4011c8: 48 b8 43 20 20 20 20 movabs $0x2020202020202043,%rax
  139. 4011cf: 20 20 20
  140. 4011d2: 48 29 d4 sub %rdx,%rsp
  141. 4011d5: ba 0c 00 00 00 mov $0xc,%edx
  142. 4011da: 48 83 0c 24 00 orq $0x0,(%rsp)
  143. 4011df: 48 81 c4 20 10 00 00 add $0x1020,%rsp
  144. 4011e6: 83 fb 0c cmp $0xc,%ebx
  145. 4011e9: 0f 4d d3 cmovge %ebx,%edx
  146. 4011ec: 48 8d 7c 24 0c lea 0xc(%rsp),%rdi
  147. 4011f1: 48 63 d2 movslq %edx,%rdx
  148. 4011f4: 48 83 ea 0c sub $0xc,%rdx
  149. 4011f8: 48 89 04 24 mov %rax,(%rsp)
  150. 4011fc: c7 44 24 08 20 20 3d movl $0x203d2020,0x8(%rsp)
  151. 401203: 20
  152. 401204: e8 a7 ab 03 00 callq 43bdb0 <__memmove_sse2_unaligned>
  153. 401209: 48 8d 75 a0 lea -0x60(%rbp),%rsi
  154. 40120d: 48 89 e7 mov %rsp,%rdi
  155. 401210: c7 45 a0 01 00 00 00 movl $0x1,-0x60(%rbp)
  156. 401217: 89 5d a4 mov %ebx,-0x5c(%rbp)
  157. 40121a: e8 31 33 00 00 callq 404550 <ada__text_io__put_line__2>
  158. 40121f: 48 8d 65 f0 lea -0x10(%rbp),%rsp
  159. 401223: 5b pop %rbx
  160. 401224: 41 5c pop %r12
  161. 401226: 5d pop %rbp
  162. 401227: c3 retq
  163. 401228: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
  164. 40122f: 00
  165.  
  166. 0000000000401230 <fz_arith__fz_add>:
  167. 401230: 55 push %rbp
  168. 401231: 48 89 e5 mov %rsp,%rbp
  169. 401234: 41 57 push %r15
  170. 401236: 41 56 push %r14
  171. 401238: 41 55 push %r13
  172. 40123a: 41 54 push %r12
  173. 40123c: 53 push %rbx
  174. 40123d: 48 81 ec 68 10 00 00 sub $0x1068,%rsp
  175. 401244: 48 83 0c 24 00 orq $0x0,(%rsp)
  176. 401249: 48 81 c4 20 10 00 00 add $0x1020,%rsp
  177. 401250: 48 63 46 04 movslq 0x4(%rsi),%rax
  178. 401254: 8b 1e mov (%rsi),%ebx
  179. 401256: 89 5d cc mov %ebx,-0x34(%rbp)
  180. 401259: 39 d8 cmp %ebx,%eax
  181. 40125b: 89 45 c8 mov %eax,-0x38(%rbp)
  182. 40125e: 7c 40 jl 4012a0 <fz_arith__fz_add+0x70>
  183. 401260: 44 8b 71 04 mov 0x4(%rcx),%r14d
  184. 401264: 44 8b 29 mov (%rcx),%r13d
  185. 401267: 4c 63 d3 movslq %ebx,%r10
  186. 40126a: 48 89 c6 mov %rax,%rsi
  187. 40126d: 4c 29 d6 sub %r10,%rsi
  188. 401270: 48 83 c6 01 add $0x1,%rsi
  189. 401274: 45 39 f5 cmp %r14d,%r13d
  190. 401277: 0f 8f 9c 01 00 00 jg 401419 <fz_arith__fz_add+0x1e9>
  191. 40127d: 49 63 ce movslq %r14d,%rcx
  192. 401280: 4d 63 dd movslq %r13d,%r11
  193. 401283: 4c 29 d9 sub %r11,%rcx
  194. 401286: 48 83 c1 01 add $0x1,%rcx
  195. 40128a: 48 39 ce cmp %rcx,%rsi
  196. 40128d: 40 0f 95 c6 setne %sil
  197. 401291: 4c 29 d0 sub %r10,%rax
  198. 401294: 48 8d 48 01 lea 0x1(%rax),%rcx
  199. 401298: eb 25 jmp 4012bf <fz_arith__fz_add+0x8f>
  200. 40129a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
  201. 4012a0: 44 8b 71 04 mov 0x4(%rcx),%r14d
  202. 4012a4: 44 8b 29 mov (%rcx),%r13d
  203. 4012a7: 45 39 ee cmp %r13d,%r14d
  204. 4012aa: 7c 64 jl 401310 <fz_arith__fz_add+0xe0>
  205. 4012ac: 49 63 cd movslq %r13d,%rcx
  206. 4012af: 49 63 c6 movslq %r14d,%rax
  207. 4012b2: 48 29 c8 sub %rcx,%rax
  208. 4012b5: 48 83 f8 ff cmp $0xffffffffffffffff,%rax
  209. 4012b9: 40 0f 95 c6 setne %sil
  210. 4012bd: 31 c9 xor %ecx,%ecx
  211. 4012bf: 45 8b 61 04 mov 0x4(%r9),%r12d
  212. 4012c3: 41 8b 19 mov (%r9),%ebx
  213. 4012c6: 31 c0 xor %eax,%eax
  214. 4012c8: 41 39 dc cmp %ebx,%r12d
  215. 4012cb: 7c 0d jl 4012da <fz_arith__fz_add+0xaa>
  216. 4012cd: 49 63 c4 movslq %r12d,%rax
  217. 4012d0: 4c 63 cb movslq %ebx,%r9
  218. 4012d3: 4c 29 c8 sub %r9,%rax
  219. 4012d6: 48 83 c0 01 add $0x1,%rax
  220. 4012da: 48 39 c1 cmp %rax,%rcx
  221. 4012dd: 4c 89 45 b8 mov %r8,-0x48(%rbp)
  222. 4012e1: 48 89 55 c0 mov %rdx,-0x40(%rbp)
  223. 4012e5: 0f 85 3a 01 00 00 jne 401425 <fz_arith__fz_add+0x1f5>
  224. 4012eb: 40 84 f6 test %sil,%sil
  225. 4012ee: 0f 85 31 01 00 00 jne 401425 <fz_arith__fz_add+0x1f5>
  226. 4012f4: 31 c0 xor %eax,%eax
  227. 4012f6: 8b 4d cc mov -0x34(%rbp),%ecx
  228. 4012f9: 39 4d c8 cmp %ecx,-0x38(%rbp)
  229. 4012fc: 7d 42 jge 401340 <fz_arith__fz_add+0x110>
  230. 4012fe: 48 83 c4 48 add $0x48,%rsp
  231. 401302: 5b pop %rbx
  232. 401303: 41 5c pop %r12
  233. 401305: 41 5d pop %r13
  234. 401307: 41 5e pop %r14
  235. 401309: 41 5f pop %r15
  236. 40130b: 5d pop %rbp
  237. 40130c: c3 retq
  238. 40130d: 0f 1f 00 nopl (%rax)
  239. 401310: 45 8b 61 04 mov 0x4(%r9),%r12d
  240. 401314: 41 8b 19 mov (%r9),%ebx
  241. 401317: 41 39 dc cmp %ebx,%r12d
  242. 40131a: 7c 0c jl 401328 <fz_arith__fz_add+0xf8>
  243. 40131c: 31 f6 xor %esi,%esi
  244. 40131e: 31 c9 xor %ecx,%ecx
  245. 401320: eb ab jmp 4012cd <fz_arith__fz_add+0x9d>
  246. 401322: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
  247. 401328: 31 c0 xor %eax,%eax
  248. 40132a: 48 83 c4 48 add $0x48,%rsp
  249. 40132e: 5b pop %rbx
  250. 40132f: 41 5c pop %r12
  251. 401331: 41 5d pop %r13
  252. 401333: 41 5e pop %r14
  253. 401335: 41 5f pop %r15
  254. 401337: 5d pop %rbp
  255. 401338: c3 retq
  256. 401339: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
  257. 401340: 48 63 d1 movslq %ecx,%rdx
  258. 401343: 4c 8d 7a ff lea -0x1(%rdx),%r15
  259. 401347: 48 f7 da neg %rdx
  260. 40134a: 48 8d 3c d7 lea (%rdi,%rdx,8),%rdi
  261. 40134e: 48 89 7d b0 mov %rdi,-0x50(%rbp)
  262. 401352: 49 63 fd movslq %r13d,%rdi
  263. 401355: 48 89 7d a8 mov %rdi,-0x58(%rbp)
  264. 401359: 48 63 fb movslq %ebx,%rdi
  265. 40135c: 48 89 7d a0 mov %rdi,-0x60(%rbp)
  266. 401360: 48 63 7d c8 movslq -0x38(%rbp),%rdi
  267. 401364: 48 89 7d 98 mov %rdi,-0x68(%rbp)
  268. 401368: eb 0c jmp 401376 <fz_arith__fz_add+0x146>
  269. 40136a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
  270. 401370: 4c 39 7d 98 cmp %r15,-0x68(%rbp)
  271. 401374: 74 88 je 4012fe <fz_arith__fz_add+0xce>
  272. 401376: 48 8b 4d b0 mov -0x50(%rbp),%rcx
  273. 40137a: 49 83 c7 01 add $0x1,%r15
  274. 40137e: 45 39 fd cmp %r15d,%r13d
  275. 401381: 45 89 f8 mov %r15d,%r8d
  276. 401384: 4a 8b 3c f9 mov (%rcx,%r15,8),%rdi
  277. 401388: 7f 56 jg 4013e0 <fz_arith__fz_add+0x1b0>
  278. 40138a: 45 39 fe cmp %r15d,%r14d
  279. 40138d: 7c 51 jl 4013e0 <fz_arith__fz_add+0x1b0>
  280. 40138f: 4c 89 fa mov %r15,%rdx
  281. 401392: 48 2b 55 a8 sub -0x58(%rbp),%rdx
  282. 401396: 48 8b 75 c0 mov -0x40(%rbp),%rsi
  283. 40139a: 48 8b 34 d6 mov (%rsi,%rdx,8),%rsi
  284. 40139e: 48 8d 14 3e lea (%rsi,%rdi,1),%rdx
  285. 4013a2: 48 01 c2 add %rax,%rdx
  286. 4013a5: 44 39 c3 cmp %r8d,%ebx
  287. 4013a8: 7f 53 jg 4013fd <fz_arith__fz_add+0x1cd>
  288. 4013aa: 45 39 c4 cmp %r8d,%r12d
  289. 4013ad: 7c 4e jl 4013fd <fz_arith__fz_add+0x1cd>
  290. 4013af: 4c 89 f8 mov %r15,%rax
  291. 4013b2: 48 2b 45 a0 sub -0x60(%rbp),%rax
  292. 4013b6: 48 8b 4d b8 mov -0x48(%rbp),%rcx
  293. 4013ba: 48 89 14 c1 mov %rdx,(%rcx,%rax,8)
  294. 4013be: e8 2d 03 00 00 callq 4016f0 <word_ops__w_carry>
  295. 4013c3: 48 83 f8 01 cmp $0x1,%rax
  296. 4013c7: 76 a7 jbe 401370 <fz_arith__fz_add+0x140>
  297. 4013c9: be 27 00 00 00 mov $0x27,%esi
  298. 4013ce: bf 68 af 49 00 mov $0x49af68,%edi
  299. 4013d3: 31 c0 xor %eax,%eax
  300. 4013d5: e8 9c 11 00 00 callq 402576 <__gnat_rcheck_CE_Invalid_Data>
  301. 4013da: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
  302. 4013e0: 44 39 6d cc cmp %r13d,-0x34(%rbp)
  303. 4013e4: 7c 06 jl 4013ec <fz_arith__fz_add+0x1bc>
  304. 4013e6: 44 39 75 c8 cmp %r14d,-0x38(%rbp)
  305. 4013ea: 7e a3 jle 40138f <fz_arith__fz_add+0x15f>
  306. 4013ec: be 23 00 00 00 mov $0x23,%esi
  307. 4013f1: bf 68 af 49 00 mov $0x49af68,%edi
  308. 4013f6: 31 c0 xor %eax,%eax
  309. 4013f8: e8 65 11 00 00 callq 402562 <__gnat_rcheck_CE_Index_Check>
  310. 4013fd: 39 5d cc cmp %ebx,-0x34(%rbp)
  311. 401400: 7c 06 jl 401408 <fz_arith__fz_add+0x1d8>
  312. 401402: 44 39 65 c8 cmp %r12d,-0x38(%rbp)
  313. 401406: 7e a7 jle 4013af <fz_arith__fz_add+0x17f>
  314. 401408: be 26 00 00 00 mov $0x26,%esi
  315. 40140d: bf 68 af 49 00 mov $0x49af68,%edi
  316. 401412: 31 c0 xor %eax,%eax
  317. 401414: e8 49 11 00 00 callq 402562 <__gnat_rcheck_CE_Index_Check>
  318. 401419: 48 85 f6 test %rsi,%rsi
  319. 40141c: 40 0f 95 c6 setne %sil
  320. 401420: e9 6c fe ff ff jmpq 401291 <fz_arith__fz_add+0x61>
  321. 401425: bf 40 af 49 00 mov $0x49af40,%edi
  322. 40142a: be 78 af 49 00 mov $0x49af78,%esi
  323. 40142f: e8 bc 46 00 00 callq 405af0 <system__assertions__raise_assert_failure>
  324. 401434: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  325. 40143b: 00 00 00
  326. 40143e: 66 90 xchg %ax,%ax
  327.  
  328. 0000000000401440 <fz_arith__fz_sub>:
  329. 401440: 55 push %rbp
  330. 401441: 48 89 e5 mov %rsp,%rbp
  331. 401444: 41 57 push %r15
  332. 401446: 41 56 push %r14
  333. 401448: 41 55 push %r13
  334. 40144a: 41 54 push %r12
  335. 40144c: 53 push %rbx
  336. 40144d: 48 81 ec 78 10 00 00 sub $0x1078,%rsp
  337. 401454: 48 83 0c 24 00 orq $0x0,(%rsp)
  338. 401459: 48 81 c4 20 10 00 00 add $0x1020,%rsp
  339. 401460: 8b 46 04 mov 0x4(%rsi),%eax
  340. 401463: 8b 1e mov (%rsi),%ebx
  341. 401465: 48 89 7d b0 mov %rdi,-0x50(%rbp)
  342. 401469: 48 89 55 a0 mov %rdx,-0x60(%rbp)
  343. 40146d: 4c 89 45 90 mov %r8,-0x70(%rbp)
  344. 401471: 39 d8 cmp %ebx,%eax
  345. 401473: 89 45 cc mov %eax,-0x34(%rbp)
  346. 401476: 0f 8c 84 01 00 00 jl 401600 <fz_arith__fz_sub+0x1c0>
  347. 40147c: 48 63 d0 movslq %eax,%rdx
  348. 40147f: 48 63 c3 movslq %ebx,%rax
  349. 401482: 44 8b 29 mov (%rcx),%r13d
  350. 401485: 48 29 c2 sub %rax,%rdx
  351. 401488: 8b 41 04 mov 0x4(%rcx),%eax
  352. 40148b: 48 83 c2 01 add $0x1,%rdx
  353. 40148f: 44 39 e8 cmp %r13d,%eax
  354. 401492: 89 45 c8 mov %eax,-0x38(%rbp)
  355. 401495: 0f 8c a0 01 00 00 jl 40163b <fz_arith__fz_sub+0x1fb>
  356. 40149b: 48 63 45 c8 movslq -0x38(%rbp),%rax
  357. 40149f: 49 63 cd movslq %r13d,%rcx
  358. 4014a2: 48 29 c8 sub %rcx,%rax
  359. 4014a5: 48 83 c0 01 add $0x1,%rax
  360. 4014a9: 48 39 c2 cmp %rax,%rdx
  361. 4014ac: 0f 95 c1 setne %cl
  362. 4014af: 41 8b 41 04 mov 0x4(%r9),%eax
  363. 4014b3: 45 8b 21 mov (%r9),%r12d
  364. 4014b6: 89 c6 mov %eax,%esi
  365. 4014b8: 89 45 c4 mov %eax,-0x3c(%rbp)
  366. 4014bb: 31 c0 xor %eax,%eax
  367. 4014bd: 44 39 e6 cmp %r12d,%esi
  368. 4014c0: 7c 0e jl 4014d0 <fz_arith__fz_sub+0x90>
  369. 4014c2: 48 63 45 c4 movslq -0x3c(%rbp),%rax
  370. 4014c6: 49 63 f4 movslq %r12d,%rsi
  371. 4014c9: 48 29 f0 sub %rsi,%rax
  372. 4014cc: 48 83 c0 01 add $0x1,%rax
  373. 4014d0: 48 39 c2 cmp %rax,%rdx
  374. 4014d3: 0f 85 fe 01 00 00 jne 4016d7 <fz_arith__fz_sub+0x297>
  375. 4014d9: 84 c9 test %cl,%cl
  376. 4014db: 0f 85 f6 01 00 00 jne 4016d7 <fz_arith__fz_sub+0x297>
  377. 4014e1: 48 63 45 cc movslq -0x34(%rbp),%rax
  378. 4014e5: 39 d8 cmp %ebx,%eax
  379. 4014e7: 0f 8c 59 01 00 00 jl 401646 <fz_arith__fz_sub+0x206>
  380. 4014ed: 48 63 f3 movslq %ebx,%rsi
  381. 4014f0: 48 39 f0 cmp %rsi,%rax
  382. 4014f3: 0f 88 4d 01 00 00 js 401646 <fz_arith__fz_sub+0x206>
  383. 4014f9: ba 00 00 00 80 mov $0x80000000,%edx
  384. 4014fe: 8b 45 cc mov -0x34(%rbp),%eax
  385. 401501: 49 63 cc movslq %r12d,%rcx
  386. 401504: 48 01 d6 add %rdx,%rsi
  387. 401507: 45 31 f6 xor %r14d,%r14d
  388. 40150a: 41 bf ff ff ff ff mov $0xffffffff,%r15d
  389. 401510: 48 89 75 b8 mov %rsi,-0x48(%rbp)
  390. 401514: 49 63 f5 movslq %r13d,%rsi
  391. 401517: 48 01 d6 add %rdx,%rsi
  392. 40151a: 29 d8 sub %ebx,%eax
  393. 40151c: 48 89 75 a8 mov %rsi,-0x58(%rbp)
  394. 401520: 48 8d 34 11 lea (%rcx,%rdx,1),%rsi
  395. 401524: 48 83 c0 01 add $0x1,%rax
  396. 401528: 48 89 45 88 mov %rax,-0x78(%rbp)
  397. 40152c: 31 c0 xor %eax,%eax
  398. 40152e: 48 89 75 98 mov %rsi,-0x68(%rbp)
  399. 401532: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
  400. 401538: 48 8b 4d b8 mov -0x48(%rbp),%rcx
  401. 40153c: 4a 8d 14 31 lea (%rcx,%r14,1),%rdx
  402. 401540: 4c 39 fa cmp %r15,%rdx
  403. 401543: 0f 87 5b 01 00 00 ja 4016a4 <fz_arith__fz_sub+0x264>
  404. 401549: 42 8d 14 33 lea (%rbx,%r14,1),%edx
  405. 40154d: 45 89 f0 mov %r14d,%r8d
  406. 401550: 39 d3 cmp %edx,%ebx
  407. 401552: 0f 8f 2a 01 00 00 jg 401682 <fz_arith__fz_sub+0x242>
  408. 401558: 39 55 cc cmp %edx,-0x34(%rbp)
  409. 40155b: 0f 8c 21 01 00 00 jl 401682 <fz_arith__fz_sub+0x242>
  410. 401561: 48 8b 4d a8 mov -0x58(%rbp),%rcx
  411. 401565: 48 8b 7d b0 mov -0x50(%rbp),%rdi
  412. 401569: 4a 8d 14 31 lea (%rcx,%r14,1),%rdx
  413. 40156d: 4a 8b 3c f7 mov (%rdi,%r14,8),%rdi
  414. 401571: 4c 39 fa cmp %r15,%rdx
  415. 401574: 0f 87 19 01 00 00 ja 401693 <fz_arith__fz_sub+0x253>
  416. 40157a: 43 8d 54 35 00 lea 0x0(%r13,%r14,1),%edx
  417. 40157f: 41 39 d5 cmp %edx,%r13d
  418. 401582: 0f 8f e9 00 00 00 jg 401671 <fz_arith__fz_sub+0x231>
  419. 401588: 39 55 c8 cmp %edx,-0x38(%rbp)
  420. 40158b: 0f 8c e0 00 00 00 jl 401671 <fz_arith__fz_sub+0x231>
  421. 401591: 48 8b 4d a0 mov -0x60(%rbp),%rcx
  422. 401595: 48 89 fa mov %rdi,%rdx
  423. 401598: 4a 8b 34 f1 mov (%rcx,%r14,8),%rsi
  424. 40159c: 48 29 f2 sub %rsi,%rdx
  425. 40159f: 48 29 c2 sub %rax,%rdx
  426. 4015a2: 48 8b 45 98 mov -0x68(%rbp),%rax
  427. 4015a6: 4c 01 f0 add %r14,%rax
  428. 4015a9: 4c 39 f8 cmp %r15,%rax
  429. 4015ac: 0f 87 14 01 00 00 ja 4016c6 <fz_arith__fz_sub+0x286>
  430. 4015b2: 45 01 e0 add %r12d,%r8d
  431. 4015b5: 45 39 c4 cmp %r8d,%r12d
  432. 4015b8: 0f 8f a2 00 00 00 jg 401660 <fz_arith__fz_sub+0x220>
  433. 4015be: 44 39 45 c4 cmp %r8d,-0x3c(%rbp)
  434. 4015c2: 0f 8c 98 00 00 00 jl 401660 <fz_arith__fz_sub+0x220>
  435. 4015c8: 48 8b 45 90 mov -0x70(%rbp),%rax
  436. 4015cc: 4a 89 14 f0 mov %rdx,(%rax,%r14,8)
  437. 4015d0: e8 3b 01 00 00 callq 401710 <word_ops__w_borrow>
  438. 4015d5: 48 83 f8 01 cmp $0x1,%rax
  439. 4015d9: 0f 87 d6 00 00 00 ja 4016b5 <fz_arith__fz_sub+0x275>
  440. 4015df: 49 83 c6 01 add $0x1,%r14
  441. 4015e3: 4c 3b 75 88 cmp -0x78(%rbp),%r14
  442. 4015e7: 0f 85 4b ff ff ff jne 401538 <fz_arith__fz_sub+0xf8>
  443. 4015ed: 48 83 c4 58 add $0x58,%rsp
  444. 4015f1: 5b pop %rbx
  445. 4015f2: 41 5c pop %r12
  446. 4015f4: 41 5d pop %r13
  447. 4015f6: 41 5e pop %r14
  448. 4015f8: 41 5f pop %r15
  449. 4015fa: 5d pop %rbp
  450. 4015fb: c3 retq
  451. 4015fc: 0f 1f 40 00 nopl 0x0(%rax)
  452. 401600: 48 63 41 04 movslq 0x4(%rcx),%rax
  453. 401604: 44 8b 29 mov (%rcx),%r13d
  454. 401607: 41 39 c5 cmp %eax,%r13d
  455. 40160a: 89 45 c8 mov %eax,-0x38(%rbp)
  456. 40160d: 7f 14 jg 401623 <fz_arith__fz_sub+0x1e3>
  457. 40160f: 49 63 d5 movslq %r13d,%rdx
  458. 401612: 48 29 d0 sub %rdx,%rax
  459. 401615: 48 83 f8 ff cmp $0xffffffffffffffff,%rax
  460. 401619: 0f 95 c1 setne %cl
  461. 40161c: 31 d2 xor %edx,%edx
  462. 40161e: e9 8c fe ff ff jmpq 4014af <fz_arith__fz_sub+0x6f>
  463. 401623: 41 8b 41 04 mov 0x4(%r9),%eax
  464. 401627: 45 8b 21 mov (%r9),%r12d
  465. 40162a: 44 39 e0 cmp %r12d,%eax
  466. 40162d: 89 45 c4 mov %eax,-0x3c(%rbp)
  467. 401630: 7c 14 jl 401646 <fz_arith__fz_sub+0x206>
  468. 401632: 31 c9 xor %ecx,%ecx
  469. 401634: 31 d2 xor %edx,%edx
  470. 401636: e9 87 fe ff ff jmpq 4014c2 <fz_arith__fz_sub+0x82>
  471. 40163b: 48 85 d2 test %rdx,%rdx
  472. 40163e: 0f 95 c1 setne %cl
  473. 401641: e9 69 fe ff ff jmpq 4014af <fz_arith__fz_sub+0x6f>
  474. 401646: be 36 00 00 00 mov $0x36,%esi
  475. 40164b: bf 68 af 49 00 mov $0x49af68,%edi
  476. 401650: 31 c0 xor %eax,%eax
  477. 401652: e8 47 0f 00 00 callq 40259e <__gnat_rcheck_CE_Range_Check>
  478. 401657: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
  479. 40165e: 00 00
  480. 401660: be 3c 00 00 00 mov $0x3c,%esi
  481. 401665: bf 68 af 49 00 mov $0x49af68,%edi
  482. 40166a: 31 c0 xor %eax,%eax
  483. 40166c: e8 f1 0e 00 00 callq 402562 <__gnat_rcheck_CE_Index_Check>
  484. 401671: be 39 00 00 00 mov $0x39,%esi
  485. 401676: bf 68 af 49 00 mov $0x49af68,%edi
  486. 40167b: 31 c0 xor %eax,%eax
  487. 40167d: e8 e0 0e 00 00 callq 402562 <__gnat_rcheck_CE_Index_Check>
  488. 401682: be 38 00 00 00 mov $0x38,%esi
  489. 401687: bf 68 af 49 00 mov $0x49af68,%edi
  490. 40168c: 31 c0 xor %eax,%eax
  491. 40168e: e8 cf 0e 00 00 callq 402562 <__gnat_rcheck_CE_Index_Check>
  492. 401693: be 39 00 00 00 mov $0x39,%esi
  493. 401698: bf 68 af 49 00 mov $0x49af68,%edi
  494. 40169d: 31 c0 xor %eax,%eax
  495. 40169f: e8 e6 0e 00 00 callq 40258a <__gnat_rcheck_CE_Overflow_Check>
  496. 4016a4: be 38 00 00 00 mov $0x38,%esi
  497. 4016a9: bf 68 af 49 00 mov $0x49af68,%edi
  498. 4016ae: 31 c0 xor %eax,%eax
  499. 4016b0: e8 d5 0e 00 00 callq 40258a <__gnat_rcheck_CE_Overflow_Check>
  500. 4016b5: be 3d 00 00 00 mov $0x3d,%esi
  501. 4016ba: bf 68 af 49 00 mov $0x49af68,%edi
  502. 4016bf: 31 c0 xor %eax,%eax
  503. 4016c1: e8 b0 0e 00 00 callq 402576 <__gnat_rcheck_CE_Invalid_Data>
  504. 4016c6: be 3c 00 00 00 mov $0x3c,%esi
  505. 4016cb: bf 68 af 49 00 mov $0x49af68,%edi
  506. 4016d0: 31 c0 xor %eax,%eax
  507. 4016d2: e8 b3 0e 00 00 callq 40258a <__gnat_rcheck_CE_Overflow_Check>
  508. 4016d7: bf 80 af 49 00 mov $0x49af80,%edi
  509. 4016dc: be 78 af 49 00 mov $0x49af78,%esi
  510. 4016e1: e8 0a 44 00 00 callq 405af0 <system__assertions__raise_assert_failure>
  511. 4016e6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
  512. 4016ed: 00 00 00
  513.  
  514. 00000000004016f0 <word_ops__w_carry>:
  515. 4016f0: 48 89 f8 mov %rdi,%rax
  516. 4016f3: 48 f7 d2 not %rdx
  517. 4016f6: 55 push %rbp
  518. 4016f7: 48 09 f0 or %rsi,%rax
  519. 4016fa: 48 21 fe and %rdi,%rsi
  520. 4016fd: 48 21 d0 and %rdx,%rax
  521. 401700: 48 89 e5 mov %rsp,%rbp
  522. 401703: 48 09 f0 or %rsi,%rax
  523. 401706: 48 c1 e8 3f shr $0x3f,%rax
  524. 40170a: 5d pop %rbp
  525. 40170b: c3 retq
  526. 40170c: 0f 1f 40 00 nopl 0x0(%rax)
  527.  
  528. 0000000000401710 <word_ops__w_borrow>:
  529. 401710: 48 f7 d7 not %rdi
  530. 401713: 55 push %rbp
  531. 401714: 48 89 f8 mov %rdi,%rax
  532. 401717: 48 21 f7 and %rsi,%rdi
  533. 40171a: 48 09 f0 or %rsi,%rax
  534. 40171d: 48 89 e5 mov %rsp,%rbp
  535. 401720: 48 21 d0 and %rdx,%rax
  536. 401723: 48 09 f8 or %rdi,%rax
  537. 401726: 48 c1 e8 3f shr $0x3f,%rax
  538. 40172a: 5d pop %rbp
  539. 40172b: c3 retq
RAW Paste Data