fork(18) download
  1.  
  2. image/boot/kernel.bin: file format elf64-x86-64
  3.  
  4.  
  5. Disassembly of section .boot:
  6.  
  7. 0000000000100000 <start-0x3c>:
  8. 100000: d6 (bad)
  9. 100001: 50 push %rax
  10. 100002: 52 push %rdx
  11. 100003: e8 00 00 00 00 callq 100008 <start-0x34>
  12. 100008: 3c 00 cmp $0x0,%al
  13. 10000a: 00 00 add %al,(%rax)
  14. 10000c: ee out %al,(%dx)
  15. 10000d: ae scas %es:(%rdi),%al
  16. 10000e: ad lods %ds:(%rsi),%eax
  17. 10000f: 17 (bad)
  18. 100010: 02 00 add (%rax),%al
  19. 100012: 00 00 add %al,(%rax)
  20. 100014: 18 00 sbb %al,(%rax)
  21. 100016: 00 00 add %al,(%rax)
  22. 100018: 00 00 add %al,(%rax)
  23. 10001a: 10 00 adc %al,(%rax)
  24. 10001c: 3c 00 cmp $0x0,%al
  25. 10001e: 10 00 adc %al,(%rax)
  26. 100020: 2c e0 sub $0xe0,%al
  27. 100022: 10 00 adc %al,(%rax)
  28. 100024: 40 08 11 or %dl,(%rcx)
  29. 100027: 00 03 add %al,(%rbx)
  30. 100029: 00 00 add %al,(%rax)
  31. 10002b: 00 0c 00 add %cl,(%rax,%rax,1)
  32. 10002e: 00 00 add %al,(%rax)
  33. 100030: 3c 00 cmp $0x0,%al
  34. 100032: 10 00 adc %al,(%rax)
  35. 100034: 00 00 add %al,(%rax)
  36. 100036: 00 00 add %al,(%rax)
  37. 100038: 08 00 or %al,(%rax)
  38. ...
  39.  
  40. 000000000010003c <start>:
  41. 10003c: 66 87 db xchg %bx,%bx
  42. 10003f: b8 1a 01 10 00 mov $0x10011a,%eax
  43. 100044: 0f 01 10 lgdt (%rax)
  44. 100047: 6a 08 pushq $0x8
  45. 100049: 68 4f 00 10 00 pushq $0x10004f
  46. 10004e: cb lret
  47. 10004f: b8 10 00 00 00 mov $0x10,%eax
  48. 100054: 8e d8 mov %eax,%ds
  49. 100056: 8e d0 mov %eax,%ss
  50. 100058: bc 00 c0 10 00 mov $0x10c000,%esp
  51. 10005d: e8 41 00 00 00 callq 1000a3 <start+0x67>
  52. 100062: b8 20 01 10 00 mov $0x100120,%eax
  53. 100067: 0f 01 10 lgdt (%rax)
  54. 10006a: 6a 08 pushq $0x8
  55. 10006c: 68 72 00 10 00 pushq $0x100072
  56. 100071: cb lret
  57. 100072: b8 10 00 00 00 mov $0x10,%eax
  58. 100077: 8e d8 mov %eax,%ds
  59. 100079: 8e c0 mov %eax,%es
  60. 10007b: 8e d0 mov %eax,%ss
  61. 10007d: 48 bc 00 c0 10 80 ff movabs $0xffffffff8010c000,%rsp
  62. 100084: ff ff ff
  63. 100087: 48 c7 c0 2a 01 10 00 mov $0x10012a,%rax
  64. 10008e: 0f 01 10 lgdt (%rax)
  65. 100091: 66 87 db xchg %bx,%bx
  66. 100094: 48 b8 50 c1 10 80 ff movabs $0xffffffff8010c150,%rax
  67. 10009b: ff ff ff
  68. 10009e: ff d0 callq *%rax
  69. 1000a0: fa cli
  70. 1000a1: eb fe jmp 1000a1 <start+0x65>
  71. 1000a3: b8 00 20 10 00 mov $0x102000,%eax
  72. 1000a8: 83 c8 01 or $0x1,%eax
  73. 1000ab: a3 00 10 10 00 a3 f8 movabs %eax,0x101ff8a300101000
  74. 1000b2: 1f 10
  75. 1000b4: 00 b8 00 30 10 00 add %bh,0x103000(%rax)
  76. 1000ba: 83 c8 01 or $0x1,%eax
  77. 1000bd: a3 00 20 10 00 a3 f0 movabs %eax,0x102ff0a300102000
  78. 1000c4: 2f 10
  79. 1000c6: 00 c7 add %al,%bh
  80. 1000c8: 05 00 30 10 00 add $0x103000,%eax
  81. 1000cd: 83 00 00 addl $0x0,(%rax)
  82. 1000d0: 00 c7 add %al,%bh
  83. 1000d2: 05 08 30 10 00 add $0x103008,%eax
  84. 1000d7: 83 00 20 addl $0x20,(%rax)
  85. 1000da: 00 c7 add %al,%bh
  86. 1000dc: 05 10 30 10 00 add $0x103010,%eax
  87. 1000e1: 83 00 40 addl $0x40,(%rax)
  88. 1000e4: 00 c7 add %al,%bh
  89. 1000e6: 05 18 30 10 00 add $0x103018,%eax
  90. 1000eb: 83 00 60 addl $0x60,(%rax)
  91. 1000ee: 00 b8 00 10 10 00 add %bh,0x101000(%rax)
  92. 1000f4: 0f 22 d8 mov %rax,%cr3
  93. 1000f7: 0f 20 e0 mov %cr4,%rax
  94. 1000fa: 83 c8 20 or $0x20,%eax
  95. 1000fd: 0f 22 e0 mov %rax,%cr4
  96. 100100: b9 80 00 00 c0 mov $0xc0000080,%ecx
  97. 100105: 0f 32 rdmsr
  98. 100107: 0d 00 01 00 00 or $0x100,%eax
  99. 10010c: 0f 30 wrmsr
  100. 10010e: 0f 20 c0 mov %cr0,%rax
  101. 100111: 0d 00 00 00 80 or $0x80000000,%eax
  102. 100116: 0f 22 c0 mov %rax,%cr0
  103. 100119: c3 retq
  104. 10011a: 17 (bad)
  105. 10011b: 00 34 01 add %dh,(%rcx,%rax,1)
  106. 10011e: 10 00 adc %al,(%rax)
  107. 100120: 17 (bad)
  108. 100121: 00 4c 01 10 add %cl,0x10(%rcx,%rax,1)
  109. 100125: 00 00 add %al,(%rax)
  110. 100127: 00 00 add %al,(%rax)
  111. 100129: 00 17 add %dl,(%rdi)
  112. 10012b: 00 4c 01 10 add %cl,0x10(%rcx,%rax,1)
  113. 10012f: 80 ff ff cmp $0xff,%bh
  114. 100132: ff (bad)
  115. 100133: ff 00 incl (%rax)
  116. 100135: 00 00 add %al,(%rax)
  117. 100137: 00 00 add %al,(%rax)
  118. 100139: 00 00 add %al,(%rax)
  119. 10013b: 00 ff add %bh,%bh
  120. 10013d: ff 00 incl (%rax)
  121. 10013f: 00 00 add %al,(%rax)
  122. 100141: 9a (bad)
  123. 100142: cf iret
  124. 100143: 00 ff add %bh,%bh
  125. 100145: ff 00 incl (%rax)
  126. 100147: 00 00 add %al,(%rax)
  127. 100149: 92 xchg %eax,%edx
  128. 10014a: cf iret
  129. ...
  130. 100157: 00 00 add %al,(%rax)
  131. 100159: 9a (bad)
  132. 10015a: a0 00 00 00 00 00 00 movabs 0xa092000000000000,%al
  133. 100161: 92 a0
  134. ...
  135.  
  136. 0000000000101000 <PML4>:
  137. ...
  138.  
  139. 0000000000102000 <PDPT>:
  140. ...
  141.  
  142. 0000000000103000 <PD>:
  143. ...
  144.  
  145. Disassembly of section .text:
  146.  
  147. ffffffff8010c000 <isr0>:
  148. ffffffff8010c000: fa cli
  149. ffffffff8010c001: 6a 00 pushq $0x0
  150. ffffffff8010c003: 6a 00 pushq $0x0
  151. ffffffff8010c005: e9 01 01 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  152.  
  153. ffffffff8010c00a <isr1>:
  154. ffffffff8010c00a: fa cli
  155. ffffffff8010c00b: 6a 00 pushq $0x0
  156. ffffffff8010c00d: 6a 01 pushq $0x1
  157. ffffffff8010c00f: e9 f7 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  158.  
  159. ffffffff8010c014 <isr2>:
  160. ffffffff8010c014: fa cli
  161. ffffffff8010c015: 6a 00 pushq $0x0
  162. ffffffff8010c017: 6a 02 pushq $0x2
  163. ffffffff8010c019: e9 ed 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  164.  
  165. ffffffff8010c01e <isr3>:
  166. ffffffff8010c01e: fa cli
  167. ffffffff8010c01f: 6a 00 pushq $0x0
  168. ffffffff8010c021: 6a 03 pushq $0x3
  169. ffffffff8010c023: e9 e3 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  170.  
  171. ffffffff8010c028 <isr4>:
  172. ffffffff8010c028: fa cli
  173. ffffffff8010c029: 6a 00 pushq $0x0
  174. ffffffff8010c02b: 6a 04 pushq $0x4
  175. ffffffff8010c02d: e9 d9 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  176.  
  177. ffffffff8010c032 <isr5>:
  178. ffffffff8010c032: fa cli
  179. ffffffff8010c033: 6a 00 pushq $0x0
  180. ffffffff8010c035: 6a 05 pushq $0x5
  181. ffffffff8010c037: e9 cf 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  182.  
  183. ffffffff8010c03c <isr6>:
  184. ffffffff8010c03c: fa cli
  185. ffffffff8010c03d: 6a 00 pushq $0x0
  186. ffffffff8010c03f: 6a 06 pushq $0x6
  187. ffffffff8010c041: e9 c5 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  188.  
  189. ffffffff8010c046 <isr7>:
  190. ffffffff8010c046: fa cli
  191. ffffffff8010c047: 6a 00 pushq $0x0
  192. ffffffff8010c049: 6a 07 pushq $0x7
  193. ffffffff8010c04b: e9 bb 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  194.  
  195. ffffffff8010c050 <isr8>:
  196. ffffffff8010c050: fa cli
  197. ffffffff8010c051: 6a 08 pushq $0x8
  198. ffffffff8010c053: e9 b3 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  199.  
  200. ffffffff8010c058 <isr9>:
  201. ffffffff8010c058: fa cli
  202. ffffffff8010c059: 6a 00 pushq $0x0
  203. ffffffff8010c05b: 6a 09 pushq $0x9
  204. ffffffff8010c05d: e9 a9 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  205.  
  206. ffffffff8010c062 <isr10>:
  207. ffffffff8010c062: fa cli
  208. ffffffff8010c063: 6a 0a pushq $0xa
  209. ffffffff8010c065: e9 a1 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  210.  
  211. ffffffff8010c06a <isr11>:
  212. ffffffff8010c06a: fa cli
  213. ffffffff8010c06b: 6a 0b pushq $0xb
  214. ffffffff8010c06d: e9 99 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  215.  
  216. ffffffff8010c072 <isr12>:
  217. ffffffff8010c072: fa cli
  218. ffffffff8010c073: 6a 0c pushq $0xc
  219. ffffffff8010c075: e9 91 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  220.  
  221. ffffffff8010c07a <isr13>:
  222. ffffffff8010c07a: fa cli
  223. ffffffff8010c07b: 6a 0d pushq $0xd
  224. ffffffff8010c07d: e9 89 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  225.  
  226. ffffffff8010c082 <isr14>:
  227. ffffffff8010c082: fa cli
  228. ffffffff8010c083: 6a 0e pushq $0xe
  229. ffffffff8010c085: e9 81 00 00 00 jmpq ffffffff8010c10b <isr_common_handler>
  230.  
  231. ffffffff8010c08a <isr15>:
  232. ffffffff8010c08a: fa cli
  233. ffffffff8010c08b: 6a 00 pushq $0x0
  234. ffffffff8010c08d: 6a 0f pushq $0xf
  235. ffffffff8010c08f: eb 7a jmp ffffffff8010c10b <isr_common_handler>
  236.  
  237. ffffffff8010c091 <isr16>:
  238. ffffffff8010c091: fa cli
  239. ffffffff8010c092: 6a 00 pushq $0x0
  240. ffffffff8010c094: 6a 10 pushq $0x10
  241. ffffffff8010c096: eb 73 jmp ffffffff8010c10b <isr_common_handler>
  242.  
  243. ffffffff8010c098 <isr17>:
  244. ffffffff8010c098: fa cli
  245. ffffffff8010c099: 6a 00 pushq $0x0
  246. ffffffff8010c09b: 6a 11 pushq $0x11
  247. ffffffff8010c09d: eb 6c jmp ffffffff8010c10b <isr_common_handler>
  248.  
  249. ffffffff8010c09f <isr18>:
  250. ffffffff8010c09f: fa cli
  251. ffffffff8010c0a0: 6a 00 pushq $0x0
  252. ffffffff8010c0a2: 6a 12 pushq $0x12
  253. ffffffff8010c0a4: eb 65 jmp ffffffff8010c10b <isr_common_handler>
  254.  
  255. ffffffff8010c0a6 <isr19>:
  256. ffffffff8010c0a6: fa cli
  257. ffffffff8010c0a7: 6a 00 pushq $0x0
  258. ffffffff8010c0a9: 6a 13 pushq $0x13
  259. ffffffff8010c0ab: eb 5e jmp ffffffff8010c10b <isr_common_handler>
  260.  
  261. ffffffff8010c0ad <isr20>:
  262. ffffffff8010c0ad: fa cli
  263. ffffffff8010c0ae: 6a 00 pushq $0x0
  264. ffffffff8010c0b0: 6a 14 pushq $0x14
  265. ffffffff8010c0b2: eb 57 jmp ffffffff8010c10b <isr_common_handler>
  266.  
  267. ffffffff8010c0b4 <isr21>:
  268. ffffffff8010c0b4: fa cli
  269. ffffffff8010c0b5: 6a 00 pushq $0x0
  270. ffffffff8010c0b7: 6a 15 pushq $0x15
  271. ffffffff8010c0b9: eb 50 jmp ffffffff8010c10b <isr_common_handler>
  272.  
  273. ffffffff8010c0bb <isr22>:
  274. ffffffff8010c0bb: fa cli
  275. ffffffff8010c0bc: 6a 00 pushq $0x0
  276. ffffffff8010c0be: 6a 16 pushq $0x16
  277. ffffffff8010c0c0: eb 49 jmp ffffffff8010c10b <isr_common_handler>
  278.  
  279. ffffffff8010c0c2 <isr23>:
  280. ffffffff8010c0c2: fa cli
  281. ffffffff8010c0c3: 6a 00 pushq $0x0
  282. ffffffff8010c0c5: 6a 17 pushq $0x17
  283. ffffffff8010c0c7: eb 42 jmp ffffffff8010c10b <isr_common_handler>
  284.  
  285. ffffffff8010c0c9 <isr24>:
  286. ffffffff8010c0c9: fa cli
  287. ffffffff8010c0ca: 6a 00 pushq $0x0
  288. ffffffff8010c0cc: 6a 18 pushq $0x18
  289. ffffffff8010c0ce: eb 3b jmp ffffffff8010c10b <isr_common_handler>
  290.  
  291. ffffffff8010c0d0 <isr25>:
  292. ffffffff8010c0d0: fa cli
  293. ffffffff8010c0d1: 6a 00 pushq $0x0
  294. ffffffff8010c0d3: 6a 19 pushq $0x19
  295. ffffffff8010c0d5: eb 34 jmp ffffffff8010c10b <isr_common_handler>
  296.  
  297. ffffffff8010c0d7 <isr26>:
  298. ffffffff8010c0d7: fa cli
  299. ffffffff8010c0d8: 6a 00 pushq $0x0
  300. ffffffff8010c0da: 6a 1a pushq $0x1a
  301. ffffffff8010c0dc: eb 2d jmp ffffffff8010c10b <isr_common_handler>
  302.  
  303. ffffffff8010c0de <isr27>:
  304. ffffffff8010c0de: fa cli
  305. ffffffff8010c0df: 6a 00 pushq $0x0
  306. ffffffff8010c0e1: 6a 1b pushq $0x1b
  307. ffffffff8010c0e3: eb 26 jmp ffffffff8010c10b <isr_common_handler>
  308.  
  309. ffffffff8010c0e5 <isr28>:
  310. ffffffff8010c0e5: fa cli
  311. ffffffff8010c0e6: 6a 00 pushq $0x0
  312. ffffffff8010c0e8: 6a 1c pushq $0x1c
  313. ffffffff8010c0ea: eb 1f jmp ffffffff8010c10b <isr_common_handler>
  314.  
  315. ffffffff8010c0ec <isr29>:
  316. ffffffff8010c0ec: fa cli
  317. ffffffff8010c0ed: 6a 00 pushq $0x0
  318. ffffffff8010c0ef: 6a 1d pushq $0x1d
  319. ffffffff8010c0f1: eb 18 jmp ffffffff8010c10b <isr_common_handler>
  320.  
  321. ffffffff8010c0f3 <isr30>:
  322. ffffffff8010c0f3: fa cli
  323. ffffffff8010c0f4: 6a 00 pushq $0x0
  324. ffffffff8010c0f6: 6a 1e pushq $0x1e
  325. ffffffff8010c0f8: eb 11 jmp ffffffff8010c10b <isr_common_handler>
  326.  
  327. ffffffff8010c0fa <isr31>:
  328. ffffffff8010c0fa: fa cli
  329. ffffffff8010c0fb: 6a 00 pushq $0x0
  330. ffffffff8010c0fd: 6a 1f pushq $0x1f
  331. ffffffff8010c0ff: eb 0a jmp ffffffff8010c10b <isr_common_handler>
  332.  
  333. ffffffff8010c101 <isr255>:
  334. ffffffff8010c101: fa cli
  335. ffffffff8010c102: 6a 00 pushq $0x0
  336. ffffffff8010c104: 68 ff 00 00 00 pushq $0xff
  337. ffffffff8010c109: eb 00 jmp ffffffff8010c10b <isr_common_handler>
  338.  
  339. ffffffff8010c10b <isr_common_handler>:
  340. ffffffff8010c10b: 50 push %rax
  341. ffffffff8010c10c: 51 push %rcx
  342. ffffffff8010c10d: 52 push %rdx
  343. ffffffff8010c10e: 53 push %rbx
  344. ffffffff8010c10f: 54 push %rsp
  345. ffffffff8010c110: 55 push %rbp
  346. ffffffff8010c111: 56 push %rsi
  347. ffffffff8010c112: 57 push %rdi
  348. ffffffff8010c113: 66 8c d8 mov %ds,%ax
  349. ffffffff8010c116: 50 push %rax
  350. ffffffff8010c117: 66 b8 10 00 mov $0x10,%ax
  351. ffffffff8010c11b: 8e d8 mov %eax,%ds
  352. ffffffff8010c11d: 8e c0 mov %eax,%es
  353. ffffffff8010c11f: 8e e0 mov %eax,%fs
  354. ffffffff8010c121: 8e e8 mov %eax,%gs
  355. ffffffff8010c123: 8e d0 mov %eax,%ss
  356. ffffffff8010c125: e8 b9 0d 00 00 callq ffffffff8010cee3 <idt_handler>
  357. ffffffff8010c12a: 5b pop %rbx
  358. ffffffff8010c12b: 8e db mov %ebx,%ds
  359. ffffffff8010c12d: 8e c3 mov %ebx,%es
  360. ffffffff8010c12f: 8e e3 mov %ebx,%fs
  361. ffffffff8010c131: 8e eb mov %ebx,%gs
  362. ffffffff8010c133: 8e d3 mov %ebx,%ss
  363. ffffffff8010c135: 5f pop %rdi
  364. ffffffff8010c136: 5e pop %rsi
  365. ffffffff8010c137: 5d pop %rbp
  366. ffffffff8010c138: 5c pop %rsp
  367. ffffffff8010c139: 5b pop %rbx
  368. ffffffff8010c13a: 5a pop %rdx
  369. ffffffff8010c13b: 59 pop %rcx
  370. ffffffff8010c13c: 58 pop %rax
  371. ffffffff8010c13d: 48 83 c4 08 add $0x8,%rsp
  372. ffffffff8010c141: fb sti
  373. ffffffff8010c142: 48 cf iretq
  374.  
  375. ffffffff8010c144 <idt_flush>:
  376. ffffffff8010c144: 48 8b 44 24 04 mov 0x4(%rsp),%rax
  377. ffffffff8010c149: 0f 01 18 lidt (%rax)
  378. ffffffff8010c14c: c3 retq
  379. ffffffff8010c14d: 00 00 add %al,(%rax)
  380. ...
  381.  
  382. ffffffff8010c150 <kernel_main>:
  383. ffffffff8010c150: 55 push %rbp
  384. ffffffff8010c151: 48 89 e5 mov %rsp,%rbp
  385. ffffffff8010c154: 48 81 ec c0 0f 00 00 sub $0xfc0,%rsp
  386. ffffffff8010c15b: 48 89 bd 48 f0 ff ff mov %rdi,-0xfb8(%rbp)
  387. ffffffff8010c162: c6 85 50 f0 ff ff 00 movb $0x0,-0xfb0(%rbp)
  388. ffffffff8010c169: c6 85 51 f0 ff ff 00 movb $0x0,-0xfaf(%rbp)
  389. ffffffff8010c170: c6 45 f2 00 movb $0x0,-0xe(%rbp)
  390. ffffffff8010c174: c6 45 f3 0f movb $0xf,-0xd(%rbp)
  391. ffffffff8010c178: 48 8d 85 50 f0 ff ff lea -0xfb0(%rbp),%rax
  392. ffffffff8010c17f: 48 89 c7 mov %rax,%rdi
  393. ffffffff8010c182: e8 2f 04 00 00 callq ffffffff8010c5b6 <monitor_switch_screen>
  394. ffffffff8010c187: 48 8d 85 50 f0 ff ff lea -0xfb0(%rbp),%rax
  395. ffffffff8010c18e: 48 89 c7 mov %rax,%rdi
  396. ffffffff8010c191: e8 55 03 00 00 callq ffffffff8010c4eb <monitor_clear>
  397. ffffffff8010c196: 48 8d 85 50 f0 ff ff lea -0xfb0(%rbp),%rax
  398. ffffffff8010c19d: 48 c7 c6 00 e0 10 80 mov $0xffffffff8010e000,%rsi
  399. ffffffff8010c1a4: 48 89 c7 mov %rax,%rdi
  400. ffffffff8010c1a7: e8 ce 03 00 00 callq ffffffff8010c57a <monitor_write>
  401. ffffffff8010c1ac: cc int3
  402. ffffffff8010c1ad: 66 87 db xchg %bx,%bx
  403. ffffffff8010c1b0: b8 de c0 ad de mov $0xdeadc0de,%eax
  404. ffffffff8010c1b5: c9 leaveq
  405. ffffffff8010c1b6: c3 retq
  406. ...
  407.  
  408. ffffffff8010c1b8 <outb>:
  409. ffffffff8010c1b8: 55 push %rbp
  410. ffffffff8010c1b9: 48 89 e5 mov %rsp,%rbp
  411. ffffffff8010c1bc: 48 83 ec 08 sub $0x8,%rsp
  412. ffffffff8010c1c0: 89 fa mov %edi,%edx
  413. ffffffff8010c1c2: 89 f0 mov %esi,%eax
  414. ffffffff8010c1c4: 66 89 55 fc mov %dx,-0x4(%rbp)
  415. ffffffff8010c1c8: 88 45 f8 mov %al,-0x8(%rbp)
  416. ffffffff8010c1cb: 0f b7 55 fc movzwl -0x4(%rbp),%edx
  417. ffffffff8010c1cf: 0f b6 45 f8 movzbl -0x8(%rbp),%eax
  418. ffffffff8010c1d3: ee out %al,(%dx)
  419. ffffffff8010c1d4: c9 leaveq
  420. ffffffff8010c1d5: c3 retq
  421.  
  422. ffffffff8010c1d6 <inb>:
  423. ffffffff8010c1d6: 55 push %rbp
  424. ffffffff8010c1d7: 48 89 e5 mov %rsp,%rbp
  425. ffffffff8010c1da: 53 push %rbx
  426. ffffffff8010c1db: 48 83 ec 18 sub $0x18,%rsp
  427. ffffffff8010c1df: 89 f8 mov %edi,%eax
  428. ffffffff8010c1e1: 66 89 45 e4 mov %ax,-0x1c(%rbp)
  429. ffffffff8010c1e5: 0f b7 55 e4 movzwl -0x1c(%rbp),%edx
  430. ffffffff8010c1e9: 66 89 55 e2 mov %dx,-0x1e(%rbp)
  431. ffffffff8010c1ed: 0f b7 55 e2 movzwl -0x1e(%rbp),%edx
  432. ffffffff8010c1f1: ec in (%dx),%al
  433. ffffffff8010c1f2: 89 c3 mov %eax,%ebx
  434. ffffffff8010c1f4: 88 5d f7 mov %bl,-0x9(%rbp)
  435. ffffffff8010c1f7: 0f b6 45 f7 movzbl -0x9(%rbp),%eax
  436. ffffffff8010c1fb: 48 83 c4 18 add $0x18,%rsp
  437. ffffffff8010c1ff: 5b pop %rbx
  438. ffffffff8010c200: 5d pop %rbp
  439. ffffffff8010c201: c3 retq
  440.  
  441. ffffffff8010c202 <inw>:
  442. ffffffff8010c202: 55 push %rbp
  443. ffffffff8010c203: 48 89 e5 mov %rsp,%rbp
  444. ffffffff8010c206: 53 push %rbx
  445. ffffffff8010c207: 48 83 ec 18 sub $0x18,%rsp
  446. ffffffff8010c20b: 89 f8 mov %edi,%eax
  447. ffffffff8010c20d: 66 89 45 e4 mov %ax,-0x1c(%rbp)
  448. ffffffff8010c211: 0f b7 55 e4 movzwl -0x1c(%rbp),%edx
  449. ffffffff8010c215: 66 89 55 e2 mov %dx,-0x1e(%rbp)
  450. ffffffff8010c219: 0f b7 55 e2 movzwl -0x1e(%rbp),%edx
  451. ffffffff8010c21d: 66 ed in (%dx),%ax
  452. ffffffff8010c21f: 89 c3 mov %eax,%ebx
  453. ffffffff8010c221: 66 89 5d f6 mov %bx,-0xa(%rbp)
  454. ffffffff8010c225: 0f b7 45 f6 movzwl -0xa(%rbp),%eax
  455. ffffffff8010c229: 48 83 c4 18 add $0x18,%rsp
  456. ffffffff8010c22d: 5b pop %rbx
  457. ffffffff8010c22e: 5d pop %rbp
  458. ffffffff8010c22f: c3 retq
  459.  
  460. ffffffff8010c230 <move_cursor>:
  461. ffffffff8010c230: 55 push %rbp
  462. ffffffff8010c231: 48 89 e5 mov %rsp,%rbp
  463. ffffffff8010c234: 48 83 ec 20 sub $0x20,%rsp
  464. ffffffff8010c238: 48 89 7d e8 mov %rdi,-0x18(%rbp)
  465. ffffffff8010c23c: 48 8b 45 e8 mov -0x18(%rbp),%rax
  466. ffffffff8010c240: 0f b6 40 01 movzbl 0x1(%rax),%eax
  467. ffffffff8010c244: 0f b6 d0 movzbl %al,%edx
  468. ffffffff8010c247: 89 d0 mov %edx,%eax
  469. ffffffff8010c249: c1 e0 02 shl $0x2,%eax
  470. ffffffff8010c24c: 01 d0 add %edx,%eax
  471. ffffffff8010c24e: c1 e0 04 shl $0x4,%eax
  472. ffffffff8010c251: 89 c2 mov %eax,%edx
  473. ffffffff8010c253: 48 8b 45 e8 mov -0x18(%rbp),%rax
  474. ffffffff8010c257: 0f b6 00 movzbl (%rax),%eax
  475. ffffffff8010c25a: 0f b6 c0 movzbl %al,%eax
  476. ffffffff8010c25d: 01 d0 add %edx,%eax
  477. ffffffff8010c25f: 66 89 45 fe mov %ax,-0x2(%rbp)
  478. ffffffff8010c263: be 0e 00 00 00 mov $0xe,%esi
  479. ffffffff8010c268: bf d4 03 00 00 mov $0x3d4,%edi
  480. ffffffff8010c26d: e8 46 ff ff ff callq ffffffff8010c1b8 <outb>
  481. ffffffff8010c272: 0f b7 45 fe movzwl -0x2(%rbp),%eax
  482. ffffffff8010c276: 66 c1 e8 08 shr $0x8,%ax
  483. ffffffff8010c27a: 0f b6 c0 movzbl %al,%eax
  484. ffffffff8010c27d: 89 c6 mov %eax,%esi
  485. ffffffff8010c27f: bf d5 03 00 00 mov $0x3d5,%edi
  486. ffffffff8010c284: e8 2f ff ff ff callq ffffffff8010c1b8 <outb>
  487. ffffffff8010c289: be 0f 00 00 00 mov $0xf,%esi
  488. ffffffff8010c28e: bf d4 03 00 00 mov $0x3d4,%edi
  489. ffffffff8010c293: e8 20 ff ff ff callq ffffffff8010c1b8 <outb>
  490. ffffffff8010c298: 0f b7 45 fe movzwl -0x2(%rbp),%eax
  491. ffffffff8010c29c: 0f b6 c0 movzbl %al,%eax
  492. ffffffff8010c29f: 89 c6 mov %eax,%esi
  493. ffffffff8010c2a1: bf d5 03 00 00 mov $0x3d5,%edi
  494. ffffffff8010c2a6: e8 0d ff ff ff callq ffffffff8010c1b8 <outb>
  495. ffffffff8010c2ab: c9 leaveq
  496. ffffffff8010c2ac: c3 retq
  497.  
  498. ffffffff8010c2ad <scroll>:
  499. ffffffff8010c2ad: 55 push %rbp
  500. ffffffff8010c2ae: 48 89 e5 mov %rsp,%rbp
  501. ffffffff8010c2b1: 48 83 ec 18 sub $0x18,%rsp
  502. ffffffff8010c2b5: 48 89 7d e8 mov %rdi,-0x18(%rbp)
  503. ffffffff8010c2b9: 48 8b 45 e8 mov -0x18(%rbp),%rax
  504. ffffffff8010c2bd: 0f b6 80 a2 0f 00 00 movzbl 0xfa2(%rax),%eax
  505. ffffffff8010c2c4: 0f b6 c0 movzbl %al,%eax
  506. ffffffff8010c2c7: c1 e0 04 shl $0x4,%eax
  507. ffffffff8010c2ca: 89 c2 mov %eax,%edx
  508. ffffffff8010c2cc: 48 8b 45 e8 mov -0x18(%rbp),%rax
  509. ffffffff8010c2d0: 0f b6 80 a3 0f 00 00 movzbl 0xfa3(%rax),%eax
  510. ffffffff8010c2d7: 83 e0 0f and $0xf,%eax
  511. ffffffff8010c2da: 09 d0 or %edx,%eax
  512. ffffffff8010c2dc: 88 45 fb mov %al,-0x5(%rbp)
  513. ffffffff8010c2df: 0f b6 45 fb movzbl -0x5(%rbp),%eax
  514. ffffffff8010c2e3: c1 e0 08 shl $0x8,%eax
  515. ffffffff8010c2e6: 83 c8 20 or $0x20,%eax
  516. ffffffff8010c2e9: 66 89 45 f8 mov %ax,-0x8(%rbp)
  517. ffffffff8010c2ed: 48 8b 45 e8 mov -0x18(%rbp),%rax
  518. ffffffff8010c2f1: 0f b6 40 01 movzbl 0x1(%rax),%eax
  519. ffffffff8010c2f5: 3c 18 cmp $0x18,%al
  520. ffffffff8010c2f7: 76 61 jbe ffffffff8010c35a <scroll+0xad>
  521. ffffffff8010c2f9: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
  522. ffffffff8010c300: eb 21 jmp ffffffff8010c323 <scroll+0x76>
  523. ffffffff8010c302: 8b 45 fc mov -0x4(%rbp),%eax
  524. ffffffff8010c305: 8d 50 50 lea 0x50(%rax),%edx
  525. ffffffff8010c308: 48 8b 45 e8 mov -0x18(%rbp),%rax
  526. ffffffff8010c30c: 89 d2 mov %edx,%edx
  527. ffffffff8010c30e: 0f b7 4c 50 02 movzwl 0x2(%rax,%rdx,2),%ecx
  528. ffffffff8010c313: 48 8b 45 e8 mov -0x18(%rbp),%rax
  529. ffffffff8010c317: 8b 55 fc mov -0x4(%rbp),%edx
  530. ffffffff8010c31a: 66 89 4c 50 02 mov %cx,0x2(%rax,%rdx,2)
  531. ffffffff8010c31f: 83 45 fc 01 addl $0x1,-0x4(%rbp)
  532. ffffffff8010c323: 81 7d fc 7f 07 00 00 cmpl $0x77f,-0x4(%rbp)
  533. ffffffff8010c32a: 76 d6 jbe ffffffff8010c302 <scroll+0x55>
  534. ffffffff8010c32c: c7 45 fc 80 07 00 00 movl $0x780,-0x4(%rbp)
  535. ffffffff8010c333: eb 14 jmp ffffffff8010c349 <scroll+0x9c>
  536. ffffffff8010c335: 48 8b 45 e8 mov -0x18(%rbp),%rax
  537. ffffffff8010c339: 8b 55 fc mov -0x4(%rbp),%edx
  538. ffffffff8010c33c: 0f b7 4d f8 movzwl -0x8(%rbp),%ecx
  539. ffffffff8010c340: 66 89 4c 50 02 mov %cx,0x2(%rax,%rdx,2)
  540. ffffffff8010c345: 83 45 fc 01 addl $0x1,-0x4(%rbp)
  541. ffffffff8010c349: 81 7d fc cf 07 00 00 cmpl $0x7cf,-0x4(%rbp)
  542. ffffffff8010c350: 76 e3 jbe ffffffff8010c335 <scroll+0x88>
  543. ffffffff8010c352: 48 8b 45 e8 mov -0x18(%rbp),%rax
  544. ffffffff8010c356: c6 40 01 18 movb $0x18,0x1(%rax)
  545. ffffffff8010c35a: c9 leaveq
  546. ffffffff8010c35b: c3 retq
  547.  
  548. ffffffff8010c35c <monitor_put>:
  549. ffffffff8010c35c: 55 push %rbp
  550. ffffffff8010c35d: 48 89 e5 mov %rsp,%rbp
  551. ffffffff8010c360: 48 83 ec 20 sub $0x20,%rsp
  552. ffffffff8010c364: 48 89 7d e8 mov %rdi,-0x18(%rbp)
  553. ffffffff8010c368: 89 f0 mov %esi,%eax
  554. ffffffff8010c36a: 88 45 e4 mov %al,-0x1c(%rbp)
  555. ffffffff8010c36d: 48 8b 45 e8 mov -0x18(%rbp),%rax
  556. ffffffff8010c371: 0f b6 80 a2 0f 00 00 movzbl 0xfa2(%rax),%eax
  557. ffffffff8010c378: 0f b6 c0 movzbl %al,%eax
  558. ffffffff8010c37b: c1 e0 04 shl $0x4,%eax
  559. ffffffff8010c37e: 89 c2 mov %eax,%edx
  560. ffffffff8010c380: 48 8b 45 e8 mov -0x18(%rbp),%rax
  561. ffffffff8010c384: 0f b6 80 a3 0f 00 00 movzbl 0xfa3(%rax),%eax
  562. ffffffff8010c38b: 83 e0 0f and $0xf,%eax
  563. ffffffff8010c38e: 09 d0 or %edx,%eax
  564. ffffffff8010c390: 88 45 ff mov %al,-0x1(%rbp)
  565. ffffffff8010c393: 0f b6 45 ff movzbl -0x1(%rbp),%eax
  566. ffffffff8010c397: c1 e0 08 shl $0x8,%eax
  567. ffffffff8010c39a: 66 89 45 fc mov %ax,-0x4(%rbp)
  568. ffffffff8010c39e: 80 7d e4 08 cmpb $0x8,-0x1c(%rbp)
  569. ffffffff8010c3a2: 75 20 jne ffffffff8010c3c4 <monitor_put+0x68>
  570. ffffffff8010c3a4: 48 8b 45 e8 mov -0x18(%rbp),%rax
  571. ffffffff8010c3a8: 0f b6 00 movzbl (%rax),%eax
  572. ffffffff8010c3ab: 84 c0 test %al,%al
  573. ffffffff8010c3ad: 74 15 je ffffffff8010c3c4 <monitor_put+0x68>
  574. ffffffff8010c3af: 48 8b 45 e8 mov -0x18(%rbp),%rax
  575. ffffffff8010c3b3: 0f b6 00 movzbl (%rax),%eax
  576. ffffffff8010c3b6: 8d 50 ff lea -0x1(%rax),%edx
  577. ffffffff8010c3b9: 48 8b 45 e8 mov -0x18(%rbp),%rax
  578. ffffffff8010c3bd: 88 10 mov %dl,(%rax)
  579. ffffffff8010c3bf: e9 a3 00 00 00 jmpq ffffffff8010c467 <monitor_put+0x10b>
  580. ffffffff8010c3c4: 80 7d e4 09 cmpb $0x9,-0x1c(%rbp)
  581. ffffffff8010c3c8: 75 1a jne ffffffff8010c3e4 <monitor_put+0x88>
  582. ffffffff8010c3ca: 48 8b 45 e8 mov -0x18(%rbp),%rax
  583. ffffffff8010c3ce: 0f b6 00 movzbl (%rax),%eax
  584. ffffffff8010c3d1: 83 c0 08 add $0x8,%eax
  585. ffffffff8010c3d4: 89 c2 mov %eax,%edx
  586. ffffffff8010c3d6: 83 e2 f8 and $0xfffffff8,%edx
  587. ffffffff8010c3d9: 48 8b 45 e8 mov -0x18(%rbp),%rax
  588. ffffffff8010c3dd: 88 10 mov %dl,(%rax)
  589. ffffffff8010c3df: e9 83 00 00 00 jmpq ffffffff8010c467 <monitor_put+0x10b>
  590. ffffffff8010c3e4: 80 7d e4 0d cmpb $0xd,-0x1c(%rbp)
  591. ffffffff8010c3e8: 75 09 jne ffffffff8010c3f3 <monitor_put+0x97>
  592. ffffffff8010c3ea: 48 8b 45 e8 mov -0x18(%rbp),%rax
  593. ffffffff8010c3ee: c6 00 00 movb $0x0,(%rax)
  594. ffffffff8010c3f1: eb 74 jmp ffffffff8010c467 <monitor_put+0x10b>
  595. ffffffff8010c3f3: 80 7d e4 0a cmpb $0xa,-0x1c(%rbp)
  596. ffffffff8010c3f7: 75 1b jne ffffffff8010c414 <monitor_put+0xb8>
  597. ffffffff8010c3f9: 48 8b 45 e8 mov -0x18(%rbp),%rax
  598. ffffffff8010c3fd: c6 00 00 movb $0x0,(%rax)
  599. ffffffff8010c400: 48 8b 45 e8 mov -0x18(%rbp),%rax
  600. ffffffff8010c404: 0f b6 40 01 movzbl 0x1(%rax),%eax
  601. ffffffff8010c408: 8d 50 01 lea 0x1(%rax),%edx
  602. ffffffff8010c40b: 48 8b 45 e8 mov -0x18(%rbp),%rax
  603. ffffffff8010c40f: 88 50 01 mov %dl,0x1(%rax)
  604. ffffffff8010c412: eb 53 jmp ffffffff8010c467 <monitor_put+0x10b>
  605. ffffffff8010c414: 80 7d e4 1f cmpb $0x1f,-0x1c(%rbp)
  606. ffffffff8010c418: 7e 4d jle ffffffff8010c467 <monitor_put+0x10b>
  607. ffffffff8010c41a: 48 8b 45 e8 mov -0x18(%rbp),%rax
  608. ffffffff8010c41e: 0f b6 40 01 movzbl 0x1(%rax),%eax
  609. ffffffff8010c422: 0f b6 d0 movzbl %al,%edx
  610. ffffffff8010c425: 89 d0 mov %edx,%eax
  611. ffffffff8010c427: c1 e0 02 shl $0x2,%eax
  612. ffffffff8010c42a: 01 d0 add %edx,%eax
  613. ffffffff8010c42c: c1 e0 04 shl $0x4,%eax
  614. ffffffff8010c42f: 89 c2 mov %eax,%edx
  615. ffffffff8010c431: 48 8b 45 e8 mov -0x18(%rbp),%rax
  616. ffffffff8010c435: 0f b6 00 movzbl (%rax),%eax
  617. ffffffff8010c438: 0f b6 c0 movzbl %al,%eax
  618. ffffffff8010c43b: 8d 34 02 lea (%rdx,%rax,1),%esi
  619. ffffffff8010c43e: 66 0f be 55 e4 movsbw -0x1c(%rbp),%dx
  620. ffffffff8010c443: 0f b7 45 fc movzwl -0x4(%rbp),%eax
  621. ffffffff8010c447: 09 d0 or %edx,%eax
  622. ffffffff8010c449: 89 c1 mov %eax,%ecx
  623. ffffffff8010c44b: 48 8b 45 e8 mov -0x18(%rbp),%rax
  624. ffffffff8010c44f: 48 63 d6 movslq %esi,%rdx
  625. ffffffff8010c452: 66 89 4c 50 02 mov %cx,0x2(%rax,%rdx,2)
  626. ffffffff8010c457: 48 8b 45 e8 mov -0x18(%rbp),%rax
  627. ffffffff8010c45b: 0f b6 00 movzbl (%rax),%eax
  628. ffffffff8010c45e: 8d 50 01 lea 0x1(%rax),%edx
  629. ffffffff8010c461: 48 8b 45 e8 mov -0x18(%rbp),%rax
  630. ffffffff8010c465: 88 10 mov %dl,(%rax)
  631. ffffffff8010c467: 48 8b 45 e8 mov -0x18(%rbp),%rax
  632. ffffffff8010c46b: 0f b6 00 movzbl (%rax),%eax
  633. ffffffff8010c46e: 3c 4f cmp $0x4f,%al
  634. ffffffff8010c470: 76 19 jbe ffffffff8010c48b <monitor_put+0x12f>
  635. ffffffff8010c472: 48 8b 45 e8 mov -0x18(%rbp),%rax
  636. ffffffff8010c476: c6 00 00 movb $0x0,(%rax)
  637. ffffffff8010c479: 48 8b 45 e8 mov -0x18(%rbp),%rax
  638. ffffffff8010c47d: 0f b6 40 01 movzbl 0x1(%rax),%eax
  639. ffffffff8010c481: 8d 50 01 lea 0x1(%rax),%edx
  640. ffffffff8010c484: 48 8b 45 e8 mov -0x18(%rbp),%rax
  641. ffffffff8010c488: 88 50 01 mov %dl,0x1(%rax)
  642. ffffffff8010c48b: 48 8b 45 e8 mov -0x18(%rbp),%rax
  643. ffffffff8010c48f: 48 89 c7 mov %rax,%rdi
  644. ffffffff8010c492: e8 16 fe ff ff callq ffffffff8010c2ad <scroll>
  645. ffffffff8010c497: 48 8b 45 e8 mov -0x18(%rbp),%rax
  646. ffffffff8010c49b: 48 89 c7 mov %rax,%rdi
  647. ffffffff8010c49e: e8 02 00 00 00 callq ffffffff8010c4a5 <monitor_refresh>
  648. ffffffff8010c4a3: c9 leaveq
  649. ffffffff8010c4a4: c3 retq
  650.  
  651. ffffffff8010c4a5 <monitor_refresh>:
  652. ffffffff8010c4a5: 55 push %rbp
  653. ffffffff8010c4a6: 48 89 e5 mov %rsp,%rbp
  654. ffffffff8010c4a9: 48 83 ec 10 sub $0x10,%rsp
  655. ffffffff8010c4ad: 48 89 7d f8 mov %rdi,-0x8(%rbp)
  656. ffffffff8010c4b1: 48 8b 05 48 2b 00 00 mov 0x2b48(%rip),%rax # ffffffff8010f000 <current_screen>
  657. ffffffff8010c4b8: 48 39 45 f8 cmp %rax,-0x8(%rbp)
  658. ffffffff8010c4bc: 75 1f jne ffffffff8010c4dd <monitor_refresh+0x38>
  659. ffffffff8010c4be: 48 8b 45 f8 mov -0x8(%rbp),%rax
  660. ffffffff8010c4c2: 48 8d 48 02 lea 0x2(%rax),%rcx
  661. ffffffff8010c4c6: 48 8b 05 33 0b 00 00 mov 0xb33(%rip),%rax # ffffffff8010d000 <video_memory>
  662. ffffffff8010c4cd: ba a0 0f 00 00 mov $0xfa0,%edx
  663. ffffffff8010c4d2: 48 89 ce mov %rcx,%rsi
  664. ffffffff8010c4d5: 48 89 c7 mov %rax,%rdi
  665. ffffffff8010c4d8: e8 b7 03 00 00 callq ffffffff8010c894 <memcpy>
  666. ffffffff8010c4dd: 48 8b 45 f8 mov -0x8(%rbp),%rax
  667. ffffffff8010c4e1: 48 89 c7 mov %rax,%rdi
  668. ffffffff8010c4e4: e8 47 fd ff ff callq ffffffff8010c230 <move_cursor>
  669. ffffffff8010c4e9: c9 leaveq
  670. ffffffff8010c4ea: c3 retq
  671.  
  672. ffffffff8010c4eb <monitor_clear>:
  673. ffffffff8010c4eb: 55 push %rbp
  674. ffffffff8010c4ec: 48 89 e5 mov %rsp,%rbp
  675. ffffffff8010c4ef: 48 83 ec 20 sub $0x20,%rsp
  676. ffffffff8010c4f3: 48 89 7d e8 mov %rdi,-0x18(%rbp)
  677. ffffffff8010c4f7: 48 8b 45 e8 mov -0x18(%rbp),%rax
  678. ffffffff8010c4fb: 0f b6 80 a2 0f 00 00 movzbl 0xfa2(%rax),%eax
  679. ffffffff8010c502: 0f b6 c0 movzbl %al,%eax
  680. ffffffff8010c505: c1 e0 04 shl $0x4,%eax
  681. ffffffff8010c508: 89 c2 mov %eax,%edx
  682. ffffffff8010c50a: 48 8b 45 e8 mov -0x18(%rbp),%rax
  683. ffffffff8010c50e: 0f b6 80 a3 0f 00 00 movzbl 0xfa3(%rax),%eax
  684. ffffffff8010c515: 83 e0 0f and $0xf,%eax
  685. ffffffff8010c518: 09 d0 or %edx,%eax
  686. ffffffff8010c51a: 88 45 fb mov %al,-0x5(%rbp)
  687. ffffffff8010c51d: 0f b6 45 fb movzbl -0x5(%rbp),%eax
  688. ffffffff8010c521: c1 e0 08 shl $0x8,%eax
  689. ffffffff8010c524: 83 c8 20 or $0x20,%eax
  690. ffffffff8010c527: 66 89 45 f8 mov %ax,-0x8(%rbp)
  691. ffffffff8010c52b: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
  692. ffffffff8010c532: eb 14 jmp ffffffff8010c548 <monitor_clear+0x5d>
  693. ffffffff8010c534: 48 8b 45 e8 mov -0x18(%rbp),%rax
  694. ffffffff8010c538: 8b 55 fc mov -0x4(%rbp),%edx
  695. ffffffff8010c53b: 0f b7 4d f8 movzwl -0x8(%rbp),%ecx
  696. ffffffff8010c53f: 66 89 4c 50 02 mov %cx,0x2(%rax,%rdx,2)
  697. ffffffff8010c544: 83 45 fc 01 addl $0x1,-0x4(%rbp)
  698. ffffffff8010c548: 81 7d fc cf 07 00 00 cmpl $0x7cf,-0x4(%rbp)
  699. ffffffff8010c54f: 76 e3 jbe ffffffff8010c534 <monitor_clear+0x49>
  700. ffffffff8010c551: 48 8b 45 e8 mov -0x18(%rbp),%rax
  701. ffffffff8010c555: c6 00 00 movb $0x0,(%rax)
  702. ffffffff8010c558: 48 8b 45 e8 mov -0x18(%rbp),%rax
  703. ffffffff8010c55c: c6 40 01 00 movb $0x0,0x1(%rax)
  704. ffffffff8010c560: 48 8b 45 e8 mov -0x18(%rbp),%rax
  705. ffffffff8010c564: 48 89 c7 mov %rax,%rdi
  706. ffffffff8010c567: e8 c4 fc ff ff callq ffffffff8010c230 <move_cursor>
  707. ffffffff8010c56c: 48 8b 45 e8 mov -0x18(%rbp),%rax
  708. ffffffff8010c570: 48 89 c7 mov %rax,%rdi
  709. ffffffff8010c573: e8 2d ff ff ff callq ffffffff8010c4a5 <monitor_refresh>
  710. ffffffff8010c578: c9 leaveq
  711. ffffffff8010c579: c3 retq
  712.  
  713. ffffffff8010c57a <monitor_write>:
  714. ffffffff8010c57a: 55 push %rbp
  715. ffffffff8010c57b: 48 89 e5 mov %rsp,%rbp
  716. ffffffff8010c57e: 48 83 ec 10 sub $0x10,%rsp
  717. ffffffff8010c582: 48 89 7d f8 mov %rdi,-0x8(%rbp)
  718. ffffffff8010c586: 48 89 75 f0 mov %rsi,-0x10(%rbp)
  719. ffffffff8010c58a: eb 1d jmp ffffffff8010c5a9 <monitor_write+0x2f>
  720. ffffffff8010c58c: 48 8b 45 f0 mov -0x10(%rbp),%rax
  721. ffffffff8010c590: 0f b6 00 movzbl (%rax),%eax
  722. ffffffff8010c593: 0f be d0 movsbl %al,%edx
  723. ffffffff8010c596: 48 83 45 f0 01 addq $0x1,-0x10(%rbp)
  724. ffffffff8010c59b: 48 8b 45 f8 mov -0x8(%rbp),%rax
  725. ffffffff8010c59f: 89 d6 mov %edx,%esi
  726. ffffffff8010c5a1: 48 89 c7 mov %rax,%rdi
  727. ffffffff8010c5a4: e8 b3 fd ff ff callq ffffffff8010c35c <monitor_put>
  728. ffffffff8010c5a9: 48 8b 45 f0 mov -0x10(%rbp),%rax
  729. ffffffff8010c5ad: 0f b6 00 movzbl (%rax),%eax
  730. ffffffff8010c5b0: 84 c0 test %al,%al
  731. ffffffff8010c5b2: 75 d8 jne ffffffff8010c58c <monitor_write+0x12>
  732. ffffffff8010c5b4: c9 leaveq
  733. ffffffff8010c5b5: c3 retq
  734.  
  735. ffffffff8010c5b6 <monitor_switch_screen>:
  736. ffffffff8010c5b6: 55 push %rbp
  737. ffffffff8010c5b7: 48 89 e5 mov %rsp,%rbp
  738. ffffffff8010c5ba: 48 83 ec 10 sub $0x10,%rsp
  739. ffffffff8010c5be: 48 89 7d f8 mov %rdi,-0x8(%rbp)
  740. ffffffff8010c5c2: 48 8b 45 f8 mov -0x8(%rbp),%rax
  741. ffffffff8010c5c6: 48 89 05 33 2a 00 00 mov %rax,0x2a33(%rip) # ffffffff8010f000 <current_screen>
  742. ffffffff8010c5cd: 48 8b 45 f8 mov -0x8(%rbp),%rax
  743. ffffffff8010c5d1: 48 89 c7 mov %rax,%rdi
  744. ffffffff8010c5d4: e8 cc fe ff ff callq ffffffff8010c4a5 <monitor_refresh>
  745. ffffffff8010c5d9: c9 leaveq
  746. ffffffff8010c5da: c3 retq
  747.  
  748. ffffffff8010c5db <monitor_write_dec>:
  749. ffffffff8010c5db: 55 push %rbp
  750. ffffffff8010c5dc: 48 89 e5 mov %rsp,%rbp
  751. ffffffff8010c5df: 48 81 ec b0 00 00 00 sub $0xb0,%rsp
  752. ffffffff8010c5e6: 48 89 bd 68 ff ff ff mov %rdi,-0x98(%rbp)
  753. ffffffff8010c5ed: 48 89 b5 60 ff ff ff mov %rsi,-0xa0(%rbp)
  754. ffffffff8010c5f4: 48 83 bd 60 ff ff ff cmpq $0x0,-0xa0(%rbp)
  755. ffffffff8010c5fb: 00
  756. ffffffff8010c5fc: 75 19 jne ffffffff8010c617 <monitor_write_dec+0x3c>
  757. ffffffff8010c5fe: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
  758. ffffffff8010c605: be 30 00 00 00 mov $0x30,%esi
  759. ffffffff8010c60a: 48 89 c7 mov %rax,%rdi
  760. ffffffff8010c60d: e8 4a fd ff ff callq ffffffff8010c35c <monitor_put>
  761. ffffffff8010c612: e9 e5 00 00 00 jmpq ffffffff8010c6fc <monitor_write_dec+0x121>
  762. ffffffff8010c617: 48 8b 85 60 ff ff ff mov -0xa0(%rbp),%rax
  763. ffffffff8010c61e: 48 89 45 f8 mov %rax,-0x8(%rbp)
  764. ffffffff8010c622: c7 45 f4 00 00 00 00 movl $0x0,-0xc(%rbp)
  765. ffffffff8010c629: eb 69 jmp ffffffff8010c694 <monitor_write_dec+0xb9>
  766. ffffffff8010c62b: 48 8b 4d f8 mov -0x8(%rbp),%rcx
  767. ffffffff8010c62f: 48 ba cd cc cc cc cc movabs $0xcccccccccccccccd,%rdx
  768. ffffffff8010c636: cc cc cc
  769. ffffffff8010c639: 48 89 c8 mov %rcx,%rax
  770. ffffffff8010c63c: 48 f7 e2 mul %rdx
  771. ffffffff8010c63f: 48 c1 ea 03 shr $0x3,%rdx
  772. ffffffff8010c643: 48 89 d0 mov %rdx,%rax
  773. ffffffff8010c646: 48 c1 e0 02 shl $0x2,%rax
  774. ffffffff8010c64a: 48 01 d0 add %rdx,%rax
  775. ffffffff8010c64d: 48 01 c0 add %rax,%rax
  776. ffffffff8010c650: 48 89 ca mov %rcx,%rdx
  777. ffffffff8010c653: 48 29 c2 sub %rax,%rdx
  778. ffffffff8010c656: 89 d0 mov %edx,%eax
  779. ffffffff8010c658: 83 c0 30 add $0x30,%eax
  780. ffffffff8010c65b: 89 c2 mov %eax,%edx
  781. ffffffff8010c65d: 8b 45 f4 mov -0xc(%rbp),%eax
  782. ffffffff8010c660: 48 98 cltq
  783. ffffffff8010c662: 88 54 05 b0 mov %dl,-0x50(%rbp,%rax,1)
  784. ffffffff8010c666: 48 8b 45 f8 mov -0x8(%rbp),%rax
  785. ffffffff8010c66a: 48 89 85 58 ff ff ff mov %rax,-0xa8(%rbp)
  786. ffffffff8010c671: 48 ba cd cc cc cc cc movabs $0xcccccccccccccccd,%rdx
  787. ffffffff8010c678: cc cc cc
  788. ffffffff8010c67b: 48 8b 85 58 ff ff ff mov -0xa8(%rbp),%rax
  789. ffffffff8010c682: 48 f7 e2 mul %rdx
  790. ffffffff8010c685: 48 89 d0 mov %rdx,%rax
  791. ffffffff8010c688: 48 c1 e8 03 shr $0x3,%rax
  792. ffffffff8010c68c: 48 89 45 f8 mov %rax,-0x8(%rbp)
  793. ffffffff8010c690: 83 45 f4 01 addl $0x1,-0xc(%rbp)
  794. ffffffff8010c694: 48 83 7d f8 00 cmpq $0x0,-0x8(%rbp)
  795. ffffffff8010c699: 75 90 jne ffffffff8010c62b <monitor_write_dec+0x50>
  796. ffffffff8010c69b: 8b 45 f4 mov -0xc(%rbp),%eax
  797. ffffffff8010c69e: 48 98 cltq
  798. ffffffff8010c6a0: c6 44 05 b0 00 movb $0x0,-0x50(%rbp,%rax,1)
  799. ffffffff8010c6a5: 8b 45 f4 mov -0xc(%rbp),%eax
  800. ffffffff8010c6a8: 48 98 cltq
  801. ffffffff8010c6aa: c6 84 05 70 ff ff ff movb $0x0,-0x90(%rbp,%rax,1)
  802. ffffffff8010c6b1: 00
  803. ffffffff8010c6b2: 83 6d f4 01 subl $0x1,-0xc(%rbp)
  804. ffffffff8010c6b6: c7 45 f0 00 00 00 00 movl $0x0,-0x10(%rbp)
  805. ffffffff8010c6bd: eb 1e jmp ffffffff8010c6dd <monitor_write_dec+0x102>
  806. ffffffff8010c6bf: 8b 45 f0 mov -0x10(%rbp),%eax
  807. ffffffff8010c6c2: 48 98 cltq
  808. ffffffff8010c6c4: 0f b6 54 05 b0 movzbl -0x50(%rbp,%rax,1),%edx
  809. ffffffff8010c6c9: 8b 45 f4 mov -0xc(%rbp),%eax
  810. ffffffff8010c6cc: 48 98 cltq
  811. ffffffff8010c6ce: 88 94 05 70 ff ff ff mov %dl,-0x90(%rbp,%rax,1)
  812. ffffffff8010c6d5: 83 6d f4 01 subl $0x1,-0xc(%rbp)
  813. ffffffff8010c6d9: 83 45 f0 01 addl $0x1,-0x10(%rbp)
  814. ffffffff8010c6dd: 83 7d f4 00 cmpl $0x0,-0xc(%rbp)
  815. ffffffff8010c6e1: 79 dc jns ffffffff8010c6bf <monitor_write_dec+0xe4>
  816. ffffffff8010c6e3: 48 8d 95 70 ff ff ff lea -0x90(%rbp),%rdx
  817. ffffffff8010c6ea: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
  818. ffffffff8010c6f1: 48 89 d6 mov %rdx,%rsi
  819. ffffffff8010c6f4: 48 89 c7 mov %rax,%rdi
  820. ffffffff8010c6f7: e8 7e fe ff ff callq ffffffff8010c57a <monitor_write>
  821. ffffffff8010c6fc: c9 leaveq
  822. ffffffff8010c6fd: c3 retq
  823.  
  824. ffffffff8010c6fe <monitor_write_hex>:
  825. ffffffff8010c6fe: 55 push %rbp
  826. ffffffff8010c6ff: 48 89 e5 mov %rsp,%rbp
  827. ffffffff8010c702: 53 push %rbx
  828. ffffffff8010c703: 48 83 ec 28 sub $0x28,%rsp
  829. ffffffff8010c707: 48 89 7d d8 mov %rdi,-0x28(%rbp)
  830. ffffffff8010c70b: 48 89 75 d0 mov %rsi,-0x30(%rbp)
  831. ffffffff8010c70f: 48 8b 45 d8 mov -0x28(%rbp),%rax
  832. ffffffff8010c713: 48 c7 c6 0e e0 10 80 mov $0xffffffff8010e00e,%rsi
  833. ffffffff8010c71a: 48 89 c7 mov %rax,%rdi
  834. ffffffff8010c71d: e8 58 fe ff ff callq ffffffff8010c57a <monitor_write>
  835. ffffffff8010c722: 48 83 7d d0 00 cmpq $0x0,-0x30(%rbp)
  836. ffffffff8010c727: 75 13 jne ffffffff8010c73c <monitor_write_hex+0x3e>
  837. ffffffff8010c729: 48 8b 45 d8 mov -0x28(%rbp),%rax
  838. ffffffff8010c72d: be 30 00 00 00 mov $0x30,%esi
  839. ffffffff8010c732: 48 89 c7 mov %rax,%rdi
  840. ffffffff8010c735: e8 22 fc ff ff callq ffffffff8010c35c <monitor_put>
  841. ffffffff8010c73a: eb 6d jmp ffffffff8010c7a9 <monitor_write_hex+0xab>
  842. ffffffff8010c73c: c6 45 ef 3c movb $0x3c,-0x11(%rbp)
  843. ffffffff8010c740: eb 61 jmp ffffffff8010c7a3 <monitor_write_hex+0xa5>
  844. ffffffff8010c742: 0f be 45 ef movsbl -0x11(%rbp),%eax
  845. ffffffff8010c746: 48 8b 55 d0 mov -0x30(%rbp),%rdx
  846. ffffffff8010c74a: 48 89 d3 mov %rdx,%rbx
  847. ffffffff8010c74d: 89 c1 mov %eax,%ecx
  848. ffffffff8010c74f: 48 d3 eb shr %cl,%rbx
  849. ffffffff8010c752: 48 89 d8 mov %rbx,%rax
  850. ffffffff8010c755: 83 e0 0f and $0xf,%eax
  851. ffffffff8010c758: 88 45 ee mov %al,-0x12(%rbp)
  852. ffffffff8010c75b: 80 7d ee 09 cmpb $0x9,-0x12(%rbp)
  853. ffffffff8010c75f: 76 1a jbe ffffffff8010c77b <monitor_write_hex+0x7d>
  854. ffffffff8010c761: 0f b6 45 ee movzbl -0x12(%rbp),%eax
  855. ffffffff8010c765: 83 c0 37 add $0x37,%eax
  856. ffffffff8010c768: 0f be d0 movsbl %al,%edx
  857. ffffffff8010c76b: 48 8b 45 d8 mov -0x28(%rbp),%rax
  858. ffffffff8010c76f: 89 d6 mov %edx,%esi
  859. ffffffff8010c771: 48 89 c7 mov %rax,%rdi
  860. ffffffff8010c774: e8 e3 fb ff ff callq ffffffff8010c35c <monitor_put>
  861. ffffffff8010c779: eb 1e jmp ffffffff8010c799 <monitor_write_hex+0x9b>
  862. ffffffff8010c77b: 80 7d ee 00 cmpb $0x0,-0x12(%rbp)
  863. ffffffff8010c77f: 74 18 je ffffffff8010c799 <monitor_write_hex+0x9b>
  864. ffffffff8010c781: 0f b6 45 ee movzbl -0x12(%rbp),%eax
  865. ffffffff8010c785: 83 c0 30 add $0x30,%eax
  866. ffffffff8010c788: 0f be d0 movsbl %al,%edx
  867. ffffffff8010c78b: 48 8b 45 d8 mov -0x28(%rbp),%rax
  868. ffffffff8010c78f: 89 d6 mov %edx,%esi
  869. ffffffff8010c791: 48 89 c7 mov %rax,%rdi
  870. ffffffff8010c794: e8 c3 fb ff ff callq ffffffff8010c35c <monitor_put>
  871. ffffffff8010c799: 0f b6 45 ef movzbl -0x11(%rbp),%eax
  872. ffffffff8010c79d: 83 e8 04 sub $0x4,%eax
  873. ffffffff8010c7a0: 88 45 ef mov %al,-0x11(%rbp)
  874. ffffffff8010c7a3: 80 7d ef 00 cmpb $0x0,-0x11(%rbp)
  875. ffffffff8010c7a7: 79 99 jns ffffffff8010c742 <monitor_write_hex+0x44>
  876. ffffffff8010c7a9: 48 83 c4 28 add $0x28,%rsp
  877. ffffffff8010c7ad: 5b pop %rbx
  878. ffffffff8010c7ae: 5d pop %rbp
  879. ffffffff8010c7af: c3 retq
  880.  
  881. ffffffff8010c7b0 <monitor_write_dual>:
  882. ffffffff8010c7b0: 55 push %rbp
  883. ffffffff8010c7b1: 48 89 e5 mov %rsp,%rbp
  884. ffffffff8010c7b4: 53 push %rbx
  885. ffffffff8010c7b5: 48 83 ec 28 sub $0x28,%rsp
  886. ffffffff8010c7b9: 48 89 7d d8 mov %rdi,-0x28(%rbp)
  887. ffffffff8010c7bd: 48 89 75 d0 mov %rsi,-0x30(%rbp)
  888. ffffffff8010c7c1: 48 8b 45 d8 mov -0x28(%rbp),%rax
  889. ffffffff8010c7c5: 48 c7 c6 11 e0 10 80 mov $0xffffffff8010e011,%rsi
  890. ffffffff8010c7cc: 48 89 c7 mov %rax,%rdi
  891. ffffffff8010c7cf: e8 a6 fd ff ff callq ffffffff8010c57a <monitor_write>
  892. ffffffff8010c7d4: c6 45 ef 3f movb $0x3f,-0x11(%rbp)
  893. ffffffff8010c7d8: eb 35 jmp ffffffff8010c80f <monitor_write_dual+0x5f>
  894. ffffffff8010c7da: 0f be 45 ef movsbl -0x11(%rbp),%eax
  895. ffffffff8010c7de: 48 8b 55 d0 mov -0x30(%rbp),%rdx
  896. ffffffff8010c7e2: 48 89 d3 mov %rdx,%rbx
  897. ffffffff8010c7e5: 89 c1 mov %eax,%ecx
  898. ffffffff8010c7e7: 48 d3 eb shr %cl,%rbx
  899. ffffffff8010c7ea: 48 89 d8 mov %rbx,%rax
  900. ffffffff8010c7ed: 83 e0 01 and $0x1,%eax
  901. ffffffff8010c7f0: 88 45 ee mov %al,-0x12(%rbp)
  902. ffffffff8010c7f3: 0f b6 45 ee movzbl -0x12(%rbp),%eax
  903. ffffffff8010c7f7: 83 c0 30 add $0x30,%eax
  904. ffffffff8010c7fa: 0f be d0 movsbl %al,%edx
  905. ffffffff8010c7fd: 48 8b 45 d8 mov -0x28(%rbp),%rax
  906. ffffffff8010c801: 89 d6 mov %edx,%esi
  907. ffffffff8010c803: 48 89 c7 mov %rax,%rdi
  908. ffffffff8010c806: e8 51 fb ff ff callq ffffffff8010c35c <monitor_put>
  909. ffffffff8010c80b: 80 6d ef 01 subb $0x1,-0x11(%rbp)
  910. ffffffff8010c80f: 80 7d ef 00 cmpb $0x0,-0x11(%rbp)
  911. ffffffff8010c813: 79 c5 jns ffffffff8010c7da <monitor_write_dual+0x2a>
  912. ffffffff8010c815: 48 83 c4 28 add $0x28,%rsp
  913. ffffffff8010c819: 5b pop %rbx
  914. ffffffff8010c81a: 5d pop %rbp
  915. ffffffff8010c81b: c3 retq
  916.  
  917. ffffffff8010c81c <monitor_write_octal>:
  918. ffffffff8010c81c: 55 push %rbp
  919. ffffffff8010c81d: 48 89 e5 mov %rsp,%rbp
  920. ffffffff8010c820: 53 push %rbx
  921. ffffffff8010c821: 48 83 ec 28 sub $0x28,%rsp
  922. ffffffff8010c825: 48 89 7d d8 mov %rdi,-0x28(%rbp)
  923. ffffffff8010c829: 48 89 75 d0 mov %rsi,-0x30(%rbp)
  924. ffffffff8010c82d: 48 8b 45 d8 mov -0x28(%rbp),%rax
  925. ffffffff8010c831: be 30 00 00 00 mov $0x30,%esi
  926. ffffffff8010c836: 48 89 c7 mov %rax,%rdi
  927. ffffffff8010c839: e8 1e fb ff ff callq ffffffff8010c35c <monitor_put>
  928. ffffffff8010c83e: c6 45 ef 3f movb $0x3f,-0x11(%rbp)
  929. ffffffff8010c842: eb 41 jmp ffffffff8010c885 <monitor_write_octal+0x69>
  930. ffffffff8010c844: 0f be 45 ef movsbl -0x11(%rbp),%eax
  931. ffffffff8010c848: 48 8b 55 d0 mov -0x30(%rbp),%rdx
  932. ffffffff8010c84c: 48 89 d3 mov %rdx,%rbx
  933. ffffffff8010c84f: 89 c1 mov %eax,%ecx
  934. ffffffff8010c851: 48 d3 eb shr %cl,%rbx
  935. ffffffff8010c854: 48 89 d8 mov %rbx,%rax
  936. ffffffff8010c857: 83 e0 07 and $0x7,%eax
  937. ffffffff8010c85a: 88 45 ee mov %al,-0x12(%rbp)
  938. ffffffff8010c85d: 80 7d ee 00 cmpb $0x0,-0x12(%rbp)
  939. ffffffff8010c861: 74 18 je ffffffff8010c87b <monitor_write_octal+0x5f>
  940. ffffffff8010c863: 0f b6 45 ee movzbl -0x12(%rbp),%eax
  941. ffffffff8010c867: 83 c0 30 add $0x30,%eax
  942. ffffffff8010c86a: 0f be d0 movsbl %al,%edx
  943. ffffffff8010c86d: 48 8b 45 d8 mov -0x28(%rbp),%rax
  944. ffffffff8010c871: 89 d6 mov %edx,%esi
  945. ffffffff8010c873: 48 89 c7 mov %rax,%rdi
  946. ffffffff8010c876: e8 e1 fa ff ff callq ffffffff8010c35c <monitor_put>
  947. ffffffff8010c87b: 0f b6 45 ef movzbl -0x11(%rbp),%eax
  948. ffffffff8010c87f: 83 e8 03 sub $0x3,%eax
  949. ffffffff8010c882: 88 45 ef mov %al,-0x11(%rbp)
  950. ffffffff8010c885: 80 7d ef 00 cmpb $0x0,-0x11(%rbp)
  951. ffffffff8010c889: 79 b9 jns ffffffff8010c844 <monitor_write_octal+0x28>
  952. ffffffff8010c88b: 48 83 c4 28 add $0x28,%rsp
  953. ffffffff8010c88f: 5b pop %rbx
  954. ffffffff8010c890: 5d pop %rbp
  955. ffffffff8010c891: c3 retq
  956. ...
  957.  
  958. ffffffff8010c894 <memcpy>:
  959. ffffffff8010c894: 55 push %rbp
  960. ffffffff8010c895: 48 89 e5 mov %rsp,%rbp
  961. ffffffff8010c898: 48 83 ec 28 sub $0x28,%rsp
  962. ffffffff8010c89c: 48 89 7d e8 mov %rdi,-0x18(%rbp)
  963. ffffffff8010c8a0: 48 89 75 e0 mov %rsi,-0x20(%rbp)
  964. ffffffff8010c8a4: 48 89 55 d8 mov %rdx,-0x28(%rbp)
  965. ffffffff8010c8a8: 48 8b 45 e8 mov -0x18(%rbp),%rax
  966. ffffffff8010c8ac: 48 89 45 f8 mov %rax,-0x8(%rbp)
  967. ffffffff8010c8b0: 48 8b 45 e0 mov -0x20(%rbp),%rax
  968. ffffffff8010c8b4: 48 89 45 f0 mov %rax,-0x10(%rbp)
  969. ffffffff8010c8b8: eb 17 jmp ffffffff8010c8d1 <memcpy+0x3d>
  970. ffffffff8010c8ba: 48 8b 45 f0 mov -0x10(%rbp),%rax
  971. ffffffff8010c8be: 0f b6 10 movzbl (%rax),%edx
  972. ffffffff8010c8c1: 48 8b 45 f8 mov -0x8(%rbp),%rax
  973. ffffffff8010c8c5: 88 10 mov %dl,(%rax)
  974. ffffffff8010c8c7: 48 83 45 f8 01 addq $0x1,-0x8(%rbp)
  975. ffffffff8010c8cc: 48 83 45 f0 01 addq $0x1,-0x10(%rbp)
  976. ffffffff8010c8d1: 48 83 7d d8 00 cmpq $0x0,-0x28(%rbp)
  977. ffffffff8010c8d6: 0f 95 c0 setne %al
  978. ffffffff8010c8d9: 48 83 6d d8 01 subq $0x1,-0x28(%rbp)
  979. ffffffff8010c8de: 84 c0 test %al,%al
  980. ffffffff8010c8e0: 75 d8 jne ffffffff8010c8ba <memcpy+0x26>
  981. ffffffff8010c8e2: 48 8b 45 e8 mov -0x18(%rbp),%rax
  982. ffffffff8010c8e6: c9 leaveq
  983. ffffffff8010c8e7: c3 retq
  984.  
  985. ffffffff8010c8e8 <memset>:
  986. ffffffff8010c8e8: 55 push %rbp
  987. ffffffff8010c8e9: 48 89 e5 mov %rsp,%rbp
  988. ffffffff8010c8ec: 48 83 ec 28 sub $0x28,%rsp
  989. ffffffff8010c8f0: 48 89 7d e8 mov %rdi,-0x18(%rbp)
  990. ffffffff8010c8f4: 89 75 e4 mov %esi,-0x1c(%rbp)
  991. ffffffff8010c8f7: 48 89 55 d8 mov %rdx,-0x28(%rbp)
  992. ffffffff8010c8fb: 48 8b 45 e8 mov -0x18(%rbp),%rax
  993. ffffffff8010c8ff: 48 89 45 f8 mov %rax,-0x8(%rbp)
  994. ffffffff8010c903: eb 15 jmp ffffffff8010c91a <memset+0x32>
  995. ffffffff8010c905: 8b 45 e4 mov -0x1c(%rbp),%eax
  996. ffffffff8010c908: 89 c2 mov %eax,%edx
  997. ffffffff8010c90a: 48 8b 45 f8 mov -0x8(%rbp),%rax
  998. ffffffff8010c90e: 88 10 mov %dl,(%rax)
  999. ffffffff8010c910: 48 83 45 f8 01 addq $0x1,-0x8(%rbp)
  1000. ffffffff8010c915: 48 83 6d d8 01 subq $0x1,-0x28(%rbp)
  1001. ffffffff8010c91a: 48 83 7d d8 00 cmpq $0x0,-0x28(%rbp)
  1002. ffffffff8010c91f: 75 e4 jne ffffffff8010c905 <memset+0x1d>
  1003. ffffffff8010c921: 48 8b 45 e8 mov -0x18(%rbp),%rax
  1004. ffffffff8010c925: c9 leaveq
  1005. ffffffff8010c926: c3 retq
  1006. ...
  1007.  
  1008. ffffffff8010c928 <get_cpuid>:
  1009. ffffffff8010c928: 55 push %rbp
  1010. ffffffff8010c929: 48 89 e5 mov %rsp,%rbp
  1011. ffffffff8010c92c: 41 56 push %r14
  1012. ffffffff8010c92e: 41 55 push %r13
  1013. ffffffff8010c930: 41 54 push %r12
  1014. ffffffff8010c932: 53 push %rbx
  1015. ffffffff8010c933: 48 83 ec 30 sub $0x30,%rsp
  1016. ffffffff8010c937: 48 89 7d b8 mov %rdi,-0x48(%rbp)
  1017. ffffffff8010c93b: 66 87 db xchg %bx,%bx
  1018. ffffffff8010c93e: 48 8b 45 b8 mov -0x48(%rbp),%rax
  1019. ffffffff8010c942: 48 83 c0 0d add $0xd,%rax
  1020. ffffffff8010c946: c6 00 00 movb $0x0,(%rax)
  1021. ffffffff8010c949: c7 45 b4 01 00 00 00 movl $0x1,-0x4c(%rbp)
  1022. ffffffff8010c950: 8b 45 b4 mov -0x4c(%rbp),%eax
  1023. ffffffff8010c953: 0f a2 cpuid
  1024. ffffffff8010c955: 41 89 d4 mov %edx,%r12d
  1025. ffffffff8010c958: 41 89 cd mov %ecx,%r13d
  1026. ffffffff8010c95b: 41 89 c6 mov %eax,%r14d
  1027. ffffffff8010c95e: 44 89 75 d8 mov %r14d,-0x28(%rbp)
  1028. ffffffff8010c962: 89 5d d4 mov %ebx,-0x2c(%rbp)
  1029. ffffffff8010c965: 44 89 6d d0 mov %r13d,-0x30(%rbp)
  1030. ffffffff8010c969: 44 89 65 cc mov %r12d,-0x34(%rbp)
  1031. ffffffff8010c96d: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%rbp)
  1032. ffffffff8010c974: eb 23 jmp ffffffff8010c999 <get_cpuid+0x71>
  1033. ffffffff8010c976: 8b 45 dc mov -0x24(%rbp),%eax
  1034. ffffffff8010c979: 48 63 d0 movslq %eax,%rdx
  1035. ffffffff8010c97c: 48 8b 45 b8 mov -0x48(%rbp),%rax
  1036. ffffffff8010c980: 48 01 c2 add %rax,%rdx
  1037. ffffffff8010c983: 8b 45 dc mov -0x24(%rbp),%eax
  1038. ffffffff8010c986: 01 c0 add %eax,%eax
  1039. ffffffff8010c988: 8b 75 d4 mov -0x2c(%rbp),%esi
  1040. ffffffff8010c98b: 89 f3 mov %esi,%ebx
  1041. ffffffff8010c98d: 89 c1 mov %eax,%ecx
  1042. ffffffff8010c98f: d3 eb shr %cl,%ebx
  1043. ffffffff8010c991: 89 d8 mov %ebx,%eax
  1044. ffffffff8010c993: 88 02 mov %al,(%rdx)
  1045. ffffffff8010c995: 83 45 dc 01 addl $0x1,-0x24(%rbp)
  1046. ffffffff8010c999: 83 7d dc 03 cmpl $0x3,-0x24(%rbp)
  1047. ffffffff8010c99d: 7e d7 jle ffffffff8010c976 <get_cpuid+0x4e>
  1048. ffffffff8010c99f: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%rbp)
  1049. ffffffff8010c9a6: eb 26 jmp ffffffff8010c9ce <get_cpuid+0xa6>
  1050. ffffffff8010c9a8: 8b 45 dc mov -0x24(%rbp),%eax
  1051. ffffffff8010c9ab: 48 98 cltq
  1052. ffffffff8010c9ad: 48 8d 50 04 lea 0x4(%rax),%rdx
  1053. ffffffff8010c9b1: 48 8b 45 b8 mov -0x48(%rbp),%rax
  1054. ffffffff8010c9b5: 48 01 c2 add %rax,%rdx
  1055. ffffffff8010c9b8: 8b 45 dc mov -0x24(%rbp),%eax
  1056. ffffffff8010c9bb: 01 c0 add %eax,%eax
  1057. ffffffff8010c9bd: 8b 75 cc mov -0x34(%rbp),%esi
  1058. ffffffff8010c9c0: 89 f3 mov %esi,%ebx
  1059. ffffffff8010c9c2: 89 c1 mov %eax,%ecx
  1060. ffffffff8010c9c4: d3 eb shr %cl,%ebx
  1061. ffffffff8010c9c6: 89 d8 mov %ebx,%eax
  1062. ffffffff8010c9c8: 88 02 mov %al,(%rdx)
  1063. ffffffff8010c9ca: 83 45 dc 01 addl $0x1,-0x24(%rbp)
  1064. ffffffff8010c9ce: 83 7d dc 03 cmpl $0x3,-0x24(%rbp)
  1065. ffffffff8010c9d2: 7e d4 jle ffffffff8010c9a8 <get_cpuid+0x80>
  1066. ffffffff8010c9d4: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%rbp)
  1067. ffffffff8010c9db: eb 26 jmp ffffffff8010ca03 <get_cpuid+0xdb>
  1068. ffffffff8010c9dd: 8b 45 dc mov -0x24(%rbp),%eax
  1069. ffffffff8010c9e0: 48 98 cltq
  1070. ffffffff8010c9e2: 48 8d 50 08 lea 0x8(%rax),%rdx
  1071. ffffffff8010c9e6: 48 8b 45 b8 mov -0x48(%rbp),%rax
  1072. ffffffff8010c9ea: 48 01 c2 add %rax,%rdx
  1073. ffffffff8010c9ed: 8b 45 dc mov -0x24(%rbp),%eax
  1074. ffffffff8010c9f0: 01 c0 add %eax,%eax
  1075. ffffffff8010c9f2: 8b 75 d0 mov -0x30(%rbp),%esi
  1076. ffffffff8010c9f5: 89 f3 mov %esi,%ebx
  1077. ffffffff8010c9f7: 89 c1 mov %eax,%ecx
  1078. ffffffff8010c9f9: d3 eb shr %cl,%ebx
  1079. ffffffff8010c9fb: 89 d8 mov %ebx,%eax
  1080. ffffffff8010c9fd: 88 02 mov %al,(%rdx)
  1081. ffffffff8010c9ff: 83 45 dc 01 addl $0x1,-0x24(%rbp)
  1082. ffffffff8010ca03: 83 7d dc 03 cmpl $0x3,-0x24(%rbp)
  1083. ffffffff8010ca07: 7e d4 jle ffffffff8010c9dd <get_cpuid+0xb5>
  1084. ffffffff8010ca09: 48 83 c4 30 add $0x30,%rsp
  1085. ffffffff8010ca0d: 5b pop %rbx
  1086. ffffffff8010ca0e: 41 5c pop %r12
  1087. ffffffff8010ca10: 41 5d pop %r13
  1088. ffffffff8010ca12: 41 5e pop %r14
  1089. ffffffff8010ca14: 5d pop %rbp
  1090. ffffffff8010ca15: c3 retq
  1091. ...
  1092.  
  1093. ffffffff8010ca18 <idt_init>:
  1094. ffffffff8010ca18: 55 push %rbp
  1095. ffffffff8010ca19: 48 89 e5 mov %rsp,%rbp
  1096. ffffffff8010ca1c: ba 00 08 00 00 mov $0x800,%edx
  1097. ffffffff8010ca21: be 00 00 00 00 mov $0x0,%esi
  1098. ffffffff8010ca26: 48 c7 c7 40 00 11 80 mov $0xffffffff80110040,%rdi
  1099. ffffffff8010ca2d: e8 b6 fe ff ff callq ffffffff8010c8e8 <memset>
  1100. ffffffff8010ca32: 66 c7 05 e5 25 00 00 movw $0xfff,0x25e5(%rip) # ffffffff8010f020 <idt_ptr>
  1101. ffffffff8010ca39: ff 0f
  1102. ffffffff8010ca3b: 48 c7 c0 40 f0 10 80 mov $0xffffffff8010f040,%rax
  1103. ffffffff8010ca42: 48 89 05 d9 25 00 00 mov %rax,0x25d9(%rip) # ffffffff8010f022 <idt_ptr+0x2>
  1104. ffffffff8010ca49: ba f0 0f 00 00 mov $0xff0,%edx
  1105. ffffffff8010ca4e: be 00 00 00 00 mov $0x0,%esi
  1106. ffffffff8010ca53: 48 c7 c7 40 f0 10 80 mov $0xffffffff8010f040,%rdi
  1107. ffffffff8010ca5a: e8 89 fe ff ff callq ffffffff8010c8e8 <memset>
  1108. ffffffff8010ca5f: 48 c7 c0 00 c0 10 80 mov $0xffffffff8010c000,%rax
  1109. ffffffff8010ca66: b9 8e 00 00 00 mov $0x8e,%ecx
  1110. ffffffff8010ca6b: ba 08 00 00 00 mov $0x8,%edx
  1111. ffffffff8010ca70: 48 89 c6 mov %rax,%rsi
  1112. ffffffff8010ca73: bf 00 00 00 00 mov $0x0,%edi
  1113. ffffffff8010ca78: e8 b3 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1114. ffffffff8010ca7d: 48 c7 c0 0a c0 10 80 mov $0xffffffff8010c00a,%rax
  1115. ffffffff8010ca84: b9 8e 00 00 00 mov $0x8e,%ecx
  1116. ffffffff8010ca89: ba 08 00 00 00 mov $0x8,%edx
  1117. ffffffff8010ca8e: 48 89 c6 mov %rax,%rsi
  1118. ffffffff8010ca91: bf 01 00 00 00 mov $0x1,%edi
  1119. ffffffff8010ca96: e8 95 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1120. ffffffff8010ca9b: 48 c7 c0 14 c0 10 80 mov $0xffffffff8010c014,%rax
  1121. ffffffff8010caa2: b9 8e 00 00 00 mov $0x8e,%ecx
  1122. ffffffff8010caa7: ba 08 00 00 00 mov $0x8,%edx
  1123. ffffffff8010caac: 48 89 c6 mov %rax,%rsi
  1124. ffffffff8010caaf: bf 02 00 00 00 mov $0x2,%edi
  1125. ffffffff8010cab4: e8 77 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1126. ffffffff8010cab9: 48 c7 c0 1e c0 10 80 mov $0xffffffff8010c01e,%rax
  1127. ffffffff8010cac0: b9 8e 00 00 00 mov $0x8e,%ecx
  1128. ffffffff8010cac5: ba 08 00 00 00 mov $0x8,%edx
  1129. ffffffff8010caca: 48 89 c6 mov %rax,%rsi
  1130. ffffffff8010cacd: bf 03 00 00 00 mov $0x3,%edi
  1131. ffffffff8010cad2: e8 59 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1132. ffffffff8010cad7: 48 c7 c0 28 c0 10 80 mov $0xffffffff8010c028,%rax
  1133. ffffffff8010cade: b9 8e 00 00 00 mov $0x8e,%ecx
  1134. ffffffff8010cae3: ba 08 00 00 00 mov $0x8,%edx
  1135. ffffffff8010cae8: 48 89 c6 mov %rax,%rsi
  1136. ffffffff8010caeb: bf 04 00 00 00 mov $0x4,%edi
  1137. ffffffff8010caf0: e8 3b 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1138. ffffffff8010caf5: 48 c7 c0 32 c0 10 80 mov $0xffffffff8010c032,%rax
  1139. ffffffff8010cafc: b9 8e 00 00 00 mov $0x8e,%ecx
  1140. ffffffff8010cb01: ba 08 00 00 00 mov $0x8,%edx
  1141. ffffffff8010cb06: 48 89 c6 mov %rax,%rsi
  1142. ffffffff8010cb09: bf 05 00 00 00 mov $0x5,%edi
  1143. ffffffff8010cb0e: e8 1d 03 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1144. ffffffff8010cb13: 48 c7 c0 3c c0 10 80 mov $0xffffffff8010c03c,%rax
  1145. ffffffff8010cb1a: b9 8e 00 00 00 mov $0x8e,%ecx
  1146. ffffffff8010cb1f: ba 08 00 00 00 mov $0x8,%edx
  1147. ffffffff8010cb24: 48 89 c6 mov %rax,%rsi
  1148. ffffffff8010cb27: bf 06 00 00 00 mov $0x6,%edi
  1149. ffffffff8010cb2c: e8 ff 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1150. ffffffff8010cb31: 48 c7 c0 46 c0 10 80 mov $0xffffffff8010c046,%rax
  1151. ffffffff8010cb38: b9 8e 00 00 00 mov $0x8e,%ecx
  1152. ffffffff8010cb3d: ba 08 00 00 00 mov $0x8,%edx
  1153. ffffffff8010cb42: 48 89 c6 mov %rax,%rsi
  1154. ffffffff8010cb45: bf 07 00 00 00 mov $0x7,%edi
  1155. ffffffff8010cb4a: e8 e1 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1156. ffffffff8010cb4f: 48 c7 c0 50 c0 10 80 mov $0xffffffff8010c050,%rax
  1157. ffffffff8010cb56: b9 8e 00 00 00 mov $0x8e,%ecx
  1158. ffffffff8010cb5b: ba 08 00 00 00 mov $0x8,%edx
  1159. ffffffff8010cb60: 48 89 c6 mov %rax,%rsi
  1160. ffffffff8010cb63: bf 08 00 00 00 mov $0x8,%edi
  1161. ffffffff8010cb68: e8 c3 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1162. ffffffff8010cb6d: 48 c7 c0 58 c0 10 80 mov $0xffffffff8010c058,%rax
  1163. ffffffff8010cb74: b9 8e 00 00 00 mov $0x8e,%ecx
  1164. ffffffff8010cb79: ba 08 00 00 00 mov $0x8,%edx
  1165. ffffffff8010cb7e: 48 89 c6 mov %rax,%rsi
  1166. ffffffff8010cb81: bf 09 00 00 00 mov $0x9,%edi
  1167. ffffffff8010cb86: e8 a5 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1168. ffffffff8010cb8b: 48 c7 c0 62 c0 10 80 mov $0xffffffff8010c062,%rax
  1169. ffffffff8010cb92: b9 8e 00 00 00 mov $0x8e,%ecx
  1170. ffffffff8010cb97: ba 08 00 00 00 mov $0x8,%edx
  1171. ffffffff8010cb9c: 48 89 c6 mov %rax,%rsi
  1172. ffffffff8010cb9f: bf 0a 00 00 00 mov $0xa,%edi
  1173. ffffffff8010cba4: e8 87 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1174. ffffffff8010cba9: 48 c7 c0 6a c0 10 80 mov $0xffffffff8010c06a,%rax
  1175. ffffffff8010cbb0: b9 8e 00 00 00 mov $0x8e,%ecx
  1176. ffffffff8010cbb5: ba 08 00 00 00 mov $0x8,%edx
  1177. ffffffff8010cbba: 48 89 c6 mov %rax,%rsi
  1178. ffffffff8010cbbd: bf 0b 00 00 00 mov $0xb,%edi
  1179. ffffffff8010cbc2: e8 69 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1180. ffffffff8010cbc7: 48 c7 c0 72 c0 10 80 mov $0xffffffff8010c072,%rax
  1181. ffffffff8010cbce: b9 8e 00 00 00 mov $0x8e,%ecx
  1182. ffffffff8010cbd3: ba 08 00 00 00 mov $0x8,%edx
  1183. ffffffff8010cbd8: 48 89 c6 mov %rax,%rsi
  1184. ffffffff8010cbdb: bf 0c 00 00 00 mov $0xc,%edi
  1185. ffffffff8010cbe0: e8 4b 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1186. ffffffff8010cbe5: 48 c7 c0 7a c0 10 80 mov $0xffffffff8010c07a,%rax
  1187. ffffffff8010cbec: b9 8e 00 00 00 mov $0x8e,%ecx
  1188. ffffffff8010cbf1: ba 08 00 00 00 mov $0x8,%edx
  1189. ffffffff8010cbf6: 48 89 c6 mov %rax,%rsi
  1190. ffffffff8010cbf9: bf 0d 00 00 00 mov $0xd,%edi
  1191. ffffffff8010cbfe: e8 2d 02 00 00 callq ffffffff8010ce30 <idt_set_gate>
  1192. ffffffff8010cc03: 48 c7 c0 82 c0 10 80 mov $0xffffffff8010c082,%rax
  1193. ffffffff8010cc0a: b9 8e 00 00 00 mov $0x8e,%ecx
  1194. ffffffff8010cc0f: ba 08 00 00 00 mov $0x8,%edx
  1195. ffffffff8010cc14: 48 89 c6 mov %rax,%rsi
  1196. ffffffff8010cc17: bf 0e 00 00 00 mov $0xe,%edi
  1197. ffffffff8010cc1c: e8 0f 02 00 00 callq ffffffff8
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty