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.
 
 
 
 

3274 lines
62 KiB

  1. #ifdef __linux__
  2. #ifdef __i386__
  3. .file "board_validate.cc"
  4. .section .text._ZNK12OthelloBoard4rowsEv,"axG",@progbits,_ZNK12OthelloBoard4rowsEv,comdat
  5. .align 2
  6. .weak _ZNK12OthelloBoard4rowsEv
  7. .type _ZNK12OthelloBoard4rowsEv, @function
  8. _ZNK12OthelloBoard4rowsEv:
  9. .LFB7:
  10. .cfi_startproc
  11. pushl %ebp
  12. .cfi_def_cfa_offset 8
  13. .cfi_offset 5, -8
  14. movl %esp, %ebp
  15. .cfi_def_cfa_register 5
  16. movl 8(%ebp), %eax
  17. movl 4(%eax), %eax
  18. popl %ebp
  19. .cfi_restore 5
  20. .cfi_def_cfa 4, 4
  21. ret
  22. .cfi_endproc
  23. .LFE7:
  24. .size _ZNK12OthelloBoard4rowsEv, .-_ZNK12OthelloBoard4rowsEv
  25. .section .text._ZNK12OthelloBoard7columnsEv,"axG",@progbits,_ZNK12OthelloBoard7columnsEv,comdat
  26. .align 2
  27. .weak _ZNK12OthelloBoard7columnsEv
  28. .type _ZNK12OthelloBoard7columnsEv, @function
  29. _ZNK12OthelloBoard7columnsEv:
  30. .LFB8:
  31. .cfi_startproc
  32. pushl %ebp
  33. .cfi_def_cfa_offset 8
  34. .cfi_offset 5, -8
  35. movl %esp, %ebp
  36. .cfi_def_cfa_register 5
  37. movl 8(%ebp), %eax
  38. movl 8(%eax), %eax
  39. popl %ebp
  40. .cfi_restore 5
  41. .cfi_def_cfa 4, 4
  42. ret
  43. .cfi_endproc
  44. .LFE8:
  45. .size _ZNK12OthelloBoard7columnsEv, .-_ZNK12OthelloBoard7columnsEv
  46. .section .text._ZNK12OthelloBoard3getEjj,"axG",@progbits,_ZNK12OthelloBoard3getEjj,comdat
  47. .align 2
  48. .weak _ZNK12OthelloBoard3getEjj
  49. .type _ZNK12OthelloBoard3getEjj, @function
  50. _ZNK12OthelloBoard3getEjj:
  51. .LFB20:
  52. .cfi_startproc
  53. pushl %ebp
  54. .cfi_def_cfa_offset 8
  55. .cfi_offset 5, -8
  56. movl %esp, %ebp
  57. .cfi_def_cfa_register 5
  58. pushl %esi
  59. pushl %ebx
  60. .cfi_offset 6, -12
  61. .cfi_offset 3, -16
  62. cmpl $0, 12(%ebp)
  63. je .L6
  64. cmpl $0, 16(%ebp)
  65. je .L6
  66. subl $12, %esp
  67. pushl 8(%ebp)
  68. call _ZNK12OthelloBoard4rowsEv
  69. addl $16, %esp
  70. cmpl 12(%ebp), %eax
  71. jb .L6
  72. subl $12, %esp
  73. pushl 8(%ebp)
  74. call _ZNK12OthelloBoard7columnsEv
  75. addl $16, %esp
  76. cmpl 16(%ebp), %eax
  77. jae .L7
  78. .L6:
  79. movl $1, %eax
  80. jmp .L8
  81. .L7:
  82. movl $0, %eax
  83. .L8:
  84. testb %al, %al
  85. je .L9
  86. movl $3, %eax
  87. jmp .L10
  88. .L9:
  89. movl 8(%ebp), %eax
  90. movl 16(%eax), %ebx
  91. movl 12(%ebp), %eax
  92. leal -1(%eax), %esi
  93. subl $12, %esp
  94. pushl 8(%ebp)
  95. call _ZNK12OthelloBoard7columnsEv
  96. addl $16, %esp
  97. movl %esi, %edx
  98. imull %eax, %edx
  99. movl 16(%ebp), %eax
  100. addl %edx, %eax
  101. addl $1073741823, %eax
  102. sall $2, %eax
  103. addl %ebx, %eax
  104. movl (%eax), %eax
  105. .L10:
  106. leal -8(%ebp), %esp
  107. popl %ebx
  108. .cfi_restore 3
  109. popl %esi
  110. .cfi_restore 6
  111. popl %ebp
  112. .cfi_restore 5
  113. .cfi_def_cfa 4, 4
  114. ret
  115. .cfi_endproc
  116. .LFE20:
  117. .size _ZNK12OthelloBoard3getEjj, .-_ZNK12OthelloBoard3getEjj
  118. .section .text._ZNK12OthelloBoard11type_to_strE9FieldType,"axG",@progbits,_ZNK12OthelloBoard11type_to_strE9FieldType,comdat
  119. .align 2
  120. .weak _ZNK12OthelloBoard11type_to_strE9FieldType
  121. .type _ZNK12OthelloBoard11type_to_strE9FieldType, @function
  122. _ZNK12OthelloBoard11type_to_strE9FieldType:
  123. .LFB26:
  124. .cfi_startproc
  125. pushl %ebp
  126. .cfi_def_cfa_offset 8
  127. .cfi_offset 5, -8
  128. movl %esp, %ebp
  129. .cfi_def_cfa_register 5
  130. movl 12(%ebp), %eax
  131. cmpl $1, %eax
  132. je .L13
  133. cmpl $1, %eax
  134. jg .L14
  135. testl %eax, %eax
  136. je .L15
  137. jmp .L12
  138. .L14:
  139. cmpl $2, %eax
  140. je .L16
  141. cmpl $3, %eax
  142. je .L17
  143. jmp .L12
  144. .L15:
  145. movl $46, %eax
  146. jmp .L18
  147. .L13:
  148. movl $79, %eax
  149. jmp .L18
  150. .L16:
  151. movl $88, %eax
  152. jmp .L18
  153. .L17:
  154. movl $47, %eax
  155. jmp .L18
  156. .L12:
  157. .L18:
  158. popl %ebp
  159. .cfi_restore 5
  160. .cfi_def_cfa 4, 4
  161. ret
  162. .cfi_endproc
  163. .LFE26:
  164. .size _ZNK12OthelloBoard11type_to_strE9FieldType, .-_ZNK12OthelloBoard11type_to_strE9FieldType
  165. .section .rodata
  166. .LC0:
  167. .string "board_validate.cc"
  168. .LC1:
  169. .string "row_idx > 0"
  170. .LC2:
  171. .string "row_idx <= rows()"
  172. .LC3:
  173. .string "col_idx > 0"
  174. .LC4:
  175. .string "col_idx <= columns()"
  176. .LC5:
  177. .string "inc_row == 0"
  178. .LC6:
  179. .string "inc_col == 0"
  180. .text
  181. .align 2
  182. .globl _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  183. .type _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction, @function
  184. _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction:
  185. .LFB32:
  186. .cfi_startproc
  187. pushl %ebp
  188. .cfi_def_cfa_offset 8
  189. .cfi_offset 5, -8
  190. movl %esp, %ebp
  191. .cfi_def_cfa_register 5
  192. pushl %ebx
  193. subl $4, %esp
  194. .cfi_offset 3, -12
  195. movl 12(%ebp), %eax
  196. movl (%eax), %eax
  197. testl %eax, %eax
  198. jne .L20
  199. pushl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__
  200. pushl $7
  201. pushl $.LC0
  202. pushl $.LC1
  203. call __assert_fail
  204. .L20:
  205. movl 12(%ebp), %eax
  206. movl (%eax), %ebx
  207. subl $12, %esp
  208. pushl 8(%ebp)
  209. call _ZNK12OthelloBoard4rowsEv
  210. addl $16, %esp
  211. cmpl %eax, %ebx
  212. jbe .L21
  213. pushl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__
  214. pushl $8
  215. pushl $.LC0
  216. pushl $.LC2
  217. call __assert_fail
  218. .L21:
  219. movl 16(%ebp), %eax
  220. movl (%eax), %eax
  221. testl %eax, %eax
  222. jne .L22
  223. pushl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__
  224. pushl $9
  225. pushl $.LC0
  226. pushl $.LC3
  227. call __assert_fail
  228. .L22:
  229. movl 16(%ebp), %eax
  230. movl (%eax), %ebx
  231. subl $12, %esp
  232. pushl 8(%ebp)
  233. call _ZNK12OthelloBoard7columnsEv
  234. addl $16, %esp
  235. cmpl %eax, %ebx
  236. jbe .L23
  237. pushl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__
  238. pushl $10
  239. pushl $.LC0
  240. pushl $.LC4
  241. call __assert_fail
  242. .L23:
  243. movl 20(%ebp), %eax
  244. movl (%eax), %eax
  245. testl %eax, %eax
  246. je .L24
  247. pushl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__
  248. pushl $11
  249. pushl $.LC0
  250. pushl $.LC5
  251. call __assert_fail
  252. .L24:
  253. movl 24(%ebp), %eax
  254. movl (%eax), %eax
  255. testl %eax, %eax
  256. je .L25
  257. pushl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__
  258. pushl $12
  259. pushl $.LC0
  260. pushl $.LC6
  261. call __assert_fail
  262. .L25:
  263. movl 28(%ebp), %eax
  264. cmpl $7, %eax
  265. ja .L19
  266. movl .L28(,%eax,4), %eax
  267. jmp *%eax
  268. .section .rodata
  269. .align 4
  270. .align 4
  271. .L28:
  272. .long .L27
  273. .long .L29
  274. .long .L30
  275. .long .L31
  276. .long .L32
  277. .long .L33
  278. .long .L34
  279. .long .L35
  280. .text
  281. .L30:
  282. movl 12(%ebp), %eax
  283. movl (%eax), %eax
  284. leal -1(%eax), %edx
  285. movl 12(%ebp), %eax
  286. movl %edx, (%eax)
  287. movl 20(%ebp), %eax
  288. movl $-1, (%eax)
  289. jmp .L19
  290. .L31:
  291. movl 12(%ebp), %eax
  292. movl (%eax), %eax
  293. leal 1(%eax), %edx
  294. movl 12(%ebp), %eax
  295. movl %edx, (%eax)
  296. movl 20(%ebp), %eax
  297. movl $1, (%eax)
  298. jmp .L19
  299. .L27:
  300. movl 16(%ebp), %eax
  301. movl (%eax), %eax
  302. leal -1(%eax), %edx
  303. movl 16(%ebp), %eax
  304. movl %edx, (%eax)
  305. movl 24(%ebp), %eax
  306. movl $-1, (%eax)
  307. jmp .L19
  308. .L29:
  309. movl 16(%ebp), %eax
  310. movl (%eax), %eax
  311. leal 1(%eax), %edx
  312. movl 16(%ebp), %eax
  313. movl %edx, (%eax)
  314. movl 24(%ebp), %eax
  315. movl $1, (%eax)
  316. jmp .L19
  317. .L32:
  318. movl 12(%ebp), %eax
  319. movl (%eax), %eax
  320. leal -1(%eax), %edx
  321. movl 12(%ebp), %eax
  322. movl %edx, (%eax)
  323. movl 16(%ebp), %eax
  324. movl (%eax), %eax
  325. leal -1(%eax), %edx
  326. movl 16(%ebp), %eax
  327. movl %edx, (%eax)
  328. movl 20(%ebp), %eax
  329. movl $-1, (%eax)
  330. movl 24(%ebp), %eax
  331. movl $-1, (%eax)
  332. jmp .L19
  333. .L33:
  334. movl 12(%ebp), %eax
  335. movl (%eax), %eax
  336. leal -1(%eax), %edx
  337. movl 12(%ebp), %eax
  338. movl %edx, (%eax)
  339. movl 16(%ebp), %eax
  340. movl (%eax), %eax
  341. leal 1(%eax), %edx
  342. movl 16(%ebp), %eax
  343. movl %edx, (%eax)
  344. movl 20(%ebp), %eax
  345. movl $-1, (%eax)
  346. movl 24(%ebp), %eax
  347. movl $1, (%eax)
  348. jmp .L19
  349. .L34:
  350. movl 12(%ebp), %eax
  351. movl (%eax), %eax
  352. leal 1(%eax), %edx
  353. movl 12(%ebp), %eax
  354. movl %edx, (%eax)
  355. movl 16(%ebp), %eax
  356. movl (%eax), %eax
  357. leal -1(%eax), %edx
  358. movl 16(%ebp), %eax
  359. movl %edx, (%eax)
  360. movl 20(%ebp), %eax
  361. movl $1, (%eax)
  362. movl 24(%ebp), %eax
  363. movl $-1, (%eax)
  364. jmp .L19
  365. .L35:
  366. movl 12(%ebp), %eax
  367. movl (%eax), %eax
  368. leal 1(%eax), %edx
  369. movl 12(%ebp), %eax
  370. movl %edx, (%eax)
  371. movl 16(%ebp), %eax
  372. movl (%eax), %eax
  373. leal 1(%eax), %edx
  374. movl 16(%ebp), %eax
  375. movl %edx, (%eax)
  376. movl 20(%ebp), %eax
  377. movl $1, (%eax)
  378. movl 24(%ebp), %eax
  379. movl $1, (%eax)
  380. nop
  381. .L19:
  382. movl -4(%ebp), %ebx
  383. leave
  384. .cfi_restore 5
  385. .cfi_restore 3
  386. .cfi_def_cfa 4, 4
  387. ret
  388. .cfi_endproc
  389. .LFE32:
  390. .size _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction, .-_ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  391. .align 2
  392. .globl _ZNK12OthelloBoard18position_reachableEjj9direction
  393. .type _ZNK12OthelloBoard18position_reachableEjj9direction, @function
  394. _ZNK12OthelloBoard18position_reachableEjj9direction:
  395. .LFB33:
  396. .cfi_startproc
  397. pushl %ebp
  398. .cfi_def_cfa_offset 8
  399. .cfi_offset 5, -8
  400. movl %esp, %ebp
  401. .cfi_def_cfa_register 5
  402. subl $40, %esp
  403. movl 12(%ebp), %eax
  404. movl %eax, -20(%ebp)
  405. movl 16(%ebp), %eax
  406. movl %eax, -24(%ebp)
  407. movl $0, -28(%ebp)
  408. movl $0, -32(%ebp)
  409. movl $1, -12(%ebp)
  410. subl $8, %esp
  411. pushl 20(%ebp)
  412. leal -32(%ebp), %eax
  413. pushl %eax
  414. leal -28(%ebp), %eax
  415. pushl %eax
  416. leal -24(%ebp), %eax
  417. pushl %eax
  418. leal -20(%ebp), %eax
  419. pushl %eax
  420. pushl 8(%ebp)
  421. call _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  422. addl $32, %esp
  423. movl -24(%ebp), %edx
  424. movl -20(%ebp), %eax
  425. subl $4, %esp
  426. pushl %edx
  427. pushl %eax
  428. pushl 8(%ebp)
  429. call _ZNK12OthelloBoard3getEjj
  430. addl $16, %esp
  431. movl %eax, -16(%ebp)
  432. jmp .L37
  433. .L39:
  434. movl -24(%ebp), %eax
  435. movl -32(%ebp), %edx
  436. addl %edx, %eax
  437. movl %eax, -24(%ebp)
  438. movl -20(%ebp), %eax
  439. movl -28(%ebp), %edx
  440. addl %edx, %eax
  441. movl %eax, -20(%ebp)
  442. movl -24(%ebp), %edx
  443. movl -20(%ebp), %eax
  444. subl $4, %esp
  445. pushl %edx
  446. pushl %eax
  447. pushl 8(%ebp)
  448. call _ZNK12OthelloBoard3getEjj
  449. addl $16, %esp
  450. movl %eax, -16(%ebp)
  451. addl $1, -12(%ebp)
  452. .L37:
  453. cmpl $0, -16(%ebp)
  454. je .L38
  455. movl -16(%ebp), %edx
  456. movl 8(%ebp), %eax
  457. movl 20(%eax), %eax
  458. cmpl %eax, %edx
  459. je .L38
  460. cmpl $3, -16(%ebp)
  461. jne .L39
  462. .L38:
  463. cmpl $1, -12(%ebp)
  464. jbe .L40
  465. movl -16(%ebp), %edx
  466. movl 8(%ebp), %eax
  467. movl 20(%eax), %eax
  468. cmpl %eax, %edx
  469. jne .L40
  470. movl $1, %eax
  471. jmp .L42
  472. .L40:
  473. movl $0, %eax
  474. .L42:
  475. leave
  476. .cfi_restore 5
  477. .cfi_def_cfa 4, 4
  478. ret
  479. .cfi_endproc
  480. .LFE33:
  481. .size _ZNK12OthelloBoard18position_reachableEjj9direction, .-_ZNK12OthelloBoard18position_reachableEjj9direction
  482. .section .rodata
  483. .align 4
  484. .LC7:
  485. .string "Coordinates (r=%d, c=%d) out of bounds.\n"
  486. .align 4
  487. .LC8:
  488. .string "Field @ (r=%d, c=%d) is occupied by %c\n"
  489. .align 4
  490. .LC9:
  491. .string "Position (r=%d, c=%d) not reachable by a stone "
  492. .LC10:
  493. .string "of type %c.\n"
  494. .text
  495. .align 2
  496. .globl _ZNK12OthelloBoard8validateEjjb
  497. .type _ZNK12OthelloBoard8validateEjjb, @function
  498. _ZNK12OthelloBoard8validateEjjb:
  499. .LFB34:
  500. .cfi_startproc
  501. pushl %ebp
  502. .cfi_def_cfa_offset 8
  503. .cfi_offset 5, -8
  504. movl %esp, %ebp
  505. .cfi_def_cfa_register 5
  506. subl $24, %esp
  507. movl 20(%ebp), %eax
  508. movb %al, -12(%ebp)
  509. cmpl $0, 12(%ebp)
  510. je .L44
  511. subl $12, %esp
  512. pushl 8(%ebp)
  513. call _ZNK12OthelloBoard4rowsEv
  514. addl $16, %esp
  515. cmpl 12(%ebp), %eax
  516. jb .L44
  517. cmpl $0, 16(%ebp)
  518. je .L44
  519. subl $12, %esp
  520. pushl 8(%ebp)
  521. call _ZNK12OthelloBoard7columnsEv
  522. addl $16, %esp
  523. cmpl 16(%ebp), %eax
  524. jae .L45
  525. .L44:
  526. movl $1, %eax
  527. jmp .L46
  528. .L45:
  529. movl $0, %eax
  530. .L46:
  531. testb %al, %al
  532. je .L47
  533. movzbl -12(%ebp), %eax
  534. xorl $1, %eax
  535. testb %al, %al
  536. je .L48
  537. subl $4, %esp
  538. pushl 16(%ebp)
  539. pushl 12(%ebp)
  540. pushl $.LC7
  541. call printf
  542. addl $16, %esp
  543. .L48:
  544. movl $0, %eax
  545. jmp .L49
  546. .L47:
  547. subl $4, %esp
  548. pushl 16(%ebp)
  549. pushl 12(%ebp)
  550. pushl 8(%ebp)
  551. call _ZNK12OthelloBoard3getEjj
  552. addl $16, %esp
  553. testl %eax, %eax
  554. setne %al
  555. testb %al, %al
  556. je .L50
  557. movzbl -12(%ebp), %eax
  558. xorl $1, %eax
  559. testb %al, %al
  560. je .L51
  561. subl $4, %esp
  562. pushl 16(%ebp)
  563. pushl 12(%ebp)
  564. pushl 8(%ebp)
  565. call _ZNK12OthelloBoard3getEjj
  566. addl $16, %esp
  567. subl $8, %esp
  568. pushl %eax
  569. pushl 8(%ebp)
  570. call _ZNK12OthelloBoard11type_to_strE9FieldType
  571. addl $16, %esp
  572. movsbl %al, %eax
  573. pushl %eax
  574. pushl 16(%ebp)
  575. pushl 12(%ebp)
  576. pushl $.LC8
  577. call printf
  578. addl $16, %esp
  579. .L51:
  580. movl $0, %eax
  581. jmp .L49
  582. .L50:
  583. pushl $0
  584. pushl 16(%ebp)
  585. pushl 12(%ebp)
  586. pushl 8(%ebp)
  587. call _ZNK12OthelloBoard18position_reachableEjj9direction
  588. addl $16, %esp
  589. testb %al, %al
  590. jne .L52
  591. pushl $1
  592. pushl 16(%ebp)
  593. pushl 12(%ebp)
  594. pushl 8(%ebp)
  595. call _ZNK12OthelloBoard18position_reachableEjj9direction
  596. addl $16, %esp
  597. testb %al, %al
  598. jne .L52
  599. pushl $2
  600. pushl 16(%ebp)
  601. pushl 12(%ebp)
  602. pushl 8(%ebp)
  603. call _ZNK12OthelloBoard18position_reachableEjj9direction
  604. addl $16, %esp
  605. testb %al, %al
  606. jne .L52
  607. pushl $3
  608. pushl 16(%ebp)
  609. pushl 12(%ebp)
  610. pushl 8(%ebp)
  611. call _ZNK12OthelloBoard18position_reachableEjj9direction
  612. addl $16, %esp
  613. testb %al, %al
  614. jne .L52
  615. pushl $4
  616. pushl 16(%ebp)
  617. pushl 12(%ebp)
  618. pushl 8(%ebp)
  619. call _ZNK12OthelloBoard18position_reachableEjj9direction
  620. addl $16, %esp
  621. testb %al, %al
  622. jne .L52
  623. pushl $5
  624. pushl 16(%ebp)
  625. pushl 12(%ebp)
  626. pushl 8(%ebp)
  627. call _ZNK12OthelloBoard18position_reachableEjj9direction
  628. addl $16, %esp
  629. testb %al, %al
  630. jne .L52
  631. pushl $6
  632. pushl 16(%ebp)
  633. pushl 12(%ebp)
  634. pushl 8(%ebp)
  635. call _ZNK12OthelloBoard18position_reachableEjj9direction
  636. addl $16, %esp
  637. testb %al, %al
  638. jne .L52
  639. pushl $7
  640. pushl 16(%ebp)
  641. pushl 12(%ebp)
  642. pushl 8(%ebp)
  643. call _ZNK12OthelloBoard18position_reachableEjj9direction
  644. addl $16, %esp
  645. testb %al, %al
  646. je .L53
  647. .L52:
  648. movl $1, %eax
  649. jmp .L54
  650. .L53:
  651. movl $0, %eax
  652. .L54:
  653. testb %al, %al
  654. je .L55
  655. movl $1, %eax
  656. jmp .L49
  657. .L55:
  658. movzbl -12(%ebp), %eax
  659. xorl $1, %eax
  660. testb %al, %al
  661. je .L56
  662. subl $4, %esp
  663. pushl 16(%ebp)
  664. pushl 12(%ebp)
  665. pushl $.LC9
  666. call printf
  667. addl $16, %esp
  668. movl 8(%ebp), %eax
  669. movl 20(%eax), %eax
  670. subl $8, %esp
  671. pushl %eax
  672. pushl 8(%ebp)
  673. call _ZNK12OthelloBoard11type_to_strE9FieldType
  674. addl $16, %esp
  675. movsbl %al, %eax
  676. subl $8, %esp
  677. pushl %eax
  678. pushl $.LC10
  679. call printf
  680. addl $16, %esp
  681. .L56:
  682. movl $0, %eax
  683. .L49:
  684. leave
  685. .cfi_restore 5
  686. .cfi_def_cfa 4, 4
  687. ret
  688. .cfi_endproc
  689. .LFE34:
  690. .size _ZNK12OthelloBoard8validateEjjb, .-_ZNK12OthelloBoard8validateEjjb
  691. .section .rodata
  692. .align 64
  693. .type _ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, @object
  694. .size _ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, 95
  695. _ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__:
  696. .string "void OthelloBoard::setup_directions(unsigned int&, unsigned int&, int&, int&, direction) const"
  697. .ident "GCC: (Debian 4.9.1-11) 4.9.1"
  698. .section .note.GNU-stack,"",@progbits
  699. #endif // x86/32
  700. #ifdef __x86_64__
  701. .file "board_validate.cc"
  702. .section .text._ZNK12OthelloBoard4rowsEv,"axG",@progbits,_ZNK12OthelloBoard4rowsEv,comdat
  703. .align 2
  704. .weak _ZNK12OthelloBoard4rowsEv
  705. .type _ZNK12OthelloBoard4rowsEv, @function
  706. _ZNK12OthelloBoard4rowsEv:
  707. .LFB8:
  708. .cfi_startproc
  709. pushq %rbp
  710. .cfi_def_cfa_offset 16
  711. .cfi_offset 6, -16
  712. movq %rsp, %rbp
  713. .cfi_def_cfa_register 6
  714. movq %rdi, -8(%rbp)
  715. movq -8(%rbp), %rax
  716. movl 8(%rax), %eax
  717. popq %rbp
  718. .cfi_def_cfa 7, 8
  719. ret
  720. .cfi_endproc
  721. .LFE8:
  722. .size _ZNK12OthelloBoard4rowsEv, .-_ZNK12OthelloBoard4rowsEv
  723. .section .text._ZNK12OthelloBoard7columnsEv,"axG",@progbits,_ZNK12OthelloBoard7columnsEv,comdat
  724. .align 2
  725. .weak _ZNK12OthelloBoard7columnsEv
  726. .type _ZNK12OthelloBoard7columnsEv, @function
  727. _ZNK12OthelloBoard7columnsEv:
  728. .LFB9:
  729. .cfi_startproc
  730. pushq %rbp
  731. .cfi_def_cfa_offset 16
  732. .cfi_offset 6, -16
  733. movq %rsp, %rbp
  734. .cfi_def_cfa_register 6
  735. movq %rdi, -8(%rbp)
  736. movq -8(%rbp), %rax
  737. movl 12(%rax), %eax
  738. popq %rbp
  739. .cfi_def_cfa 7, 8
  740. ret
  741. .cfi_endproc
  742. .LFE9:
  743. .size _ZNK12OthelloBoard7columnsEv, .-_ZNK12OthelloBoard7columnsEv
  744. .section .text._ZNK12OthelloBoard3getEjj,"axG",@progbits,_ZNK12OthelloBoard3getEjj,comdat
  745. .align 2
  746. .weak _ZNK12OthelloBoard3getEjj
  747. .type _ZNK12OthelloBoard3getEjj, @function
  748. _ZNK12OthelloBoard3getEjj:
  749. .LFB21:
  750. .cfi_startproc
  751. pushq %rbp
  752. .cfi_def_cfa_offset 16
  753. .cfi_offset 6, -16
  754. movq %rsp, %rbp
  755. .cfi_def_cfa_register 6
  756. pushq %r12
  757. pushq %rbx
  758. subq $16, %rsp
  759. .cfi_offset 12, -24
  760. .cfi_offset 3, -32
  761. movq %rdi, -24(%rbp)
  762. movl %esi, -28(%rbp)
  763. movl %edx, -32(%rbp)
  764. cmpl $0, -28(%rbp)
  765. je .L6
  766. cmpl $0, -32(%rbp)
  767. je .L6
  768. movq -24(%rbp), %rax
  769. movq %rax, %rdi
  770. call _ZNK12OthelloBoard4rowsEv
  771. cmpl -28(%rbp), %eax
  772. jb .L6
  773. movq -24(%rbp), %rax
  774. movq %rax, %rdi
  775. call _ZNK12OthelloBoard7columnsEv
  776. cmpl -32(%rbp), %eax
  777. jae .L7
  778. .L6:
  779. movl $1, %eax
  780. jmp .L8
  781. .L7:
  782. movl $0, %eax
  783. .L8:
  784. testb %al, %al
  785. je .L9
  786. movl $3, %eax
  787. jmp .L10
  788. .L9:
  789. movq -24(%rbp), %rax
  790. movq 24(%rax), %rbx
  791. movl -28(%rbp), %eax
  792. leal -1(%rax), %r12d
  793. movq -24(%rbp), %rax
  794. movq %rax, %rdi
  795. call _ZNK12OthelloBoard7columnsEv
  796. movl %r12d, %edx
  797. imull %eax, %edx
  798. movl -32(%rbp), %eax
  799. addl %edx, %eax
  800. subl $1, %eax
  801. movl %eax, %eax
  802. salq $2, %rax
  803. addq %rbx, %rax
  804. movl (%rax), %eax
  805. .L10:
  806. addq $16, %rsp
  807. popq %rbx
  808. popq %r12
  809. popq %rbp
  810. .cfi_def_cfa 7, 8
  811. ret
  812. .cfi_endproc
  813. .LFE21:
  814. .size _ZNK12OthelloBoard3getEjj, .-_ZNK12OthelloBoard3getEjj
  815. .section .text._ZNK12OthelloBoard11type_to_strE9FieldType,"axG",@progbits,_ZNK12OthelloBoard11type_to_strE9FieldType,comdat
  816. .align 2
  817. .weak _ZNK12OthelloBoard11type_to_strE9FieldType
  818. .type _ZNK12OthelloBoard11type_to_strE9FieldType, @function
  819. _ZNK12OthelloBoard11type_to_strE9FieldType:
  820. .LFB27:
  821. .cfi_startproc
  822. pushq %rbp
  823. .cfi_def_cfa_offset 16
  824. .cfi_offset 6, -16
  825. movq %rsp, %rbp
  826. .cfi_def_cfa_register 6
  827. movq %rdi, -8(%rbp)
  828. movl %esi, -12(%rbp)
  829. movl -12(%rbp), %eax
  830. cmpl $1, %eax
  831. je .L13
  832. cmpl $1, %eax
  833. jg .L14
  834. testl %eax, %eax
  835. je .L15
  836. jmp .L12
  837. .L14:
  838. cmpl $2, %eax
  839. je .L16
  840. cmpl $3, %eax
  841. je .L17
  842. jmp .L12
  843. .L15:
  844. movl $46, %eax
  845. jmp .L18
  846. .L13:
  847. movl $79, %eax
  848. jmp .L18
  849. .L16:
  850. movl $88, %eax
  851. jmp .L18
  852. .L17:
  853. movl $47, %eax
  854. jmp .L18
  855. .L12:
  856. .L18:
  857. popq %rbp
  858. .cfi_def_cfa 7, 8
  859. ret
  860. .cfi_endproc
  861. .LFE27:
  862. .size _ZNK12OthelloBoard11type_to_strE9FieldType, .-_ZNK12OthelloBoard11type_to_strE9FieldType
  863. .section .rodata
  864. .LC0:
  865. .string "board_validate.cc"
  866. .LC1:
  867. .string "row_idx > 0"
  868. .LC2:
  869. .string "row_idx <= rows()"
  870. .LC3:
  871. .string "col_idx > 0"
  872. .LC4:
  873. .string "col_idx <= columns()"
  874. .LC5:
  875. .string "inc_row == 0"
  876. .LC6:
  877. .string "inc_col == 0"
  878. .text
  879. .align 2
  880. .globl _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  881. .type _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction, @function
  882. _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction:
  883. .LFB33:
  884. .cfi_startproc
  885. pushq %rbp
  886. .cfi_def_cfa_offset 16
  887. .cfi_offset 6, -16
  888. movq %rsp, %rbp
  889. .cfi_def_cfa_register 6
  890. pushq %rbx
  891. subq $56, %rsp
  892. .cfi_offset 3, -24
  893. movq %rdi, -24(%rbp)
  894. movq %rsi, -32(%rbp)
  895. movq %rdx, -40(%rbp)
  896. movq %rcx, -48(%rbp)
  897. movq %r8, -56(%rbp)
  898. movl %r9d, -60(%rbp)
  899. movq -32(%rbp), %rax
  900. movl (%rax), %eax
  901. testl %eax, %eax
  902. jne .L20
  903. movl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, %ecx
  904. movl $7, %edx
  905. movl $.LC0, %esi
  906. movl $.LC1, %edi
  907. call __assert_fail
  908. .L20:
  909. movq -32(%rbp), %rax
  910. movl (%rax), %ebx
  911. movq -24(%rbp), %rax
  912. movq %rax, %rdi
  913. call _ZNK12OthelloBoard4rowsEv
  914. cmpl %eax, %ebx
  915. jbe .L21
  916. movl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, %ecx
  917. movl $8, %edx
  918. movl $.LC0, %esi
  919. movl $.LC2, %edi
  920. call __assert_fail
  921. .L21:
  922. movq -40(%rbp), %rax
  923. movl (%rax), %eax
  924. testl %eax, %eax
  925. jne .L22
  926. movl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, %ecx
  927. movl $9, %edx
  928. movl $.LC0, %esi
  929. movl $.LC3, %edi
  930. call __assert_fail
  931. .L22:
  932. movq -40(%rbp), %rax
  933. movl (%rax), %ebx
  934. movq -24(%rbp), %rax
  935. movq %rax, %rdi
  936. call _ZNK12OthelloBoard7columnsEv
  937. cmpl %eax, %ebx
  938. jbe .L23
  939. movl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, %ecx
  940. movl $10, %edx
  941. movl $.LC0, %esi
  942. movl $.LC4, %edi
  943. call __assert_fail
  944. .L23:
  945. movq -48(%rbp), %rax
  946. movl (%rax), %eax
  947. testl %eax, %eax
  948. je .L24
  949. movl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, %ecx
  950. movl $11, %edx
  951. movl $.LC0, %esi
  952. movl $.LC5, %edi
  953. call __assert_fail
  954. .L24:
  955. movq -56(%rbp), %rax
  956. movl (%rax), %eax
  957. testl %eax, %eax
  958. je .L25
  959. movl $_ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, %ecx
  960. movl $12, %edx
  961. movl $.LC0, %esi
  962. movl $.LC6, %edi
  963. call __assert_fail
  964. .L25:
  965. movl -60(%rbp), %eax
  966. cmpl $7, %eax
  967. ja .L19
  968. movl %eax, %eax
  969. movq .L28(,%rax,8), %rax
  970. jmp *%rax
  971. .section .rodata
  972. .align 8
  973. .align 4
  974. .L28:
  975. .quad .L27
  976. .quad .L29
  977. .quad .L30
  978. .quad .L31
  979. .quad .L32
  980. .quad .L33
  981. .quad .L34
  982. .quad .L35
  983. .text
  984. .L30:
  985. movq -32(%rbp), %rax
  986. movl (%rax), %eax
  987. leal -1(%rax), %edx
  988. movq -32(%rbp), %rax
  989. movl %edx, (%rax)
  990. movq -48(%rbp), %rax
  991. movl $-1, (%rax)
  992. jmp .L19
  993. .L31:
  994. movq -32(%rbp), %rax
  995. movl (%rax), %eax
  996. leal 1(%rax), %edx
  997. movq -32(%rbp), %rax
  998. movl %edx, (%rax)
  999. movq -48(%rbp), %rax
  1000. movl $1, (%rax)
  1001. jmp .L19
  1002. .L27:
  1003. movq -40(%rbp), %rax
  1004. movl (%rax), %eax
  1005. leal -1(%rax), %edx
  1006. movq -40(%rbp), %rax
  1007. movl %edx, (%rax)
  1008. movq -56(%rbp), %rax
  1009. movl $-1, (%rax)
  1010. jmp .L19
  1011. .L29:
  1012. movq -40(%rbp), %rax
  1013. movl (%rax), %eax
  1014. leal 1(%rax), %edx
  1015. movq -40(%rbp), %rax
  1016. movl %edx, (%rax)
  1017. movq -56(%rbp), %rax
  1018. movl $1, (%rax)
  1019. jmp .L19
  1020. .L32:
  1021. movq -32(%rbp), %rax
  1022. movl (%rax), %eax
  1023. leal -1(%rax), %edx
  1024. movq -32(%rbp), %rax
  1025. movl %edx, (%rax)
  1026. movq -40(%rbp), %rax
  1027. movl (%rax), %eax
  1028. leal -1(%rax), %edx
  1029. movq -40(%rbp), %rax
  1030. movl %edx, (%rax)
  1031. movq -48(%rbp), %rax
  1032. movl $-1, (%rax)
  1033. movq -56(%rbp), %rax
  1034. movl $-1, (%rax)
  1035. jmp .L19
  1036. .L33:
  1037. movq -32(%rbp), %rax
  1038. movl (%rax), %eax
  1039. leal -1(%rax), %edx
  1040. movq -32(%rbp), %rax
  1041. movl %edx, (%rax)
  1042. movq -40(%rbp), %rax
  1043. movl (%rax), %eax
  1044. leal 1(%rax), %edx
  1045. movq -40(%rbp), %rax
  1046. movl %edx, (%rax)
  1047. movq -48(%rbp), %rax
  1048. movl $-1, (%rax)
  1049. movq -56(%rbp), %rax
  1050. movl $1, (%rax)
  1051. jmp .L19
  1052. .L34:
  1053. movq -32(%rbp), %rax
  1054. movl (%rax), %eax
  1055. leal 1(%rax), %edx
  1056. movq -32(%rbp), %rax
  1057. movl %edx, (%rax)
  1058. movq -40(%rbp), %rax
  1059. movl (%rax), %eax
  1060. leal -1(%rax), %edx
  1061. movq -40(%rbp), %rax
  1062. movl %edx, (%rax)
  1063. movq -48(%rbp), %rax
  1064. movl $1, (%rax)
  1065. movq -56(%rbp), %rax
  1066. movl $-1, (%rax)
  1067. jmp .L19
  1068. .L35:
  1069. movq -32(%rbp), %rax
  1070. movl (%rax), %eax
  1071. leal 1(%rax), %edx
  1072. movq -32(%rbp), %rax
  1073. movl %edx, (%rax)
  1074. movq -40(%rbp), %rax
  1075. movl (%rax), %eax
  1076. leal 1(%rax), %edx
  1077. movq -40(%rbp), %rax
  1078. movl %edx, (%rax)
  1079. movq -48(%rbp), %rax
  1080. movl $1, (%rax)
  1081. movq -56(%rbp), %rax
  1082. movl $1, (%rax)
  1083. nop
  1084. .L19:
  1085. addq $56, %rsp
  1086. popq %rbx
  1087. popq %rbp
  1088. .cfi_def_cfa 7, 8
  1089. ret
  1090. .cfi_endproc
  1091. .LFE33:
  1092. .size _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction, .-_ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  1093. .align 2
  1094. .globl _ZNK12OthelloBoard18position_reachableEjj9direction
  1095. .type _ZNK12OthelloBoard18position_reachableEjj9direction, @function
  1096. _ZNK12OthelloBoard18position_reachableEjj9direction:
  1097. .LFB34:
  1098. .cfi_startproc
  1099. pushq %rbp
  1100. .cfi_def_cfa_offset 16
  1101. .cfi_offset 6, -16
  1102. movq %rsp, %rbp
  1103. .cfi_def_cfa_register 6
  1104. subq $64, %rsp
  1105. movq %rdi, -40(%rbp)
  1106. movl %esi, -44(%rbp)
  1107. movl %edx, -48(%rbp)
  1108. movl %ecx, -52(%rbp)
  1109. movl -44(%rbp), %eax
  1110. movl %eax, -12(%rbp)
  1111. movl -48(%rbp), %eax
  1112. movl %eax, -16(%rbp)
  1113. movl $0, -20(%rbp)
  1114. movl $0, -24(%rbp)
  1115. movl $1, -4(%rbp)
  1116. movl -52(%rbp), %r8d
  1117. leaq -24(%rbp), %rdi
  1118. leaq -20(%rbp), %rcx
  1119. leaq -16(%rbp), %rdx
  1120. leaq -12(%rbp), %rsi
  1121. movq -40(%rbp), %rax
  1122. movl %r8d, %r9d
  1123. movq %rdi, %r8
  1124. movq %rax, %rdi
  1125. call _ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  1126. movl -16(%rbp), %edx
  1127. movl -12(%rbp), %ecx
  1128. movq -40(%rbp), %rax
  1129. movl %ecx, %esi
  1130. movq %rax, %rdi
  1131. call _ZNK12OthelloBoard3getEjj
  1132. movl %eax, -8(%rbp)
  1133. jmp .L37
  1134. .L39:
  1135. movl -16(%rbp), %eax
  1136. movl -24(%rbp), %edx
  1137. addl %edx, %eax
  1138. movl %eax, -16(%rbp)
  1139. movl -12(%rbp), %eax
  1140. movl -20(%rbp), %edx
  1141. addl %edx, %eax
  1142. movl %eax, -12(%rbp)
  1143. movl -16(%rbp), %edx
  1144. movl -12(%rbp), %ecx
  1145. movq -40(%rbp), %rax
  1146. movl %ecx, %esi
  1147. movq %rax, %rdi
  1148. call _ZNK12OthelloBoard3getEjj
  1149. movl %eax, -8(%rbp)
  1150. addl $1, -4(%rbp)
  1151. .L37:
  1152. cmpl $0, -8(%rbp)
  1153. je .L38
  1154. movl -8(%rbp), %edx
  1155. movq -40(%rbp), %rax
  1156. movl 32(%rax), %eax
  1157. cmpl %eax, %edx
  1158. je .L38
  1159. cmpl $3, -8(%rbp)
  1160. jne .L39
  1161. .L38:
  1162. cmpl $1, -4(%rbp)
  1163. jbe .L40
  1164. movl -8(%rbp), %edx
  1165. movq -40(%rbp), %rax
  1166. movl 32(%rax), %eax
  1167. cmpl %eax, %edx
  1168. jne .L40
  1169. movl $1, %eax
  1170. jmp .L42
  1171. .L40:
  1172. movl $0, %eax
  1173. .L42:
  1174. leave
  1175. .cfi_def_cfa 7, 8
  1176. ret
  1177. .cfi_endproc
  1178. .LFE34:
  1179. .size _ZNK12OthelloBoard18position_reachableEjj9direction, .-_ZNK12OthelloBoard18position_reachableEjj9direction
  1180. .section .rodata
  1181. .align 8
  1182. .LC7:
  1183. .string "Coordinates (r=%d, c=%d) out of bounds.\n"
  1184. .align 8
  1185. .LC8:
  1186. .string "Field @ (r=%d, c=%d) is occupied by %c\n"
  1187. .align 8
  1188. .LC9:
  1189. .string "Position (r=%d, c=%d) not reachable by a stone "
  1190. .LC10:
  1191. .string "of type %c.\n"
  1192. .text
  1193. .align 2
  1194. .globl _ZNK12OthelloBoard8validateEjjb
  1195. .type _ZNK12OthelloBoard8validateEjjb, @function
  1196. _ZNK12OthelloBoard8validateEjjb:
  1197. .LFB35:
  1198. .cfi_startproc
  1199. pushq %rbp
  1200. .cfi_def_cfa_offset 16
  1201. .cfi_offset 6, -16
  1202. movq %rsp, %rbp
  1203. .cfi_def_cfa_register 6
  1204. subq $32, %rsp
  1205. movq %rdi, -8(%rbp)
  1206. movl %esi, -12(%rbp)
  1207. movl %edx, -16(%rbp)
  1208. movl %ecx, %eax
  1209. movb %al, -20(%rbp)
  1210. cmpl $0, -12(%rbp)
  1211. je .L44
  1212. movq -8(%rbp), %rax
  1213. movq %rax, %rdi
  1214. call _ZNK12OthelloBoard4rowsEv
  1215. cmpl -12(%rbp), %eax
  1216. jb .L44
  1217. cmpl $0, -16(%rbp)
  1218. je .L44
  1219. movq -8(%rbp), %rax
  1220. movq %rax, %rdi
  1221. call _ZNK12OthelloBoard7columnsEv
  1222. cmpl -16(%rbp), %eax
  1223. jae .L45
  1224. .L44:
  1225. movl $1, %eax
  1226. jmp .L46
  1227. .L45:
  1228. movl $0, %eax
  1229. .L46:
  1230. testb %al, %al
  1231. je .L47
  1232. movzbl -20(%rbp), %eax
  1233. xorl $1, %eax
  1234. testb %al, %al
  1235. je .L48
  1236. movl -16(%rbp), %edx
  1237. movl -12(%rbp), %eax
  1238. movl %eax, %esi
  1239. movl $.LC7, %edi
  1240. movl $0, %eax
  1241. call printf
  1242. .L48:
  1243. movl $0, %eax
  1244. jmp .L49
  1245. .L47:
  1246. movl -16(%rbp), %edx
  1247. movl -12(%rbp), %ecx
  1248. movq -8(%rbp), %rax
  1249. movl %ecx, %esi
  1250. movq %rax, %rdi
  1251. call _ZNK12OthelloBoard3getEjj
  1252. testl %eax, %eax
  1253. setne %al
  1254. testb %al, %al
  1255. je .L50
  1256. movzbl -20(%rbp), %eax
  1257. xorl $1, %eax
  1258. testb %al, %al
  1259. je .L51
  1260. movl -16(%rbp), %edx
  1261. movl -12(%rbp), %ecx
  1262. movq -8(%rbp), %rax
  1263. movl %ecx, %esi
  1264. movq %rax, %rdi
  1265. call _ZNK12OthelloBoard3getEjj
  1266. movl %eax, %edx
  1267. movq -8(%rbp), %rax
  1268. movl %edx, %esi
  1269. movq %rax, %rdi
  1270. call _ZNK12OthelloBoard11type_to_strE9FieldType
  1271. movsbl %al, %ecx
  1272. movl -16(%rbp), %edx
  1273. movl -12(%rbp), %eax
  1274. movl %eax, %esi
  1275. movl $.LC8, %edi
  1276. movl $0, %eax
  1277. call printf
  1278. .L51:
  1279. movl $0, %eax
  1280. jmp .L49
  1281. .L50:
  1282. movl -16(%rbp), %edx
  1283. movl -12(%rbp), %esi
  1284. movq -8(%rbp), %rax
  1285. movl $0, %ecx
  1286. movq %rax, %rdi
  1287. call _ZNK12OthelloBoard18position_reachableEjj9direction
  1288. testb %al, %al
  1289. jne .L52
  1290. movl -16(%rbp), %edx
  1291. movl -12(%rbp), %esi
  1292. movq -8(%rbp), %rax
  1293. movl $1, %ecx
  1294. movq %rax, %rdi
  1295. call _ZNK12OthelloBoard18position_reachableEjj9direction
  1296. testb %al, %al
  1297. jne .L52
  1298. movl -16(%rbp), %edx
  1299. movl -12(%rbp), %esi
  1300. movq -8(%rbp), %rax
  1301. movl $2, %ecx
  1302. movq %rax, %rdi
  1303. call _ZNK12OthelloBoard18position_reachableEjj9direction
  1304. testb %al, %al
  1305. jne .L52
  1306. movl -16(%rbp), %edx
  1307. movl -12(%rbp), %esi
  1308. movq -8(%rbp), %rax
  1309. movl $3, %ecx
  1310. movq %rax, %rdi
  1311. call _ZNK12OthelloBoard18position_reachableEjj9direction
  1312. testb %al, %al
  1313. jne .L52
  1314. movl -16(%rbp), %edx
  1315. movl -12(%rbp), %esi
  1316. movq -8(%rbp), %rax
  1317. movl $4, %ecx
  1318. movq %rax, %rdi
  1319. call _ZNK12OthelloBoard18position_reachableEjj9direction
  1320. testb %al, %al
  1321. jne .L52
  1322. movl -16(%rbp), %edx
  1323. movl -12(%rbp), %esi
  1324. movq -8(%rbp), %rax
  1325. movl $5, %ecx
  1326. movq %rax, %rdi
  1327. call _ZNK12OthelloBoard18position_reachableEjj9direction
  1328. testb %al, %al
  1329. jne .L52
  1330. movl -16(%rbp), %edx
  1331. movl -12(%rbp), %esi
  1332. movq -8(%rbp), %rax
  1333. movl $6, %ecx
  1334. movq %rax, %rdi
  1335. call _ZNK12OthelloBoard18position_reachableEjj9direction
  1336. testb %al, %al
  1337. jne .L52
  1338. movl -16(%rbp), %edx
  1339. movl -12(%rbp), %esi
  1340. movq -8(%rbp), %rax
  1341. movl $7, %ecx
  1342. movq %rax, %rdi
  1343. call _ZNK12OthelloBoard18position_reachableEjj9direction
  1344. testb %al, %al
  1345. je .L53
  1346. .L52:
  1347. movl $1, %eax
  1348. jmp .L54
  1349. .L53:
  1350. movl $0, %eax
  1351. .L54:
  1352. testb %al, %al
  1353. je .L55
  1354. movl $1, %eax
  1355. jmp .L49
  1356. .L55:
  1357. movzbl -20(%rbp), %eax
  1358. xorl $1, %eax
  1359. testb %al, %al
  1360. je .L56
  1361. movl -16(%rbp), %edx
  1362. movl -12(%rbp), %eax
  1363. movl %eax, %esi
  1364. movl $.LC9, %edi
  1365. movl $0, %eax
  1366. call printf
  1367. movq -8(%rbp), %rax
  1368. movl 32(%rax), %edx
  1369. movq -8(%rbp), %rax
  1370. movl %edx, %esi
  1371. movq %rax, %rdi
  1372. call _ZNK12OthelloBoard11type_to_strE9FieldType
  1373. movsbl %al, %eax
  1374. movl %eax, %esi
  1375. movl $.LC10, %edi
  1376. movl $0, %eax
  1377. call printf
  1378. .L56:
  1379. movl $0, %eax
  1380. .L49:
  1381. leave
  1382. .cfi_def_cfa 7, 8
  1383. ret
  1384. .cfi_endproc
  1385. .LFE35:
  1386. .size _ZNK12OthelloBoard8validateEjjb, .-_ZNK12OthelloBoard8validateEjjb
  1387. .section .rodata
  1388. .align 64
  1389. .type _ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, @object
  1390. .size _ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__, 95
  1391. _ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE19__PRETTY_FUNCTION__:
  1392. .string "void OthelloBoard::setup_directions(unsigned int&, unsigned int&, int&, int&, direction) const"
  1393. .ident "GCC: (Debian 4.9.1-11) 4.9.1"
  1394. .section .note.GNU-stack,"",@progbits
  1395. #endif // x86/64
  1396. #endif // linux
  1397. #ifdef __APPLE__
  1398. #ifdef __i386__
  1399. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  1400. .align 1
  1401. .globl __ZNK12OthelloBoard4rowsEv
  1402. .weak_definition __ZNK12OthelloBoard4rowsEv
  1403. __ZNK12OthelloBoard4rowsEv:
  1404. LFB15:
  1405. pushl %ebp
  1406. LCFI0:
  1407. movl %esp, %ebp
  1408. LCFI1:
  1409. subl $8, %esp
  1410. LCFI2:
  1411. movl 8(%ebp), %eax
  1412. movl (%eax), %eax
  1413. leave
  1414. ret
  1415. LFE15:
  1416. .align 1
  1417. .globl __ZNK12OthelloBoard7columnsEv
  1418. .weak_definition __ZNK12OthelloBoard7columnsEv
  1419. __ZNK12OthelloBoard7columnsEv:
  1420. LFB16:
  1421. pushl %ebp
  1422. LCFI3:
  1423. movl %esp, %ebp
  1424. LCFI4:
  1425. subl $8, %esp
  1426. LCFI5:
  1427. movl 8(%ebp), %eax
  1428. movl 4(%eax), %eax
  1429. leave
  1430. ret
  1431. LFE16:
  1432. .align 1
  1433. .globl __ZNK12OthelloBoard3getEjj
  1434. .weak_definition __ZNK12OthelloBoard3getEjj
  1435. __ZNK12OthelloBoard3getEjj:
  1436. LFB26:
  1437. pushl %ebp
  1438. LCFI6:
  1439. movl %esp, %ebp
  1440. LCFI7:
  1441. pushl %edi
  1442. LCFI8:
  1443. pushl %esi
  1444. LCFI9:
  1445. subl $32, %esp
  1446. LCFI10:
  1447. cmpl $0, 12(%ebp)
  1448. je L6
  1449. cmpl $0, 16(%ebp)
  1450. je L6
  1451. movl 8(%ebp), %eax
  1452. movl %eax, (%esp)
  1453. call __ZNK12OthelloBoard4rowsEv
  1454. cmpl 12(%ebp), %eax
  1455. jb L6
  1456. movl 8(%ebp), %eax
  1457. movl %eax, (%esp)
  1458. call __ZNK12OthelloBoard7columnsEv
  1459. cmpl 16(%ebp), %eax
  1460. jae L10
  1461. L6:
  1462. movb $1, -13(%ebp)
  1463. jmp L11
  1464. L10:
  1465. movb $0, -13(%ebp)
  1466. L11:
  1467. movzbl -13(%ebp), %eax
  1468. testb %al, %al
  1469. je L12
  1470. movl $3, -12(%ebp)
  1471. jmp L14
  1472. L12:
  1473. movl 8(%ebp), %eax
  1474. movl 12(%eax), %eax
  1475. leal -4(%eax), %edi
  1476. movl 12(%ebp), %esi
  1477. decl %esi
  1478. movl 8(%ebp), %eax
  1479. movl %eax, (%esp)
  1480. call __ZNK12OthelloBoard7columnsEv
  1481. imull %esi, %eax
  1482. addl 16(%ebp), %eax
  1483. sall $2, %eax
  1484. leal (%edi,%eax), %eax
  1485. movl (%eax), %eax
  1486. movl %eax, -12(%ebp)
  1487. L14:
  1488. movl -12(%ebp), %eax
  1489. addl $32, %esp
  1490. popl %esi
  1491. popl %edi
  1492. leave
  1493. ret
  1494. LFE26:
  1495. .cstring
  1496. LC0:
  1497. .ascii "type %d\12\0"
  1498. LC1:
  1499. .ascii "false\0"
  1500. LC2:
  1501. .ascii "./board.h\0"
  1502. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  1503. .align 1
  1504. .globl __ZNK12OthelloBoard11type_to_strE9FieldType
  1505. .weak_definition __ZNK12OthelloBoard11type_to_strE9FieldType
  1506. __ZNK12OthelloBoard11type_to_strE9FieldType:
  1507. LFB32:
  1508. pushl %ebp
  1509. LCFI11:
  1510. movl %esp, %ebp
  1511. LCFI12:
  1512. pushl %ebx
  1513. LCFI13:
  1514. subl $36, %esp
  1515. LCFI14:
  1516. call L25
  1517. "L00000000001$pb":
  1518. L25:
  1519. popl %ebx
  1520. movl 12(%ebp), %eax
  1521. movl %eax, -16(%ebp)
  1522. cmpl $1, -16(%ebp)
  1523. je L19
  1524. cmpl $1, -16(%ebp)
  1525. jg L22
  1526. cmpl $0, -16(%ebp)
  1527. je L18
  1528. jmp L17
  1529. L22:
  1530. cmpl $2, -16(%ebp)
  1531. je L20
  1532. cmpl $3, -16(%ebp)
  1533. je L21
  1534. jmp L17
  1535. L18:
  1536. movl $46, -12(%ebp)
  1537. jmp L23
  1538. L19:
  1539. movl $79, -12(%ebp)
  1540. jmp L23
  1541. L20:
  1542. movl $88, -12(%ebp)
  1543. jmp L23
  1544. L21:
  1545. movl $47, -12(%ebp)
  1546. jmp L23
  1547. L17:
  1548. movl 12(%ebp), %eax
  1549. movl %eax, 4(%esp)
  1550. leal LC0-"L00000000001$pb"(%ebx), %eax
  1551. movl %eax, (%esp)
  1552. call _printf
  1553. leal LC1-"L00000000001$pb"(%ebx), %eax
  1554. movl %eax, 12(%esp)
  1555. movl $282, 8(%esp)
  1556. leal LC2-"L00000000001$pb"(%ebx), %eax
  1557. movl %eax, 4(%esp)
  1558. leal __ZZNK12OthelloBoard11type_to_strE9FieldTypeE8__func__-"L00000000001$pb"(%ebx), %eax
  1559. movl %eax, (%esp)
  1560. call ___assert_rtn
  1561. L23:
  1562. movl -12(%ebp), %eax
  1563. addl $36, %esp
  1564. popl %ebx
  1565. leave
  1566. ret
  1567. LFE32:
  1568. .cstring
  1569. LC3:
  1570. .ascii "row_idx > 0\0"
  1571. LC4:
  1572. .ascii "board_validate.cc\0"
  1573. LC5:
  1574. .ascii "row_idx <= rows()\0"
  1575. LC6:
  1576. .ascii "col_idx > 0\0"
  1577. LC7:
  1578. .ascii "col_idx <= columns()\0"
  1579. LC8:
  1580. .ascii "inc_row == 0\0"
  1581. LC9:
  1582. .ascii "inc_col == 0\0"
  1583. .text
  1584. .align 1,0x90
  1585. .globl __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  1586. __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction:
  1587. LFB35:
  1588. pushl %ebp
  1589. LCFI15:
  1590. movl %esp, %ebp
  1591. LCFI16:
  1592. pushl %esi
  1593. LCFI17:
  1594. pushl %ebx
  1595. LCFI18:
  1596. subl $32, %esp
  1597. LCFI19:
  1598. call L50
  1599. "L00000000002$pb":
  1600. L50:
  1601. popl %ebx
  1602. movl 12(%ebp), %eax
  1603. movl (%eax), %eax
  1604. testl %eax, %eax
  1605. sete %al
  1606. movzbl %al, %eax
  1607. testl %eax, %eax
  1608. je L27
  1609. leal LC3-"L00000000002$pb"(%ebx), %eax
  1610. movl %eax, 12(%esp)
  1611. movl $7, 8(%esp)
  1612. leal LC4-"L00000000002$pb"(%ebx), %eax
  1613. movl %eax, 4(%esp)
  1614. leal __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__-"L00000000002$pb"(%ebx), %eax
  1615. movl %eax, (%esp)
  1616. call ___assert_rtn
  1617. L27:
  1618. movl 12(%ebp), %eax
  1619. movl (%eax), %esi
  1620. movl 8(%ebp), %eax
  1621. movl %eax, (%esp)
  1622. call __ZNK12OthelloBoard4rowsEv
  1623. cmpl %eax, %esi
  1624. seta %al
  1625. movzbl %al, %eax
  1626. testl %eax, %eax
  1627. je L29
  1628. leal LC5-"L00000000002$pb"(%ebx), %eax
  1629. movl %eax, 12(%esp)
  1630. movl $8, 8(%esp)
  1631. leal LC4-"L00000000002$pb"(%ebx), %eax
  1632. movl %eax, 4(%esp)
  1633. leal __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__-"L00000000002$pb"(%ebx), %eax
  1634. movl %eax, (%esp)
  1635. call ___assert_rtn
  1636. L29:
  1637. movl 16(%ebp), %eax
  1638. movl (%eax), %eax
  1639. testl %eax, %eax
  1640. sete %al
  1641. movzbl %al, %eax
  1642. testl %eax, %eax
  1643. je L31
  1644. leal LC6-"L00000000002$pb"(%ebx), %eax
  1645. movl %eax, 12(%esp)
  1646. movl $9, 8(%esp)
  1647. leal LC4-"L00000000002$pb"(%ebx), %eax
  1648. movl %eax, 4(%esp)
  1649. leal __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__-"L00000000002$pb"(%ebx), %eax
  1650. movl %eax, (%esp)
  1651. call ___assert_rtn
  1652. L31:
  1653. movl 16(%ebp), %eax
  1654. movl (%eax), %esi
  1655. movl 8(%ebp), %eax
  1656. movl %eax, (%esp)
  1657. call __ZNK12OthelloBoard7columnsEv
  1658. cmpl %eax, %esi
  1659. seta %al
  1660. movzbl %al, %eax
  1661. testl %eax, %eax
  1662. je L33
  1663. leal LC7-"L00000000002$pb"(%ebx), %eax
  1664. movl %eax, 12(%esp)
  1665. movl $10, 8(%esp)
  1666. leal LC4-"L00000000002$pb"(%ebx), %eax
  1667. movl %eax, 4(%esp)
  1668. leal __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__-"L00000000002$pb"(%ebx), %eax
  1669. movl %eax, (%esp)
  1670. call ___assert_rtn
  1671. L33:
  1672. movl 20(%ebp), %eax
  1673. movl (%eax), %eax
  1674. testl %eax, %eax
  1675. setne %al
  1676. movzbl %al, %eax
  1677. testl %eax, %eax
  1678. je L35
  1679. leal LC8-"L00000000002$pb"(%ebx), %eax
  1680. movl %eax, 12(%esp)
  1681. movl $11, 8(%esp)
  1682. leal LC4-"L00000000002$pb"(%ebx), %eax
  1683. movl %eax, 4(%esp)
  1684. leal __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__-"L00000000002$pb"(%ebx), %eax
  1685. movl %eax, (%esp)
  1686. call ___assert_rtn
  1687. L35:
  1688. movl 24(%ebp), %eax
  1689. movl (%eax), %eax
  1690. testl %eax, %eax
  1691. setne %al
  1692. movzbl %al, %eax
  1693. testl %eax, %eax
  1694. je L37
  1695. leal LC9-"L00000000002$pb"(%ebx), %eax
  1696. movl %eax, 12(%esp)
  1697. movl $12, 8(%esp)
  1698. leal LC4-"L00000000002$pb"(%ebx), %eax
  1699. movl %eax, 4(%esp)
  1700. leal __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__-"L00000000002$pb"(%ebx), %eax
  1701. movl %eax, (%esp)
  1702. call ___assert_rtn
  1703. L37:
  1704. movl 28(%ebp), %eax
  1705. movl %eax, -12(%ebp)
  1706. cmpl $7, -12(%ebp)
  1707. ja L49
  1708. movl -12(%ebp), %edx
  1709. sall $2, %edx
  1710. leal L48-"L00000000002$pb"(%ebx), %eax
  1711. movl (%edx,%eax), %eax
  1712. addl %ebx, %eax
  1713. jmp *%eax
  1714. .align 2,0x90
  1715. L48:
  1716. .long L40-"L00000000002$pb"
  1717. .long L41-"L00000000002$pb"
  1718. .long L42-"L00000000002$pb"
  1719. .long L43-"L00000000002$pb"
  1720. .long L44-"L00000000002$pb"
  1721. .long L45-"L00000000002$pb"
  1722. .long L46-"L00000000002$pb"
  1723. .long L47-"L00000000002$pb"
  1724. L42:
  1725. movl 12(%ebp), %eax
  1726. movl (%eax), %eax
  1727. leal -1(%eax), %edx
  1728. movl 12(%ebp), %eax
  1729. movl %edx, (%eax)
  1730. movl 20(%ebp), %eax
  1731. movl $-1, (%eax)
  1732. jmp L49
  1733. L43:
  1734. movl 12(%ebp), %eax
  1735. movl (%eax), %eax
  1736. leal 1(%eax), %edx
  1737. movl 12(%ebp), %eax
  1738. movl %edx, (%eax)
  1739. movl 20(%ebp), %eax
  1740. movl $1, (%eax)
  1741. jmp L49
  1742. L40:
  1743. movl 16(%ebp), %eax
  1744. movl (%eax), %eax
  1745. leal -1(%eax), %edx
  1746. movl 16(%ebp), %eax
  1747. movl %edx, (%eax)
  1748. movl 24(%ebp), %eax
  1749. movl $-1, (%eax)
  1750. jmp L49
  1751. L41:
  1752. movl 16(%ebp), %eax
  1753. movl (%eax), %eax
  1754. leal 1(%eax), %edx
  1755. movl 16(%ebp), %eax
  1756. movl %edx, (%eax)
  1757. movl 24(%ebp), %eax
  1758. movl $1, (%eax)
  1759. jmp L49
  1760. L44:
  1761. movl 12(%ebp), %eax
  1762. movl (%eax), %eax
  1763. leal -1(%eax), %edx
  1764. movl 12(%ebp), %eax
  1765. movl %edx, (%eax)
  1766. movl 16(%ebp), %eax
  1767. movl (%eax), %eax
  1768. leal -1(%eax), %edx
  1769. movl 16(%ebp), %eax
  1770. movl %edx, (%eax)
  1771. movl 20(%ebp), %eax
  1772. movl $-1, (%eax)
  1773. movl 24(%ebp), %eax
  1774. movl $-1, (%eax)
  1775. jmp L49
  1776. L45:
  1777. movl 12(%ebp), %eax
  1778. movl (%eax), %eax
  1779. leal -1(%eax), %edx
  1780. movl 12(%ebp), %eax
  1781. movl %edx, (%eax)
  1782. movl 16(%ebp), %eax
  1783. movl (%eax), %eax
  1784. leal 1(%eax), %edx
  1785. movl 16(%ebp), %eax
  1786. movl %edx, (%eax)
  1787. movl 20(%ebp), %eax
  1788. movl $-1, (%eax)
  1789. movl 24(%ebp), %eax
  1790. movl $1, (%eax)
  1791. jmp L49
  1792. L46:
  1793. movl 12(%ebp), %eax
  1794. movl (%eax), %eax
  1795. leal 1(%eax), %edx
  1796. movl 12(%ebp), %eax
  1797. movl %edx, (%eax)
  1798. movl 16(%ebp), %eax
  1799. movl (%eax), %eax
  1800. leal -1(%eax), %edx
  1801. movl 16(%ebp), %eax
  1802. movl %edx, (%eax)
  1803. movl 20(%ebp), %eax
  1804. movl $1, (%eax)
  1805. movl 24(%ebp), %eax
  1806. movl $-1, (%eax)
  1807. jmp L49
  1808. L47:
  1809. movl 12(%ebp), %eax
  1810. movl (%eax), %eax
  1811. leal 1(%eax), %edx
  1812. movl 12(%ebp), %eax
  1813. movl %edx, (%eax)
  1814. movl 16(%ebp), %eax
  1815. movl (%eax), %eax
  1816. leal 1(%eax), %edx
  1817. movl 16(%ebp), %eax
  1818. movl %edx, (%eax)
  1819. movl 20(%ebp), %eax
  1820. movl $1, (%eax)
  1821. movl 24(%ebp), %eax
  1822. movl $1, (%eax)
  1823. L49:
  1824. addl $32, %esp
  1825. popl %ebx
  1826. popl %esi
  1827. leave
  1828. ret
  1829. LFE35:
  1830. .align 1,0x90
  1831. .globl __ZNK12OthelloBoard18position_reachableEjj9direction
  1832. __ZNK12OthelloBoard18position_reachableEjj9direction:
  1833. LFB36:
  1834. pushl %ebp
  1835. LCFI20:
  1836. movl %esp, %ebp
  1837. LCFI21:
  1838. subl $88, %esp
  1839. LCFI22:
  1840. movl 12(%ebp), %eax
  1841. movl %eax, -12(%ebp)
  1842. movl 16(%ebp), %eax
  1843. movl %eax, -16(%ebp)
  1844. movl $0, -20(%ebp)
  1845. movl $0, -24(%ebp)
  1846. movl $1, -28(%ebp)
  1847. movl 20(%ebp), %eax
  1848. movl %eax, 20(%esp)
  1849. leal -24(%ebp), %eax
  1850. movl %eax, 16(%esp)
  1851. leal -20(%ebp), %eax
  1852. movl %eax, 12(%esp)
  1853. leal -16(%ebp), %eax
  1854. movl %eax, 8(%esp)
  1855. leal -12(%ebp), %eax
  1856. movl %eax, 4(%esp)
  1857. movl 8(%ebp), %eax
  1858. movl %eax, (%esp)
  1859. call __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  1860. movl -16(%ebp), %eax
  1861. movl -12(%ebp), %edx
  1862. movl %eax, 8(%esp)
  1863. movl %edx, 4(%esp)
  1864. movl 8(%ebp), %eax
  1865. movl %eax, (%esp)
  1866. call __ZNK12OthelloBoard3getEjj
  1867. movl %eax, -32(%ebp)
  1868. jmp L52
  1869. L53:
  1870. movl -16(%ebp), %edx
  1871. movl -24(%ebp), %eax
  1872. leal (%edx,%eax), %eax
  1873. movl %eax, -16(%ebp)
  1874. movl -12(%ebp), %edx
  1875. movl -20(%ebp), %eax
  1876. leal (%edx,%eax), %eax
  1877. movl %eax, -12(%ebp)
  1878. movl -16(%ebp), %eax
  1879. movl -12(%ebp), %edx
  1880. movl %eax, 8(%esp)
  1881. movl %edx, 4(%esp)
  1882. movl 8(%ebp), %eax
  1883. movl %eax, (%esp)
  1884. call __ZNK12OthelloBoard3getEjj
  1885. movl %eax, -32(%ebp)
  1886. incl -28(%ebp)
  1887. L52:
  1888. cmpl $0, -32(%ebp)
  1889. je L54
  1890. movl -32(%ebp), %edx
  1891. movl 8(%ebp), %eax
  1892. movl 16(%eax), %eax
  1893. cmpl %eax, %edx
  1894. je L54
  1895. cmpl $3, -32(%ebp)
  1896. jne L53
  1897. L54:
  1898. cmpl $1, -28(%ebp)
  1899. jbe L57
  1900. movl -32(%ebp), %edx
  1901. movl 8(%ebp), %eax
  1902. movl 16(%eax), %eax
  1903. cmpl %eax, %edx
  1904. jne L57
  1905. movb $1, -41(%ebp)
  1906. jmp L60
  1907. L57:
  1908. movb $0, -41(%ebp)
  1909. L60:
  1910. movzbl -41(%ebp), %eax
  1911. leave
  1912. ret
  1913. LFE36:
  1914. .cstring
  1915. .align 2
  1916. LC10:
  1917. .ascii "Coordinates (r=%d, c=%d) out of bounds.\12\0"
  1918. .align 2
  1919. LC11:
  1920. .ascii "Field @ (r=%d, c=%d) is occupied by %c\12\0"
  1921. .align 2
  1922. LC12:
  1923. .ascii "Position (r=%d, c=%d) not reachable by a stone \0"
  1924. LC13:
  1925. .ascii "of type %c.\12\0"
  1926. .text
  1927. .align 1,0x90
  1928. .globl __ZNK12OthelloBoard8validateEjjb
  1929. __ZNK12OthelloBoard8validateEjjb:
  1930. LFB37:
  1931. pushl %ebp
  1932. LCFI23:
  1933. movl %esp, %ebp
  1934. LCFI24:
  1935. pushl %ebx
  1936. LCFI25:
  1937. subl $36, %esp
  1938. LCFI26:
  1939. call L93
  1940. "L00000000003$pb":
  1941. L93:
  1942. popl %ebx
  1943. movl 20(%ebp), %eax
  1944. movb %al, -12(%ebp)
  1945. cmpl $0, 12(%ebp)
  1946. je L63
  1947. movl 8(%ebp), %eax
  1948. movl %eax, (%esp)
  1949. call __ZNK12OthelloBoard4rowsEv
  1950. cmpl 12(%ebp), %eax
  1951. jb L63
  1952. cmpl $0, 16(%ebp)
  1953. je L63
  1954. movl 8(%ebp), %eax
  1955. movl %eax, (%esp)
  1956. call __ZNK12OthelloBoard7columnsEv
  1957. cmpl 16(%ebp), %eax
  1958. jae L67
  1959. L63:
  1960. movb $1, -21(%ebp)
  1961. jmp L68
  1962. L67:
  1963. movb $0, -21(%ebp)
  1964. L68:
  1965. movzbl -21(%ebp), %eax
  1966. testb %al, %al
  1967. je L69
  1968. movzbl -12(%ebp), %eax
  1969. xorl $1, %eax
  1970. testb %al, %al
  1971. je L71
  1972. movl 16(%ebp), %eax
  1973. movl %eax, 8(%esp)
  1974. movl 12(%ebp), %eax
  1975. movl %eax, 4(%esp)
  1976. leal LC10-"L00000000003$pb"(%ebx), %eax
  1977. movl %eax, (%esp)
  1978. call _printf
  1979. L71:
  1980. movl $0, -20(%ebp)
  1981. jmp L73
  1982. L69:
  1983. movl 16(%ebp), %eax
  1984. movl %eax, 8(%esp)
  1985. movl 12(%ebp), %eax
  1986. movl %eax, 4(%esp)
  1987. movl 8(%ebp), %eax
  1988. movl %eax, (%esp)
  1989. call __ZNK12OthelloBoard3getEjj
  1990. testl %eax, %eax
  1991. setne %al
  1992. testb %al, %al
  1993. je L74
  1994. movzbl -12(%ebp), %eax
  1995. xorl $1, %eax
  1996. testb %al, %al
  1997. je L76
  1998. movl 16(%ebp), %eax
  1999. movl %eax, 8(%esp)
  2000. movl 12(%ebp), %eax
  2001. movl %eax, 4(%esp)
  2002. movl 8(%ebp), %eax
  2003. movl %eax, (%esp)
  2004. call __ZNK12OthelloBoard3getEjj
  2005. movl %eax, 4(%esp)
  2006. movl 8(%ebp), %eax
  2007. movl %eax, (%esp)
  2008. call __ZNK12OthelloBoard11type_to_strE9FieldType
  2009. movsbl %al,%eax
  2010. movl %eax, 12(%esp)
  2011. movl 16(%ebp), %eax
  2012. movl %eax, 8(%esp)
  2013. movl 12(%ebp), %eax
  2014. movl %eax, 4(%esp)
  2015. leal LC11-"L00000000003$pb"(%ebx), %eax
  2016. movl %eax, (%esp)
  2017. call _printf
  2018. L76:
  2019. movl $0, -20(%ebp)
  2020. jmp L73
  2021. L74:
  2022. movl $0, 12(%esp)
  2023. movl 16(%ebp), %eax
  2024. movl %eax, 8(%esp)
  2025. movl 12(%ebp), %eax
  2026. movl %eax, 4(%esp)
  2027. movl 8(%ebp), %eax
  2028. movl %eax, (%esp)
  2029. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2030. testb %al, %al
  2031. jne L78
  2032. movl $1, 12(%esp)
  2033. movl 16(%ebp), %eax
  2034. movl %eax, 8(%esp)
  2035. movl 12(%ebp), %eax
  2036. movl %eax, 4(%esp)
  2037. movl 8(%ebp), %eax
  2038. movl %eax, (%esp)
  2039. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2040. testb %al, %al
  2041. jne L78
  2042. movl $2, 12(%esp)
  2043. movl 16(%ebp), %eax
  2044. movl %eax, 8(%esp)
  2045. movl 12(%ebp), %eax
  2046. movl %eax, 4(%esp)
  2047. movl 8(%ebp), %eax
  2048. movl %eax, (%esp)
  2049. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2050. testb %al, %al
  2051. jne L78
  2052. movl $3, 12(%esp)
  2053. movl 16(%ebp), %eax
  2054. movl %eax, 8(%esp)
  2055. movl 12(%ebp), %eax
  2056. movl %eax, 4(%esp)
  2057. movl 8(%ebp), %eax
  2058. movl %eax, (%esp)
  2059. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2060. testb %al, %al
  2061. jne L78
  2062. movl $4, 12(%esp)
  2063. movl 16(%ebp), %eax
  2064. movl %eax, 8(%esp)
  2065. movl 12(%ebp), %eax
  2066. movl %eax, 4(%esp)
  2067. movl 8(%ebp), %eax
  2068. movl %eax, (%esp)
  2069. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2070. testb %al, %al
  2071. jne L78
  2072. movl $5, 12(%esp)
  2073. movl 16(%ebp), %eax
  2074. movl %eax, 8(%esp)
  2075. movl 12(%ebp), %eax
  2076. movl %eax, 4(%esp)
  2077. movl 8(%ebp), %eax
  2078. movl %eax, (%esp)
  2079. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2080. testb %al, %al
  2081. jne L78
  2082. movl $6, 12(%esp)
  2083. movl 16(%ebp), %eax
  2084. movl %eax, 8(%esp)
  2085. movl 12(%ebp), %eax
  2086. movl %eax, 4(%esp)
  2087. movl 8(%ebp), %eax
  2088. movl %eax, (%esp)
  2089. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2090. testb %al, %al
  2091. jne L78
  2092. movl $7, 12(%esp)
  2093. movl 16(%ebp), %eax
  2094. movl %eax, 8(%esp)
  2095. movl 12(%ebp), %eax
  2096. movl %eax, 4(%esp)
  2097. movl 8(%ebp), %eax
  2098. movl %eax, (%esp)
  2099. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2100. testb %al, %al
  2101. je L86
  2102. L78:
  2103. movb $1, -13(%ebp)
  2104. jmp L87
  2105. L86:
  2106. movb $0, -13(%ebp)
  2107. L87:
  2108. movzbl -13(%ebp), %eax
  2109. testb %al, %al
  2110. je L88
  2111. movl $1, -20(%ebp)
  2112. jmp L73
  2113. L88:
  2114. movzbl -12(%ebp), %eax
  2115. xorl $1, %eax
  2116. testb %al, %al
  2117. je L90
  2118. movl 16(%ebp), %eax
  2119. movl %eax, 8(%esp)
  2120. movl 12(%ebp), %eax
  2121. movl %eax, 4(%esp)
  2122. leal LC12-"L00000000003$pb"(%ebx), %eax
  2123. movl %eax, (%esp)
  2124. call _printf
  2125. movl 8(%ebp), %eax
  2126. movl 16(%eax), %eax
  2127. movl %eax, 4(%esp)
  2128. movl 8(%ebp), %eax
  2129. movl %eax, (%esp)
  2130. call __ZNK12OthelloBoard11type_to_strE9FieldType
  2131. movsbl %al,%eax
  2132. movl %eax, 4(%esp)
  2133. leal LC13-"L00000000003$pb"(%ebx), %eax
  2134. movl %eax, (%esp)
  2135. call _printf
  2136. L90:
  2137. movl $0, -20(%ebp)
  2138. L73:
  2139. movl -20(%ebp), %eax
  2140. addl $36, %esp
  2141. popl %ebx
  2142. leave
  2143. ret
  2144. LFE37:
  2145. .cstring
  2146. __ZZNK12OthelloBoard11type_to_strE9FieldTypeE8__func__:
  2147. .ascii "type_to_str\0"
  2148. __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__:
  2149. .ascii "setup_directions\0"
  2150. .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
  2151. EH_frame1:
  2152. .set L$set$0,LECIE1-LSCIE1
  2153. .long L$set$0
  2154. LSCIE1:
  2155. .long 0x0
  2156. .byte 0x1
  2157. .ascii "zPR\0"
  2158. .byte 0x1
  2159. .byte 0x7c
  2160. .byte 0x8
  2161. .byte 0x6
  2162. .byte 0x9b
  2163. .long L___gxx_personality_v0$non_lazy_ptr-.
  2164. .byte 0x10
  2165. .byte 0xc
  2166. .byte 0x5
  2167. .byte 0x4
  2168. .byte 0x88
  2169. .byte 0x1
  2170. .align 2
  2171. LECIE1:
  2172. .globl __ZNK12OthelloBoard4rowsEv.eh
  2173. .weak_definition __ZNK12OthelloBoard4rowsEv.eh
  2174. __ZNK12OthelloBoard4rowsEv.eh:
  2175. LSFDE1:
  2176. .set L$set$1,LEFDE1-LASFDE1
  2177. .long L$set$1
  2178. LASFDE1:
  2179. .long LASFDE1-EH_frame1
  2180. .long LFB15-.
  2181. .set L$set$2,LFE15-LFB15
  2182. .long L$set$2
  2183. .byte 0x0
  2184. .byte 0x4
  2185. .set L$set$3,LCFI0-LFB15
  2186. .long L$set$3
  2187. .byte 0xe
  2188. .byte 0x8
  2189. .byte 0x84
  2190. .byte 0x2
  2191. .byte 0x4
  2192. .set L$set$4,LCFI1-LCFI0
  2193. .long L$set$4
  2194. .byte 0xd
  2195. .byte 0x4
  2196. .align 2
  2197. LEFDE1:
  2198. .globl __ZNK12OthelloBoard7columnsEv.eh
  2199. .weak_definition __ZNK12OthelloBoard7columnsEv.eh
  2200. __ZNK12OthelloBoard7columnsEv.eh:
  2201. LSFDE3:
  2202. .set L$set$5,LEFDE3-LASFDE3
  2203. .long L$set$5
  2204. LASFDE3:
  2205. .long LASFDE3-EH_frame1
  2206. .long LFB16-.
  2207. .set L$set$6,LFE16-LFB16
  2208. .long L$set$6
  2209. .byte 0x0
  2210. .byte 0x4
  2211. .set L$set$7,LCFI3-LFB16
  2212. .long L$set$7
  2213. .byte 0xe
  2214. .byte 0x8
  2215. .byte 0x84
  2216. .byte 0x2
  2217. .byte 0x4
  2218. .set L$set$8,LCFI4-LCFI3
  2219. .long L$set$8
  2220. .byte 0xd
  2221. .byte 0x4
  2222. .align 2
  2223. LEFDE3:
  2224. .globl __ZNK12OthelloBoard3getEjj.eh
  2225. .weak_definition __ZNK12OthelloBoard3getEjj.eh
  2226. __ZNK12OthelloBoard3getEjj.eh:
  2227. LSFDE5:
  2228. .set L$set$9,LEFDE5-LASFDE5
  2229. .long L$set$9
  2230. LASFDE5:
  2231. .long LASFDE5-EH_frame1
  2232. .long LFB26-.
  2233. .set L$set$10,LFE26-LFB26
  2234. .long L$set$10
  2235. .byte 0x0
  2236. .byte 0x4
  2237. .set L$set$11,LCFI6-LFB26
  2238. .long L$set$11
  2239. .byte 0xe
  2240. .byte 0x8
  2241. .byte 0x84
  2242. .byte 0x2
  2243. .byte 0x4
  2244. .set L$set$12,LCFI7-LCFI6
  2245. .long L$set$12
  2246. .byte 0xd
  2247. .byte 0x4
  2248. .byte 0x4
  2249. .set L$set$13,LCFI10-LCFI7
  2250. .long L$set$13
  2251. .byte 0x86
  2252. .byte 0x4
  2253. .byte 0x87
  2254. .byte 0x3
  2255. .align 2
  2256. LEFDE5:
  2257. .globl __ZNK12OthelloBoard11type_to_strE9FieldType.eh
  2258. .weak_definition __ZNK12OthelloBoard11type_to_strE9FieldType.eh
  2259. __ZNK12OthelloBoard11type_to_strE9FieldType.eh:
  2260. LSFDE7:
  2261. .set L$set$14,LEFDE7-LASFDE7
  2262. .long L$set$14
  2263. LASFDE7:
  2264. .long LASFDE7-EH_frame1
  2265. .long LFB32-.
  2266. .set L$set$15,LFE32-LFB32
  2267. .long L$set$15
  2268. .byte 0x0
  2269. .byte 0x4
  2270. .set L$set$16,LCFI11-LFB32
  2271. .long L$set$16
  2272. .byte 0xe
  2273. .byte 0x8
  2274. .byte 0x84
  2275. .byte 0x2
  2276. .byte 0x4
  2277. .set L$set$17,LCFI12-LCFI11
  2278. .long L$set$17
  2279. .byte 0xd
  2280. .byte 0x4
  2281. .byte 0x4
  2282. .set L$set$18,LCFI14-LCFI12
  2283. .long L$set$18
  2284. .byte 0x83
  2285. .byte 0x3
  2286. .align 2
  2287. LEFDE7:
  2288. .globl __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction.eh
  2289. __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction.eh:
  2290. LSFDE9:
  2291. .set L$set$19,LEFDE9-LASFDE9
  2292. .long L$set$19
  2293. LASFDE9:
  2294. .long LASFDE9-EH_frame1
  2295. .long LFB35-.
  2296. .set L$set$20,LFE35-LFB35
  2297. .long L$set$20
  2298. .byte 0x0
  2299. .byte 0x4
  2300. .set L$set$21,LCFI15-LFB35
  2301. .long L$set$21
  2302. .byte 0xe
  2303. .byte 0x8
  2304. .byte 0x84
  2305. .byte 0x2
  2306. .byte 0x4
  2307. .set L$set$22,LCFI16-LCFI15
  2308. .long L$set$22
  2309. .byte 0xd
  2310. .byte 0x4
  2311. .byte 0x4
  2312. .set L$set$23,LCFI19-LCFI16
  2313. .long L$set$23
  2314. .byte 0x83
  2315. .byte 0x4
  2316. .byte 0x86
  2317. .byte 0x3
  2318. .align 2
  2319. LEFDE9:
  2320. .globl __ZNK12OthelloBoard18position_reachableEjj9direction.eh
  2321. __ZNK12OthelloBoard18position_reachableEjj9direction.eh:
  2322. LSFDE11:
  2323. .set L$set$24,LEFDE11-LASFDE11
  2324. .long L$set$24
  2325. LASFDE11:
  2326. .long LASFDE11-EH_frame1
  2327. .long LFB36-.
  2328. .set L$set$25,LFE36-LFB36
  2329. .long L$set$25
  2330. .byte 0x0
  2331. .byte 0x4
  2332. .set L$set$26,LCFI20-LFB36
  2333. .long L$set$26
  2334. .byte 0xe
  2335. .byte 0x8
  2336. .byte 0x84
  2337. .byte 0x2
  2338. .byte 0x4
  2339. .set L$set$27,LCFI21-LCFI20
  2340. .long L$set$27
  2341. .byte 0xd
  2342. .byte 0x4
  2343. .align 2
  2344. LEFDE11:
  2345. .globl __ZNK12OthelloBoard8validateEjjb.eh
  2346. __ZNK12OthelloBoard8validateEjjb.eh:
  2347. LSFDE13:
  2348. .set L$set$28,LEFDE13-LASFDE13
  2349. .long L$set$28
  2350. LASFDE13:
  2351. .long LASFDE13-EH_frame1
  2352. .long LFB37-.
  2353. .set L$set$29,LFE37-LFB37
  2354. .long L$set$29
  2355. .byte 0x0
  2356. .byte 0x4
  2357. .set L$set$30,LCFI23-LFB37
  2358. .long L$set$30
  2359. .byte 0xe
  2360. .byte 0x8
  2361. .byte 0x84
  2362. .byte 0x2
  2363. .byte 0x4
  2364. .set L$set$31,LCFI24-LCFI23
  2365. .long L$set$31
  2366. .byte 0xd
  2367. .byte 0x4
  2368. .byte 0x4
  2369. .set L$set$32,LCFI26-LCFI24
  2370. .long L$set$32
  2371. .byte 0x83
  2372. .byte 0x3
  2373. .align 2
  2374. LEFDE13:
  2375. .section __IMPORT,__pointers,non_lazy_symbol_pointers
  2376. L___gxx_personality_v0$non_lazy_ptr:
  2377. .indirect_symbol ___gxx_personality_v0
  2378. .long 0
  2379. .constructor
  2380. .destructor
  2381. .align 1
  2382. .subsections_via_symbols
  2383. #endif // x86/32
  2384. #ifdef __x86_64__
  2385. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  2386. .align 1
  2387. .globl __ZNK12OthelloBoard4rowsEv
  2388. .weak_definition __ZNK12OthelloBoard4rowsEv
  2389. __ZNK12OthelloBoard4rowsEv:
  2390. LFB15:
  2391. pushq %rbp
  2392. LCFI0:
  2393. movq %rsp, %rbp
  2394. LCFI1:
  2395. movq %rdi, -8(%rbp)
  2396. movq -8(%rbp), %rax
  2397. movl (%rax), %eax
  2398. leave
  2399. ret
  2400. LFE15:
  2401. .align 1
  2402. .globl __ZNK12OthelloBoard7columnsEv
  2403. .weak_definition __ZNK12OthelloBoard7columnsEv
  2404. __ZNK12OthelloBoard7columnsEv:
  2405. LFB16:
  2406. pushq %rbp
  2407. LCFI2:
  2408. movq %rsp, %rbp
  2409. LCFI3:
  2410. movq %rdi, -8(%rbp)
  2411. movq -8(%rbp), %rax
  2412. movl 4(%rax), %eax
  2413. leave
  2414. ret
  2415. LFE16:
  2416. .align 1
  2417. .globl __ZNK12OthelloBoard3getEjj
  2418. .weak_definition __ZNK12OthelloBoard3getEjj
  2419. __ZNK12OthelloBoard3getEjj:
  2420. LFB26:
  2421. pushq %rbp
  2422. LCFI4:
  2423. movq %rsp, %rbp
  2424. LCFI5:
  2425. pushq %r12
  2426. LCFI6:
  2427. pushq %rbx
  2428. LCFI7:
  2429. subq $32, %rsp
  2430. LCFI8:
  2431. movq %rdi, -24(%rbp)
  2432. movl %esi, -28(%rbp)
  2433. movl %edx, -32(%rbp)
  2434. cmpl $0, -28(%rbp)
  2435. je L6
  2436. cmpl $0, -32(%rbp)
  2437. je L6
  2438. movq -24(%rbp), %rdi
  2439. call __ZNK12OthelloBoard4rowsEv
  2440. cmpl -28(%rbp), %eax
  2441. jb L6
  2442. movq -24(%rbp), %rdi
  2443. call __ZNK12OthelloBoard7columnsEv
  2444. cmpl -32(%rbp), %eax
  2445. jae L10
  2446. L6:
  2447. movb $1, -37(%rbp)
  2448. jmp L11
  2449. L10:
  2450. movb $0, -37(%rbp)
  2451. L11:
  2452. movzbl -37(%rbp), %eax
  2453. testb %al, %al
  2454. je L12
  2455. movl $3, -36(%rbp)
  2456. jmp L14
  2457. L12:
  2458. movq -24(%rbp), %rax
  2459. movq 16(%rax), %r12
  2460. movl -28(%rbp), %ebx
  2461. decl %ebx
  2462. movq -24(%rbp), %rdi
  2463. call __ZNK12OthelloBoard7columnsEv
  2464. imull %ebx, %eax
  2465. addl -32(%rbp), %eax
  2466. decl %eax
  2467. mov %eax, %eax
  2468. salq $2, %rax
  2469. leaq (%r12,%rax), %rax
  2470. movl (%rax), %eax
  2471. movl %eax, -36(%rbp)
  2472. L14:
  2473. movl -36(%rbp), %eax
  2474. addq $32, %rsp
  2475. popq %rbx
  2476. popq %r12
  2477. leave
  2478. ret
  2479. LFE26:
  2480. .cstring
  2481. LC0:
  2482. .ascii "type %d\12\0"
  2483. LC1:
  2484. .ascii "false\0"
  2485. LC2:
  2486. .ascii "./board.h\0"
  2487. .section __TEXT,__textcoal_nt,coalesced,pure_instructions
  2488. .align 1
  2489. .globl __ZNK12OthelloBoard11type_to_strE9FieldType
  2490. .weak_definition __ZNK12OthelloBoard11type_to_strE9FieldType
  2491. __ZNK12OthelloBoard11type_to_strE9FieldType:
  2492. LFB32:
  2493. pushq %rbp
  2494. LCFI9:
  2495. movq %rsp, %rbp
  2496. LCFI10:
  2497. subq $32, %rsp
  2498. LCFI11:
  2499. movq %rdi, -8(%rbp)
  2500. movl %esi, -12(%rbp)
  2501. movl -12(%rbp), %eax
  2502. movl %eax, -20(%rbp)
  2503. cmpl $1, -20(%rbp)
  2504. je L19
  2505. cmpl $1, -20(%rbp)
  2506. jg L22
  2507. cmpl $0, -20(%rbp)
  2508. je L18
  2509. jmp L17
  2510. L22:
  2511. cmpl $2, -20(%rbp)
  2512. je L20
  2513. cmpl $3, -20(%rbp)
  2514. je L21
  2515. jmp L17
  2516. L18:
  2517. movl $46, -16(%rbp)
  2518. jmp L23
  2519. L19:
  2520. movl $79, -16(%rbp)
  2521. jmp L23
  2522. L20:
  2523. movl $88, -16(%rbp)
  2524. jmp L23
  2525. L21:
  2526. movl $47, -16(%rbp)
  2527. jmp L23
  2528. L17:
  2529. movl -12(%rbp), %esi
  2530. leaq LC0(%rip), %rdi
  2531. movl $0, %eax
  2532. call _printf
  2533. leaq LC1(%rip), %rcx
  2534. movl $282, %edx
  2535. leaq LC2(%rip), %rsi
  2536. leaq __ZZNK12OthelloBoard11type_to_strE9FieldTypeE8__func__(%rip), %rdi
  2537. call ___assert_rtn
  2538. L23:
  2539. movl -16(%rbp), %eax
  2540. leave
  2541. ret
  2542. LFE32:
  2543. .cstring
  2544. LC3:
  2545. .ascii "row_idx > 0\0"
  2546. LC4:
  2547. .ascii "board_validate.cc\0"
  2548. LC5:
  2549. .ascii "row_idx <= rows()\0"
  2550. LC6:
  2551. .ascii "col_idx > 0\0"
  2552. LC7:
  2553. .ascii "col_idx <= columns()\0"
  2554. LC8:
  2555. .ascii "inc_row == 0\0"
  2556. LC9:
  2557. .ascii "inc_col == 0\0"
  2558. .text
  2559. .align 1,0x90
  2560. .globl __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  2561. __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction:
  2562. LFB35:
  2563. pushq %rbp
  2564. LCFI12:
  2565. movq %rsp, %rbp
  2566. LCFI13:
  2567. pushq %rbx
  2568. LCFI14:
  2569. subq $56, %rsp
  2570. LCFI15:
  2571. movq %rdi, -24(%rbp)
  2572. movq %rsi, -32(%rbp)
  2573. movq %rdx, -40(%rbp)
  2574. movq %rcx, -48(%rbp)
  2575. movq %r8, -56(%rbp)
  2576. movl %r9d, -60(%rbp)
  2577. movq -32(%rbp), %rax
  2578. movl (%rax), %eax
  2579. testl %eax, %eax
  2580. sete %al
  2581. movzbl %al, %eax
  2582. testq %rax, %rax
  2583. je L26
  2584. leaq LC3(%rip), %rcx
  2585. movl $7, %edx
  2586. leaq LC4(%rip), %rsi
  2587. leaq __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__(%rip), %rdi
  2588. call ___assert_rtn
  2589. L26:
  2590. movq -32(%rbp), %rax
  2591. movl (%rax), %ebx
  2592. movq -24(%rbp), %rdi
  2593. call __ZNK12OthelloBoard4rowsEv
  2594. cmpl %eax, %ebx
  2595. seta %al
  2596. movzbl %al, %eax
  2597. testq %rax, %rax
  2598. je L28
  2599. leaq LC5(%rip), %rcx
  2600. movl $8, %edx
  2601. leaq LC4(%rip), %rsi
  2602. leaq __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__(%rip), %rdi
  2603. call ___assert_rtn
  2604. L28:
  2605. movq -40(%rbp), %rax
  2606. movl (%rax), %eax
  2607. testl %eax, %eax
  2608. sete %al
  2609. movzbl %al, %eax
  2610. testq %rax, %rax
  2611. je L30
  2612. leaq LC6(%rip), %rcx
  2613. movl $9, %edx
  2614. leaq LC4(%rip), %rsi
  2615. leaq __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__(%rip), %rdi
  2616. call ___assert_rtn
  2617. L30:
  2618. movq -40(%rbp), %rax
  2619. movl (%rax), %ebx
  2620. movq -24(%rbp), %rdi
  2621. call __ZNK12OthelloBoard7columnsEv
  2622. cmpl %eax, %ebx
  2623. seta %al
  2624. movzbl %al, %eax
  2625. testq %rax, %rax
  2626. je L32
  2627. leaq LC7(%rip), %rcx
  2628. movl $10, %edx
  2629. leaq LC4(%rip), %rsi
  2630. leaq __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__(%rip), %rdi
  2631. call ___assert_rtn
  2632. L32:
  2633. movq -48(%rbp), %rax
  2634. movl (%rax), %eax
  2635. testl %eax, %eax
  2636. setne %al
  2637. movzbl %al, %eax
  2638. testq %rax, %rax
  2639. je L34
  2640. leaq LC8(%rip), %rcx
  2641. movl $11, %edx
  2642. leaq LC4(%rip), %rsi
  2643. leaq __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__(%rip), %rdi
  2644. call ___assert_rtn
  2645. L34:
  2646. movq -56(%rbp), %rax
  2647. movl (%rax), %eax
  2648. testl %eax, %eax
  2649. setne %al
  2650. movzbl %al, %eax
  2651. testq %rax, %rax
  2652. je L36
  2653. leaq LC9(%rip), %rcx
  2654. movl $12, %edx
  2655. leaq LC4(%rip), %rsi
  2656. leaq __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__(%rip), %rdi
  2657. call ___assert_rtn
  2658. L36:
  2659. movl -60(%rbp), %eax
  2660. movl %eax, -64(%rbp)
  2661. cmpl $7, -64(%rbp)
  2662. ja L48
  2663. mov -64(%rbp), %eax
  2664. leaq 0(,%rax,4), %rdx
  2665. leaq L47(%rip), %rax
  2666. leaq (%rdx,%rax), %rax
  2667. movl (%rax), %eax
  2668. movslq %eax,%rdx
  2669. leaq L47(%rip), %rax
  2670. leaq (%rdx,%rax), %rax
  2671. jmp *%rax
  2672. .align 2,0x90
  2673. L47:
  2674. .long L39-L47
  2675. .long L40-L47
  2676. .long L41-L47
  2677. .long L42-L47
  2678. .long L43-L47
  2679. .long L44-L47
  2680. .long L45-L47
  2681. .long L46-L47
  2682. L41:
  2683. movq -32(%rbp), %rax
  2684. movl (%rax), %eax
  2685. leal -1(%rax), %edx
  2686. movq -32(%rbp), %rax
  2687. movl %edx, (%rax)
  2688. movq -48(%rbp), %rax
  2689. movl $-1, (%rax)
  2690. jmp L48
  2691. L42:
  2692. movq -32(%rbp), %rax
  2693. movl (%rax), %eax
  2694. leal 1(%rax), %edx
  2695. movq -32(%rbp), %rax
  2696. movl %edx, (%rax)
  2697. movq -48(%rbp), %rax
  2698. movl $1, (%rax)
  2699. jmp L48
  2700. L39:
  2701. movq -40(%rbp), %rax
  2702. movl (%rax), %eax
  2703. leal -1(%rax), %edx
  2704. movq -40(%rbp), %rax
  2705. movl %edx, (%rax)
  2706. movq -56(%rbp), %rax
  2707. movl $-1, (%rax)
  2708. jmp L48
  2709. L40:
  2710. movq -40(%rbp), %rax
  2711. movl (%rax), %eax
  2712. leal 1(%rax), %edx
  2713. movq -40(%rbp), %rax
  2714. movl %edx, (%rax)
  2715. movq -56(%rbp), %rax
  2716. movl $1, (%rax)
  2717. jmp L48
  2718. L43:
  2719. movq -32(%rbp), %rax
  2720. movl (%rax), %eax
  2721. leal -1(%rax), %edx
  2722. movq -32(%rbp), %rax
  2723. movl %edx, (%rax)
  2724. movq -40(%rbp), %rax
  2725. movl (%rax), %eax
  2726. leal -1(%rax), %edx
  2727. movq -40(%rbp), %rax
  2728. movl %edx, (%rax)
  2729. movq -48(%rbp), %rax
  2730. movl $-1, (%rax)
  2731. movq -56(%rbp), %rax
  2732. movl $-1, (%rax)
  2733. jmp L48
  2734. L44:
  2735. movq -32(%rbp), %rax
  2736. movl (%rax), %eax
  2737. leal -1(%rax), %edx
  2738. movq -32(%rbp), %rax
  2739. movl %edx, (%rax)
  2740. movq -40(%rbp), %rax
  2741. movl (%rax), %eax
  2742. leal 1(%rax), %edx
  2743. movq -40(%rbp), %rax
  2744. movl %edx, (%rax)
  2745. movq -48(%rbp), %rax
  2746. movl $-1, (%rax)
  2747. movq -56(%rbp), %rax
  2748. movl $1, (%rax)
  2749. jmp L48
  2750. L45:
  2751. movq -32(%rbp), %rax
  2752. movl (%rax), %eax
  2753. leal 1(%rax), %edx
  2754. movq -32(%rbp), %rax
  2755. movl %edx, (%rax)
  2756. movq -40(%rbp), %rax
  2757. movl (%rax), %eax
  2758. leal -1(%rax), %edx
  2759. movq -40(%rbp), %rax
  2760. movl %edx, (%rax)
  2761. movq -48(%rbp), %rax
  2762. movl $1, (%rax)
  2763. movq -56(%rbp), %rax
  2764. movl $-1, (%rax)
  2765. jmp L48
  2766. L46:
  2767. movq -32(%rbp), %rax
  2768. movl (%rax), %eax
  2769. leal 1(%rax), %edx
  2770. movq -32(%rbp), %rax
  2771. movl %edx, (%rax)
  2772. movq -40(%rbp), %rax
  2773. movl (%rax), %eax
  2774. leal 1(%rax), %edx
  2775. movq -40(%rbp), %rax
  2776. movl %edx, (%rax)
  2777. movq -48(%rbp), %rax
  2778. movl $1, (%rax)
  2779. movq -56(%rbp), %rax
  2780. movl $1, (%rax)
  2781. L48:
  2782. addq $56, %rsp
  2783. popq %rbx
  2784. leave
  2785. ret
  2786. LFE35:
  2787. .align 1,0x90
  2788. .globl __ZNK12OthelloBoard18position_reachableEjj9direction
  2789. __ZNK12OthelloBoard18position_reachableEjj9direction:
  2790. LFB36:
  2791. pushq %rbp
  2792. LCFI16:
  2793. movq %rsp, %rbp
  2794. LCFI17:
  2795. subq $64, %rsp
  2796. LCFI18:
  2797. movq %rdi, -40(%rbp)
  2798. movl %esi, -44(%rbp)
  2799. movl %edx, -48(%rbp)
  2800. movl %ecx, -52(%rbp)
  2801. movl -44(%rbp), %eax
  2802. movl %eax, -4(%rbp)
  2803. movl -48(%rbp), %eax
  2804. movl %eax, -8(%rbp)
  2805. movl $0, -12(%rbp)
  2806. movl $0, -16(%rbp)
  2807. movl $1, -20(%rbp)
  2808. movl -52(%rbp), %eax
  2809. leaq -16(%rbp), %rdx
  2810. leaq -12(%rbp), %rcx
  2811. leaq -8(%rbp), %rsi
  2812. leaq -4(%rbp), %rdi
  2813. movq -40(%rbp), %r10
  2814. movl %eax, %r9d
  2815. movq %rdx, %r8
  2816. movq %rsi, %rdx
  2817. movq %rdi, %rsi
  2818. movq %r10, %rdi
  2819. call __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction
  2820. movl -8(%rbp), %edx
  2821. movl -4(%rbp), %esi
  2822. movq -40(%rbp), %rdi
  2823. call __ZNK12OthelloBoard3getEjj
  2824. movl %eax, -24(%rbp)
  2825. jmp L50
  2826. L51:
  2827. movl -8(%rbp), %edx
  2828. movl -16(%rbp), %eax
  2829. leal (%rdx,%rax), %eax
  2830. movl %eax, -8(%rbp)
  2831. movl -4(%rbp), %edx
  2832. movl -12(%rbp), %eax
  2833. leal (%rdx,%rax), %eax
  2834. movl %eax, -4(%rbp)
  2835. movl -8(%rbp), %edx
  2836. movl -4(%rbp), %esi
  2837. movq -40(%rbp), %rdi
  2838. call __ZNK12OthelloBoard3getEjj
  2839. movl %eax, -24(%rbp)
  2840. incl -20(%rbp)
  2841. L50:
  2842. cmpl $0, -24(%rbp)
  2843. je L52
  2844. movl -24(%rbp), %edx
  2845. movq -40(%rbp), %rax
  2846. movl 24(%rax), %eax
  2847. cmpl %eax, %edx
  2848. je L52
  2849. cmpl $3, -24(%rbp)
  2850. jne L51
  2851. L52:
  2852. cmpl $1, -20(%rbp)
  2853. jbe L55
  2854. movl -24(%rbp), %edx
  2855. movq -40(%rbp), %rax
  2856. movl 24(%rax), %eax
  2857. cmpl %eax, %edx
  2858. jne L55
  2859. movb $1, -53(%rbp)
  2860. jmp L58
  2861. L55:
  2862. movb $0, -53(%rbp)
  2863. L58:
  2864. movzbl -53(%rbp), %eax
  2865. leave
  2866. ret
  2867. LFE36:
  2868. .cstring
  2869. .align 3
  2870. LC10:
  2871. .ascii "Coordinates (r=%d, c=%d) out of bounds.\12\0"
  2872. .align 3
  2873. LC11:
  2874. .ascii "Field @ (r=%d, c=%d) is occupied by %c\12\0"
  2875. .align 3
  2876. LC12:
  2877. .ascii "Position (r=%d, c=%d) not reachable by a stone \0"
  2878. LC13:
  2879. .ascii "of type %c.\12\0"
  2880. .text
  2881. .align 1,0x90
  2882. .globl __ZNK12OthelloBoard8validateEjjb
  2883. __ZNK12OthelloBoard8validateEjjb:
  2884. LFB37:
  2885. pushq %rbp
  2886. LCFI19:
  2887. movq %rsp, %rbp
  2888. LCFI20:
  2889. subq $32, %rsp
  2890. LCFI21:
  2891. movq %rdi, -8(%rbp)
  2892. movl %esi, -12(%rbp)
  2893. movl %edx, -16(%rbp)
  2894. movb %cl, -20(%rbp)
  2895. cmpl $0, -12(%rbp)
  2896. je L61
  2897. movq -8(%rbp), %rdi
  2898. call __ZNK12OthelloBoard4rowsEv
  2899. cmpl -12(%rbp), %eax
  2900. jb L61
  2901. cmpl $0, -16(%rbp)
  2902. je L61
  2903. movq -8(%rbp), %rdi
  2904. call __ZNK12OthelloBoard7columnsEv
  2905. cmpl -16(%rbp), %eax
  2906. jae L65
  2907. L61:
  2908. movb $1, -29(%rbp)
  2909. jmp L66
  2910. L65:
  2911. movb $0, -29(%rbp)
  2912. L66:
  2913. movzbl -29(%rbp), %eax
  2914. testb %al, %al
  2915. je L67
  2916. movzbl -20(%rbp), %eax
  2917. xorl $1, %eax
  2918. testb %al, %al
  2919. je L69
  2920. movl -16(%rbp), %edx
  2921. movl -12(%rbp), %esi
  2922. leaq LC10(%rip), %rdi
  2923. movl $0, %eax
  2924. call _printf
  2925. L69:
  2926. movl $0, -28(%rbp)
  2927. jmp L71
  2928. L67:
  2929. movl -16(%rbp), %edx
  2930. movl -12(%rbp), %esi
  2931. movq -8(%rbp), %rdi
  2932. call __ZNK12OthelloBoard3getEjj
  2933. testl %eax, %eax
  2934. setne %al
  2935. testb %al, %al
  2936. je L72
  2937. movzbl -20(%rbp), %eax
  2938. xorl $1, %eax
  2939. testb %al, %al
  2940. je L74
  2941. movl -16(%rbp), %edx
  2942. movl -12(%rbp), %esi
  2943. movq -8(%rbp), %rdi
  2944. call __ZNK12OthelloBoard3getEjj
  2945. movl %eax, %esi
  2946. movq -8(%rbp), %rdi
  2947. call __ZNK12OthelloBoard11type_to_strE9FieldType
  2948. movsbl %al,%ecx
  2949. movl -16(%rbp), %edx
  2950. movl -12(%rbp), %esi
  2951. leaq LC11(%rip), %rdi
  2952. movl $0, %eax
  2953. call _printf
  2954. L74:
  2955. movl $0, -28(%rbp)
  2956. jmp L71
  2957. L72:
  2958. movl -16(%rbp), %edx
  2959. movl -12(%rbp), %esi
  2960. movq -8(%rbp), %rdi
  2961. movl $0, %ecx
  2962. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2963. testb %al, %al
  2964. jne L76
  2965. movl -16(%rbp), %edx
  2966. movl -12(%rbp), %esi
  2967. movq -8(%rbp), %rdi
  2968. movl $1, %ecx
  2969. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2970. testb %al, %al
  2971. jne L76
  2972. movl -16(%rbp), %edx
  2973. movl -12(%rbp), %esi
  2974. movq -8(%rbp), %rdi
  2975. movl $2, %ecx
  2976. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2977. testb %al, %al
  2978. jne L76
  2979. movl -16(%rbp), %edx
  2980. movl -12(%rbp), %esi
  2981. movq -8(%rbp), %rdi
  2982. movl $3, %ecx
  2983. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2984. testb %al, %al
  2985. jne L76
  2986. movl -16(%rbp), %edx
  2987. movl -12(%rbp), %esi
  2988. movq -8(%rbp), %rdi
  2989. movl $4, %ecx
  2990. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2991. testb %al, %al
  2992. jne L76
  2993. movl -16(%rbp), %edx
  2994. movl -12(%rbp), %esi
  2995. movq -8(%rbp), %rdi
  2996. movl $5, %ecx
  2997. call __ZNK12OthelloBoard18position_reachableEjj9direction
  2998. testb %al, %al
  2999. jne L76
  3000. movl -16(%rbp), %edx
  3001. movl -12(%rbp), %esi
  3002. movq -8(%rbp), %rdi
  3003. movl $6, %ecx
  3004. call __ZNK12OthelloBoard18position_reachableEjj9direction
  3005. testb %al, %al
  3006. jne L76
  3007. movl -16(%rbp), %edx
  3008. movl -12(%rbp), %esi
  3009. movq -8(%rbp), %rdi
  3010. movl $7, %ecx
  3011. call __ZNK12OthelloBoard18position_reachableEjj9direction
  3012. testb %al, %al
  3013. je L84
  3014. L76:
  3015. movb $1, -21(%rbp)
  3016. jmp L85
  3017. L84:
  3018. movb $0, -21(%rbp)
  3019. L85:
  3020. movzbl -21(%rbp), %eax
  3021. testb %al, %al
  3022. je L86
  3023. movl $1, -28(%rbp)
  3024. jmp L71
  3025. L86:
  3026. movzbl -20(%rbp), %eax
  3027. xorl $1, %eax
  3028. testb %al, %al
  3029. je L88
  3030. movl -16(%rbp), %edx
  3031. movl -12(%rbp), %esi
  3032. leaq LC12(%rip), %rdi
  3033. movl $0, %eax
  3034. call _printf
  3035. movq -8(%rbp), %rax
  3036. movl 24(%rax), %esi
  3037. movq -8(%rbp), %rdi
  3038. call __ZNK12OthelloBoard11type_to_strE9FieldType
  3039. movsbl %al,%esi
  3040. leaq LC13(%rip), %rdi
  3041. movl $0, %eax
  3042. call _printf
  3043. L88:
  3044. movl $0, -28(%rbp)
  3045. L71:
  3046. movl -28(%rbp), %eax
  3047. leave
  3048. ret
  3049. LFE37:
  3050. .cstring
  3051. __ZZNK12OthelloBoard11type_to_strE9FieldTypeE8__func__:
  3052. .ascii "type_to_str\0"
  3053. __ZZNK12OthelloBoard16setup_directionsERjS0_RiS1_9directionE8__func__:
  3054. .ascii "setup_directions\0"
  3055. .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
  3056. EH_frame1:
  3057. .set L$set$0,LECIE1-LSCIE1
  3058. .long L$set$0
  3059. LSCIE1:
  3060. .long 0x0
  3061. .byte 0x1
  3062. .ascii "zPR\0"
  3063. .byte 0x1
  3064. .byte 0x78
  3065. .byte 0x10
  3066. .byte 0x6
  3067. .byte 0x9b
  3068. .long ___gxx_personality_v0+4@GOTPCREL
  3069. .byte 0x10
  3070. .byte 0xc
  3071. .byte 0x7
  3072. .byte 0x8
  3073. .byte 0x90
  3074. .byte 0x1
  3075. .align 3
  3076. LECIE1:
  3077. .globl __ZNK12OthelloBoard4rowsEv.eh
  3078. .weak_definition __ZNK12OthelloBoard4rowsEv.eh
  3079. __ZNK12OthelloBoard4rowsEv.eh:
  3080. LSFDE1:
  3081. .set L$set$1,LEFDE1-LASFDE1
  3082. .long L$set$1
  3083. LASFDE1:
  3084. .long LASFDE1-EH_frame1
  3085. .quad LFB15-.
  3086. .set L$set$2,LFE15-LFB15
  3087. .quad L$set$2
  3088. .byte 0x0
  3089. .byte 0x4
  3090. .set L$set$3,LCFI0-LFB15
  3091. .long L$set$3
  3092. .byte 0xe
  3093. .byte 0x10
  3094. .byte 0x86
  3095. .byte 0x2
  3096. .byte 0x4
  3097. .set L$set$4,LCFI1-LCFI0
  3098. .long L$set$4
  3099. .byte 0xd
  3100. .byte 0x6
  3101. .align 3
  3102. LEFDE1:
  3103. .globl __ZNK12OthelloBoard7columnsEv.eh
  3104. .weak_definition __ZNK12OthelloBoard7columnsEv.eh
  3105. __ZNK12OthelloBoard7columnsEv.eh:
  3106. LSFDE3:
  3107. .set L$set$5,LEFDE3-LASFDE3
  3108. .long L$set$5
  3109. LASFDE3:
  3110. .long LASFDE3-EH_frame1
  3111. .quad LFB16-.
  3112. .set L$set$6,LFE16-LFB16
  3113. .quad L$set$6
  3114. .byte 0x0
  3115. .byte 0x4
  3116. .set L$set$7,LCFI2-LFB16
  3117. .long L$set$7
  3118. .byte 0xe
  3119. .byte 0x10
  3120. .byte 0x86
  3121. .byte 0x2
  3122. .byte 0x4
  3123. .set L$set$8,LCFI3-LCFI2
  3124. .long L$set$8
  3125. .byte 0xd
  3126. .byte 0x6
  3127. .align 3
  3128. LEFDE3:
  3129. .globl __ZNK12OthelloBoard3getEjj.eh
  3130. .weak_definition __ZNK12OthelloBoard3getEjj.eh
  3131. __ZNK12OthelloBoard3getEjj.eh:
  3132. LSFDE5:
  3133. .set L$set$9,LEFDE5-LASFDE5
  3134. .long L$set$9
  3135. LASFDE5:
  3136. .long LASFDE5-EH_frame1
  3137. .quad LFB26-.
  3138. .set L$set$10,LFE26-LFB26
  3139. .quad L$set$10
  3140. .byte 0x0
  3141. .byte 0x4
  3142. .set L$set$11,LCFI4-LFB26
  3143. .long L$set$11
  3144. .byte 0xe
  3145. .byte 0x10
  3146. .byte 0x86
  3147. .byte 0x2
  3148. .byte 0x4
  3149. .set L$set$12,LCFI5-LCFI4
  3150. .long L$set$12
  3151. .byte 0xd
  3152. .byte 0x6
  3153. .byte 0x4
  3154. .set L$set$13,LCFI8-LCFI5
  3155. .long L$set$13
  3156. .byte 0x83
  3157. .byte 0x4
  3158. .byte 0x8c
  3159. .byte 0x3
  3160. .align 3
  3161. LEFDE5:
  3162. .globl __ZNK12OthelloBoard11type_to_strE9FieldType.eh
  3163. .weak_definition __ZNK12OthelloBoard11type_to_strE9FieldType.eh
  3164. __ZNK12OthelloBoard11type_to_strE9FieldType.eh:
  3165. LSFDE7:
  3166. .set L$set$14,LEFDE7-LASFDE7
  3167. .long L$set$14
  3168. LASFDE7:
  3169. .long LASFDE7-EH_frame1
  3170. .quad LFB32-.
  3171. .set L$set$15,LFE32-LFB32
  3172. .quad L$set$15
  3173. .byte 0x0
  3174. .byte 0x4
  3175. .set L$set$16,LCFI9-LFB32
  3176. .long L$set$16
  3177. .byte 0xe
  3178. .byte 0x10
  3179. .byte 0x86
  3180. .byte 0x2
  3181. .byte 0x4
  3182. .set L$set$17,LCFI10-LCFI9
  3183. .long L$set$17
  3184. .byte 0xd
  3185. .byte 0x6
  3186. .align 3
  3187. LEFDE7:
  3188. .globl __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction.eh
  3189. __ZNK12OthelloBoard16setup_directionsERjS0_RiS1_9direction.eh:
  3190. LSFDE9:
  3191. .set L$set$18,LEFDE9-LASFDE9
  3192. .long L$set$18
  3193. LASFDE9:
  3194. .long LASFDE9-EH_frame1
  3195. .quad LFB35-.
  3196. .set L$set$19,LFE35-LFB35
  3197. .quad L$set$19
  3198. .byte 0x0
  3199. .byte 0x4
  3200. .set L$set$20,LCFI12-LFB35
  3201. .long L$set$20
  3202. .byte 0xe
  3203. .byte 0x10
  3204. .byte 0x86
  3205. .byte 0x2
  3206. .byte 0x4
  3207. .set L$set$21,LCFI13-LCFI12
  3208. .long L$set$21
  3209. .byte 0xd
  3210. .byte 0x6
  3211. .byte 0x4
  3212. .set L$set$22,LCFI15-LCFI13
  3213. .long L$set$22
  3214. .byte 0x83
  3215. .byte 0x3
  3216. .align 3
  3217. LEFDE9:
  3218. .globl __ZNK12OthelloBoard18position_reachableEjj9direction.eh
  3219. __ZNK12OthelloBoard18position_reachableEjj9direction.eh:
  3220. LSFDE11:
  3221. .set L$set$23,LEFDE11-LASFDE11
  3222. .long L$set$23
  3223. LASFDE11:
  3224. .long LASFDE11-EH_frame1
  3225. .quad LFB36-.
  3226. .set L$set$24,LFE36-LFB36
  3227. .quad L$set$24
  3228. .byte 0x0
  3229. .byte 0x4
  3230. .set L$set$25,LCFI16-LFB36
  3231. .long L$set$25
  3232. .byte 0xe
  3233. .byte 0x10
  3234. .byte 0x86
  3235. .byte 0x2
  3236. .byte 0x4
  3237. .set L$set$26,LCFI17-LCFI16
  3238. .long L$set$26
  3239. .byte 0xd
  3240. .byte 0x6
  3241. .align 3
  3242. LEFDE11:
  3243. .globl __ZNK12OthelloBoard8validateEjjb.eh
  3244. __ZNK12OthelloBoard8validateEjjb.eh:
  3245. LSFDE13:
  3246. .set L$set$27,LEFDE13-LASFDE13
  3247. .long L$set$27
  3248. LASFDE13:
  3249. .long LASFDE13-EH_frame1
  3250. .quad LFB37-.
  3251. .set L$set$28,LFE37-LFB37
  3252. .quad L$set$28
  3253. .byte 0x0
  3254. .byte 0x4
  3255. .set L$set$29,LCFI19-LFB37
  3256. .long L$set$29
  3257. .byte 0xe
  3258. .byte 0x10
  3259. .byte 0x86
  3260. .byte 0x2
  3261. .byte 0x4
  3262. .set L$set$30,LCFI20-LCFI19
  3263. .long L$set$30
  3264. .byte 0xd
  3265. .byte 0x6
  3266. .align 3
  3267. LEFDE13:
  3268. .constructor
  3269. .destructor
  3270. .align 1
  3271. .subsections_via_symbols
  3272. #endif // x86/64
  3273. #endif // Darwin