-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathresult
More file actions
4958 lines (4842 loc) · 245 KB
/
result
File metadata and controls
4958 lines (4842 loc) · 245 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
kernel: file format elf32-i386
Disassembly of section .text:
00100000 <.text>:
100000: 02 b0 ad 1b 00 00 addb 7085(%eax), %dh
100006: 00 00 addb %al, (%eax)
100008: fe 4f 52 decb 82(%edi)
10000b: e4 fa inb $250, %al
0010000c <start>:
10000c: fa cli
10000d: bc 00 60 10 00 movl $1073152, %esp
100012: e8 28 05 00 00 calll 0x10053f <kmain>
100017: f4 hlt
00100018 <move_cursor>:
100018: 55 pushl %ebp
100019: 89 e5 movl %esp, %ebp
10001b: 83 ec 18 subl $24, %esp
10001e: a0 01 60 10 00 movb 1073153, %al
100023: 0f b6 d0 movzbl %al, %edx
100026: 89 d0 movl %edx, %eax
100028: c1 e0 02 shll $2, %eax
10002b: 01 d0 addl %edx, %eax
10002d: c1 e0 04 shll $4, %eax
100030: 89 c2 movl %eax, %edx
100032: a0 00 60 10 00 movb 1073152, %al
100037: 0f b6 c0 movzbl %al, %eax
10003a: 01 d0 addl %edx, %eax
10003c: 66 89 45 f6 movw %ax, -10(%ebp)
100040: 83 ec 08 subl $8, %esp
100043: 6a 0e pushl $14
100045: 68 d4 03 00 00 pushl $980
10004a: e8 6a 04 00 00 calll 0x1004b9 <out_byte>
10004f: 83 c4 10 addl $16, %esp
100052: 66 8b 45 f6 movw -10(%ebp), %ax
100056: 66 c1 e8 08 shrw $8, %ax
10005a: 0f b6 c0 movzbl %al, %eax
10005d: 83 ec 08 subl $8, %esp
100060: 50 pushl %eax
100061: 68 d5 03 00 00 pushl $981
100066: e8 4e 04 00 00 calll 0x1004b9 <out_byte>
10006b: 83 c4 10 addl $16, %esp
10006e: 83 ec 08 subl $8, %esp
100071: 6a 0f pushl $15
100073: 68 d4 03 00 00 pushl $980
100078: e8 3c 04 00 00 calll 0x1004b9 <out_byte>
10007d: 83 c4 10 addl $16, %esp
100080: 66 8b 45 f6 movw -10(%ebp), %ax
100084: 0f b6 c0 movzbl %al, %eax
100087: 83 ec 08 subl $8, %esp
10008a: 50 pushl %eax
10008b: 68 d5 03 00 00 pushl $981
100090: e8 24 04 00 00 calll 0x1004b9 <out_byte>
100095: 83 c4 10 addl $16, %esp
100098: 90 nop
100099: c9 leave
10009a: c3 retl
0010009b <scroll>:
10009b: 55 pushl %ebp
10009c: 89 e5 movl %esp, %ebp
10009e: 83 ec 10 subl $16, %esp
1000a1: c6 45 fb 0f movb $15, -5(%ebp)
1000a5: 0f b6 45 fb movzbl -5(%ebp), %eax
1000a9: c1 e0 08 shll $8, %eax
1000ac: 83 c8 20 orl $32, %eax
1000af: 66 89 45 f8 movw %ax, -8(%ebp)
1000b3: a0 01 60 10 00 movb 1073153, %al
1000b8: 3c 18 cmpb $24, %al
1000ba: 76 67 jbe 0x100123 <scroll+0x88>
1000bc: c7 45 fc 00 00 00 00 movl $0, -4(%ebp)
1000c3: eb 26 jmp 0x1000eb <scroll+0x50>
1000c5: a1 00 30 10 00 movl 1060864, %eax
1000ca: 8b 55 fc movl -4(%ebp), %edx
1000cd: 83 c2 50 addl $80, %edx
1000d0: 01 d2 addl %edx, %edx
1000d2: 8d 0c 10 leal (%eax,%edx), %ecx
1000d5: 8b 15 00 30 10 00 movl 1060864, %edx
1000db: 8b 45 fc movl -4(%ebp), %eax
1000de: 01 c0 addl %eax, %eax
1000e0: 01 c2 addl %eax, %edx
1000e2: 66 8b 01 movw (%ecx), %ax
1000e5: 66 89 02 movw %ax, (%edx)
1000e8: ff 45 fc incl -4(%ebp)
1000eb: 81 7d fc 7f 07 00 00 cmpl $1919, -4(%ebp)
1000f2: 7e d1 jle 0x1000c5 <scroll+0x2a>
1000f4: c7 45 fc 80 07 00 00 movl $1920, -4(%ebp)
1000fb: eb 16 jmp 0x100113 <scroll+0x78>
1000fd: 8b 15 00 30 10 00 movl 1060864, %edx
100103: 8b 45 fc movl -4(%ebp), %eax
100106: 01 c0 addl %eax, %eax
100108: 01 c2 addl %eax, %edx
10010a: 8b 45 f8 movl -8(%ebp), %eax
10010d: 66 89 02 movw %ax, (%edx)
100110: ff 45 fc incl -4(%ebp)
100113: 81 7d fc cf 07 00 00 cmpl $1999, -4(%ebp)
10011a: 7e e1 jle 0x1000fd <scroll+0x62>
10011c: c6 05 01 60 10 00 18 movb $24, 1073153
100123: 90 nop
100124: c9 leave
100125: c3 retl
00100126 <monitor_put>:
100126: 55 pushl %ebp
100127: 89 e5 movl %esp, %ebp
100129: 83 ec 28 subl $40, %esp
10012c: 8b 45 08 movl 8(%ebp), %eax
10012f: 88 45 e4 movb %al, -28(%ebp)
100132: c6 45 f7 00 movb $0, -9(%ebp)
100136: c6 45 f6 0f movb $15, -10(%ebp)
10013a: 0f b6 45 f7 movzbl -9(%ebp), %eax
10013e: c1 e0 04 shll $4, %eax
100141: 88 c2 movb %al, %dl
100143: 8a 45 f6 movb -10(%ebp), %al
100146: 83 e0 0f andl $15, %eax
100149: 09 d0 orl %edx, %eax
10014b: 88 45 f5 movb %al, -11(%ebp)
10014e: 0f b6 45 f5 movzbl -11(%ebp), %eax
100152: c1 e0 08 shll $8, %eax
100155: 66 89 45 f2 movw %ax, -14(%ebp)
100159: 0f b6 45 f5 movzbl -11(%ebp), %eax
10015d: c1 e0 08 shll $8, %eax
100160: 83 c8 20 orl $32, %eax
100163: 66 89 45 f0 movw %ax, -16(%ebp)
100167: 80 7d e4 08 cmpb $8, -28(%ebp)
10016b: 75 4d jne 0x1001ba <monitor_put+0x94>
10016d: a0 00 60 10 00 movb 1073152, %al
100172: 84 c0 testb %al, %al
100174: 74 44 je 0x1001ba <monitor_put+0x94>
100176: 8b 0d 00 30 10 00 movl 1060864, %ecx
10017c: a0 01 60 10 00 movb 1073153, %al
100181: 0f b6 d0 movzbl %al, %edx
100184: 89 d0 movl %edx, %eax
100186: c1 e0 02 shll $2, %eax
100189: 01 d0 addl %edx, %eax
10018b: c1 e0 04 shll $4, %eax
10018e: 89 c2 movl %eax, %edx
100190: a0 00 60 10 00 movb 1073152, %al
100195: 0f b6 c0 movzbl %al, %eax
100198: 01 d0 addl %edx, %eax
10019a: 05 ff ff ff 7f addl $2147483647, %eax
10019f: 01 c0 addl %eax, %eax
1001a1: 01 c8 addl %ecx, %eax
1001a3: 89 45 ec movl %eax, -20(%ebp)
1001a6: 8b 55 ec movl -20(%ebp), %edx
1001a9: 8b 45 f0 movl -16(%ebp), %eax
1001ac: 66 89 02 movw %ax, (%edx)
1001af: a0 00 60 10 00 movb 1073152, %al
1001b4: 48 decl %eax
1001b5: a2 00 60 10 00 movb %al, 1073152
1001ba: 80 7d e4 09 cmpb $9, -28(%ebp)
1001be: 75 1b jne 0x1001db <monitor_put+0xb5>
1001c0: a0 00 60 10 00 movb 1073152, %al
1001c5: 84 c0 testb %al, %al
1001c7: 74 12 je 0x1001db <monitor_put+0xb5>
1001c9: a0 00 60 10 00 movb 1073152, %al
1001ce: 83 c0 08 addl $8, %eax
1001d1: 83 e0 f8 andl $-8, %eax
1001d4: a2 00 60 10 00 movb %al, 1073152
1001d9: eb 67 jmp 0x100242 <monitor_put+0x11c>
1001db: 80 7d e4 0d cmpb $13, -28(%ebp)
1001df: 75 07 jne 0x1001e8 <monitor_put+0xc2>
1001e1: e8 a0 02 00 00 calll 0x100486 <entry_output>
1001e6: eb 5a jmp 0x100242 <monitor_put+0x11c>
1001e8: 80 7d e4 0a cmpb $10, -28(%ebp)
1001ec: 75 07 jne 0x1001f5 <monitor_put+0xcf>
1001ee: e8 ae 02 00 00 calll 0x1004a1 <newline_add>
1001f3: eb 4d jmp 0x100242 <monitor_put+0x11c>
1001f5: 80 7d e4 1f cmpb $31, -28(%ebp)
1001f9: 7e 47 jle 0x100242 <monitor_put+0x11c>
1001fb: 8b 0d 00 30 10 00 movl 1060864, %ecx
100201: a0 01 60 10 00 movb 1073153, %al
100206: 0f b6 d0 movzbl %al, %edx
100209: 89 d0 movl %edx, %eax
10020b: c1 e0 02 shll $2, %eax
10020e: 01 d0 addl %edx, %eax
100210: c1 e0 04 shll $4, %eax
100213: 89 c2 movl %eax, %edx
100215: a0 00 60 10 00 movb 1073152, %al
10021a: 0f b6 c0 movzbl %al, %eax
10021d: 01 d0 addl %edx, %eax
10021f: 01 c0 addl %eax, %eax
100221: 01 c8 addl %ecx, %eax
100223: 89 45 ec movl %eax, -20(%ebp)
100226: 66 0f be 55 e4 movsbw -28(%ebp), %dx
10022b: 66 8b 45 f2 movw -14(%ebp), %ax
10022f: 09 d0 orl %edx, %eax
100231: 8b 55 ec movl -20(%ebp), %edx
100234: 66 89 02 movw %ax, (%edx)
100237: a0 00 60 10 00 movb 1073152, %al
10023c: 40 incl %eax
10023d: a2 00 60 10 00 movb %al, 1073152
100242: a0 00 60 10 00 movb 1073152, %al
100247: 3c 4f cmpb $79, %al
100249: 76 12 jbe 0x10025d <monitor_put+0x137>
10024b: c6 05 00 60 10 00 00 movb $0, 1073152
100252: a0 01 60 10 00 movb 1073153, %al
100257: 40 incl %eax
100258: a2 01 60 10 00 movb %al, 1073153
10025d: e8 39 fe ff ff calll 0x10009b <scroll>
100262: e8 b1 fd ff ff calll 0x100018 <move_cursor>
100267: 90 nop
100268: c9 leave
100269: c3 retl
0010026a <monitor_clear>:
10026a: 55 pushl %ebp
10026b: 89 e5 movl %esp, %ebp
10026d: 83 ec 18 subl $24, %esp
100270: c6 45 f3 0f movb $15, -13(%ebp)
100274: 0f b6 45 f3 movzbl -13(%ebp), %eax
100278: c1 e0 08 shll $8, %eax
10027b: 83 c8 20 orl $32, %eax
10027e: 66 89 45 f0 movw %ax, -16(%ebp)
100282: c7 45 f4 00 00 00 00 movl $0, -12(%ebp)
100289: eb 16 jmp 0x1002a1 <monitor_clear+0x37>
10028b: 8b 15 00 30 10 00 movl 1060864, %edx
100291: 8b 45 f4 movl -12(%ebp), %eax
100294: 01 c0 addl %eax, %eax
100296: 01 c2 addl %eax, %edx
100298: 8b 45 f0 movl -16(%ebp), %eax
10029b: 66 89 02 movw %ax, (%edx)
10029e: ff 45 f4 incl -12(%ebp)
1002a1: 81 7d f4 cf 07 00 00 cmpl $1999, -12(%ebp)
1002a8: 7e e1 jle 0x10028b <monitor_clear+0x21>
1002aa: c6 05 00 60 10 00 00 movb $0, 1073152
1002b1: c6 05 01 60 10 00 00 movb $0, 1073153
1002b8: e8 5b fd ff ff calll 0x100018 <move_cursor>
1002bd: 90 nop
1002be: c9 leave
1002bf: c3 retl
001002c0 <monitor_write>:
1002c0: 55 pushl %ebp
1002c1: 89 e5 movl %esp, %ebp
1002c3: 83 ec 18 subl $24, %esp
1002c6: c7 45 f4 00 00 00 00 movl $0, -12(%ebp)
1002cd: eb 21 jmp 0x1002f0 <monitor_write+0x30>
1002cf: 8b 45 f4 movl -12(%ebp), %eax
1002d2: 8d 50 01 leal 1(%eax), %edx
1002d5: 89 55 f4 movl %edx, -12(%ebp)
1002d8: 89 c2 movl %eax, %edx
1002da: 8b 45 08 movl 8(%ebp), %eax
1002dd: 01 d0 addl %edx, %eax
1002df: 8a 00 movb (%eax), %al
1002e1: 0f be c0 movsbl %al, %eax
1002e4: 83 ec 0c subl $12, %esp
1002e7: 50 pushl %eax
1002e8: e8 39 fe ff ff calll 0x100126 <monitor_put>
1002ed: 83 c4 10 addl $16, %esp
1002f0: 8b 55 f4 movl -12(%ebp), %edx
1002f3: 8b 45 08 movl 8(%ebp), %eax
1002f6: 01 d0 addl %edx, %eax
1002f8: 8a 00 movb (%eax), %al
1002fa: 84 c0 testb %al, %al
1002fc: 75 d1 jne 0x1002cf <monitor_write+0xf>
1002fe: 90 nop
1002ff: 90 nop
100300: c9 leave
100301: c3 retl
00100302 <monitor_write_dec>:
100302: 55 pushl %ebp
100303: 89 e5 movl %esp, %ebp
100305: 83 ec 58 subl $88, %esp
100308: 83 7d 08 00 cmpl $0, 8(%ebp)
10030c: 75 12 jne 0x100320 <monitor_write_dec+0x1e>
10030e: 83 ec 0c subl $12, %esp
100311: 6a 30 pushl $48
100313: e8 0e fe ff ff calll 0x100126 <monitor_put>
100318: 83 c4 10 addl $16, %esp
10031b: e9 9e 00 00 00 jmp 0x1003be <monitor_write_dec+0xbc>
100320: 8b 45 08 movl 8(%ebp), %eax
100323: 89 45 f4 movl %eax, -12(%ebp)
100326: c7 45 f0 00 00 00 00 movl $0, -16(%ebp)
10032d: eb 38 jmp 0x100367 <monitor_write_dec+0x65>
10032f: 8b 45 f4 movl -12(%ebp), %eax
100332: b9 0a 00 00 00 movl $10, %ecx
100337: 99 cltd
100338: f7 f9 idivl %ecx
10033a: 89 d0 movl %edx, %eax
10033c: 83 c0 30 addl $48, %eax
10033f: 88 c2 movb %al, %dl
100341: 8d 4d cc leal -52(%ebp), %ecx
100344: 8b 45 f0 movl -16(%ebp), %eax
100347: 01 c8 addl %ecx, %eax
100349: 88 10 movb %dl, (%eax)
10034b: 8b 4d f4 movl -12(%ebp), %ecx
10034e: b8 67 66 66 66 movl $1717986919, %eax
100353: f7 e9 imull %ecx
100355: 89 d0 movl %edx, %eax
100357: c1 f8 02 sarl $2, %eax
10035a: c1 f9 1f sarl $31, %ecx
10035d: 89 ca movl %ecx, %edx
10035f: 29 d0 subl %edx, %eax
100361: 89 45 f4 movl %eax, -12(%ebp)
100364: ff 45 f0 incl -16(%ebp)
100367: 83 7d f4 00 cmpl $0, -12(%ebp)
10036b: 7f c2 jg 0x10032f <monitor_write_dec+0x2d>
10036d: 8d 55 cc leal -52(%ebp), %edx
100370: 8b 45 f0 movl -16(%ebp), %eax
100373: 01 d0 addl %edx, %eax
100375: c6 00 00 movb $0, (%eax)
100378: 8b 45 f0 movl -16(%ebp), %eax
10037b: 8d 50 ff leal -1(%eax), %edx
10037e: 89 55 f0 movl %edx, -16(%ebp)
100381: c6 44 05 ac 00 movb $0, -84(%ebp,%eax)
100386: c7 45 ec 00 00 00 00 movl $0, -20(%ebp)
10038d: eb 1a jmp 0x1003a9 <monitor_write_dec+0xa7>
10038f: 8b 55 ec movl -20(%ebp), %edx
100392: 8d 42 01 leal 1(%edx), %eax
100395: 89 45 ec movl %eax, -20(%ebp)
100398: 8b 45 f0 movl -16(%ebp), %eax
10039b: 8d 48 ff leal -1(%eax), %ecx
10039e: 89 4d f0 movl %ecx, -16(%ebp)
1003a1: 8a 54 15 cc movb -52(%ebp,%edx), %dl
1003a5: 88 54 05 ac movb %dl, -84(%ebp,%eax)
1003a9: 83 7d f0 00 cmpl $0, -16(%ebp)
1003ad: 79 e0 jns 0x10038f <monitor_write_dec+0x8d>
1003af: 83 ec 0c subl $12, %esp
1003b2: 8d 45 ac leal -84(%ebp), %eax
1003b5: 50 pushl %eax
1003b6: e8 05 ff ff ff calll 0x1002c0 <monitor_write>
1003bb: 83 c4 10 addl $16, %esp
1003be: c9 leave
1003bf: c3 retl
001003c0 <monitor_write_hex>:
1003c0: 55 pushl %ebp
1003c1: 89 e5 movl %esp, %ebp
1003c3: 83 ec 18 subl $24, %esp
1003c6: 83 ec 0c subl $12, %esp
1003c9: 68 a4 30 10 00 pushl $1061028
1003ce: e8 ed fe ff ff calll 0x1002c0 <monitor_write>
1003d3: 83 c4 10 addl $16, %esp
1003d6: c6 45 f7 01 movb $1, -9(%ebp)
1003da: c7 45 f0 1c 00 00 00 movl $28, -16(%ebp)
1003e1: eb 5f jmp 0x100442 <monitor_write_hex+0x82>
1003e3: 8b 45 f0 movl -16(%ebp), %eax
1003e6: 8b 55 08 movl 8(%ebp), %edx
1003e9: 88 c1 movb %al, %cl
1003eb: d3 ea shrl %cl, %edx
1003ed: 89 d0 movl %edx, %eax
1003ef: 83 e0 0f andl $15, %eax
1003f2: 89 45 ec movl %eax, -20(%ebp)
1003f5: 83 7d ec 00 cmpl $0, -20(%ebp)
1003f9: 75 06 jne 0x100401 <monitor_write_hex+0x41>
1003fb: 80 7d f7 00 cmpb $0, -9(%ebp)
1003ff: 75 3c jne 0x10043d <monitor_write_hex+0x7d>
100401: 83 7d ec 09 cmpl $9, -20(%ebp)
100405: 7e 1b jle 0x100422 <monitor_write_hex+0x62>
100407: c6 45 f7 00 movb $0, -9(%ebp)
10040b: 8b 45 ec movl -20(%ebp), %eax
10040e: 83 c0 57 addl $87, %eax
100411: 0f be c0 movsbl %al, %eax
100414: 83 ec 0c subl $12, %esp
100417: 50 pushl %eax
100418: e8 09 fd ff ff calll 0x100126 <monitor_put>
10041d: 83 c4 10 addl $16, %esp
100420: eb 1c jmp 0x10043e <monitor_write_hex+0x7e>
100422: c6 45 f7 00 movb $0, -9(%ebp)
100426: 8b 45 ec movl -20(%ebp), %eax
100429: 83 c0 30 addl $48, %eax
10042c: 0f be c0 movsbl %al, %eax
10042f: 83 ec 0c subl $12, %esp
100432: 50 pushl %eax
100433: e8 ee fc ff ff calll 0x100126 <monitor_put>
100438: 83 c4 10 addl $16, %esp
10043b: eb 01 jmp 0x10043e <monitor_write_hex+0x7e>
10043d: 90 nop
10043e: 83 6d f0 04 subl $4, -16(%ebp)
100442: 83 7d f0 00 cmpl $0, -16(%ebp)
100446: 7f 9b jg 0x1003e3 <monitor_write_hex+0x23>
100448: 8b 45 08 movl 8(%ebp), %eax
10044b: 83 e0 0f andl $15, %eax
10044e: 89 45 ec movl %eax, -20(%ebp)
100451: 83 7d ec 09 cmpl $9, -20(%ebp)
100455: 7e 17 jle 0x10046e <monitor_write_hex+0xae>
100457: 8b 45 ec movl -20(%ebp), %eax
10045a: 83 c0 57 addl $87, %eax
10045d: 0f be c0 movsbl %al, %eax
100460: 83 ec 0c subl $12, %esp
100463: 50 pushl %eax
100464: e8 bd fc ff ff calll 0x100126 <monitor_put>
100469: 83 c4 10 addl $16, %esp
10046c: eb 15 jmp 0x100483 <monitor_write_hex+0xc3>
10046e: 8b 45 ec movl -20(%ebp), %eax
100471: 83 c0 30 addl $48, %eax
100474: 0f be c0 movsbl %al, %eax
100477: 83 ec 0c subl $12, %esp
10047a: 50 pushl %eax
10047b: e8 a6 fc ff ff calll 0x100126 <monitor_put>
100480: 83 c4 10 addl $16, %esp
100483: 90 nop
100484: c9 leave
100485: c3 retl
00100486 <entry_output>:
100486: 55 pushl %ebp
100487: 89 e5 movl %esp, %ebp
100489: 83 ec 08 subl $8, %esp
10048c: e8 10 00 00 00 calll 0x1004a1 <newline_add>
100491: 83 ec 0c subl $12, %esp
100494: 6a 3e pushl $62
100496: e8 8b fc ff ff calll 0x100126 <monitor_put>
10049b: 83 c4 10 addl $16, %esp
10049e: 90 nop
10049f: c9 leave
1004a0: c3 retl
001004a1 <newline_add>:
1004a1: 55 pushl %ebp
1004a2: 89 e5 movl %esp, %ebp
1004a4: c6 05 00 60 10 00 00 movb $0, 1073152
1004ab: a0 01 60 10 00 movb 1073153, %al
1004b0: 40 incl %eax
1004b1: a2 01 60 10 00 movb %al, 1073153
1004b6: 90 nop
1004b7: 5d popl %ebp
1004b8: c3 retl
001004b9 <out_byte>:
1004b9: 55 pushl %ebp
1004ba: 89 e5 movl %esp, %ebp
1004bc: 83 ec 08 subl $8, %esp
1004bf: 8b 45 08 movl 8(%ebp), %eax
1004c2: 8b 55 0c movl 12(%ebp), %edx
1004c5: 66 89 45 fc movw %ax, -4(%ebp)
1004c9: 88 d0 movb %dl, %al
1004cb: 88 45 f8 movb %al, -8(%ebp)
1004ce: 8b 55 fc movl -4(%ebp), %edx
1004d1: 8a 45 f8 movb -8(%ebp), %al
1004d4: ee outb %al, %dx
1004d5: 90 nop
1004d6: c9 leave
1004d7: c3 retl
001004d8 <in_byte>:
1004d8: 55 pushl %ebp
1004d9: 89 e5 movl %esp, %ebp
1004db: 83 ec 14 subl $20, %esp
1004de: 8b 45 08 movl 8(%ebp), %eax
1004e1: 66 89 45 ec movw %ax, -20(%ebp)
1004e5: 8b 45 ec movl -20(%ebp), %eax
1004e8: 89 c2 movl %eax, %edx
1004ea: ec inb %dx, %al
1004eb: 88 45 ff movb %al, -1(%ebp)
1004ee: 8a 45 ff movb -1(%ebp), %al
1004f1: c9 leave
1004f2: c3 retl
001004f3 <in_word>:
1004f3: 55 pushl %ebp
1004f4: 89 e5 movl %esp, %ebp
1004f6: 83 ec 14 subl $20, %esp
1004f9: 8b 45 08 movl 8(%ebp), %eax
1004fc: 66 89 45 ec movw %ax, -20(%ebp)
100500: 8b 45 ec movl -20(%ebp), %eax
100503: 89 c2 movl %eax, %edx
100505: 66 ed inw %dx, %ax
100507: 66 89 45 fe movw %ax, -2(%ebp)
10050b: 66 8b 45 fe movw -2(%ebp), %ax
10050f: c9 leave
100510: c3 retl
00100511 <memset>:
100511: 55 pushl %ebp
100512: 89 e5 movl %esp, %ebp
100514: 83 ec 10 subl $16, %esp
100517: 8b 45 08 movl 8(%ebp), %eax
10051a: 89 45 fc movl %eax, -4(%ebp)
10051d: eb 0e jmp 0x10052d <memset+0x1c>
10051f: 8b 45 fc movl -4(%ebp), %eax
100522: 8d 50 01 leal 1(%eax), %edx
100525: 89 55 fc movl %edx, -4(%ebp)
100528: 8b 55 0c movl 12(%ebp), %edx
10052b: 88 10 movb %dl, (%eax)
10052d: 8b 45 10 movl 16(%ebp), %eax
100530: 8d 50 ff leal -1(%eax), %edx
100533: 89 55 10 movl %edx, 16(%ebp)
100536: 85 c0 testl %eax, %eax
100538: 75 e5 jne 0x10051f <memset+0xe>
10053a: 8b 45 08 movl 8(%ebp), %eax
10053d: c9 leave
10053e: c3 retl
0010053f <kmain>:
10053f: 55 pushl %ebp
100540: 89 e5 movl %esp, %ebp
100542: 83 ec 08 subl $8, %esp
100545: e8 20 fd ff ff calll 0x10026a <monitor_clear>
10054a: 83 ec 0c subl $12, %esp
10054d: 68 a8 30 10 00 pushl $1061032
100552: e8 69 fd ff ff calll 0x1002c0 <monitor_write>
100557: 83 c4 10 addl $16, %esp
10055a: 83 ec 0c subl $12, %esp
10055d: 68 bd 30 10 00 pushl $1061053
100562: e8 59 fd ff ff calll 0x1002c0 <monitor_write>
100567: 83 c4 10 addl $16, %esp
10056a: 83 ec 0c subl $12, %esp
10056d: 68 d0 30 10 00 pushl $1061072
100572: e8 49 fd ff ff calll 0x1002c0 <monitor_write>
100577: 83 c4 10 addl $16, %esp
10057a: 83 ec 0c subl $12, %esp
10057d: 68 fc 30 10 00 pushl $1061116
100582: e8 39 fd ff ff calll 0x1002c0 <monitor_write>
100587: 83 c4 10 addl $16, %esp
10058a: e8 6c 00 00 00 calll 0x1005fb <init_descriptor_tables>
10058f: 83 ec 0c subl $12, %esp
100592: 68 29 31 10 00 pushl $1061161
100597: e8 24 fd ff ff calll 0x1002c0 <monitor_write>
10059c: 83 c4 10 addl $16, %esp
10059f: 83 ec 0c subl $12, %esp
1005a2: 68 3d 31 10 00 pushl $1061181
1005a7: e8 14 fd ff ff calll 0x1002c0 <monitor_write>
1005ac: 83 c4 10 addl $16, %esp
1005af: e8 64 08 00 00 calll 0x100e18 <keyboard_init>
1005b4: 83 ec 0c subl $12, %esp
1005b7: 68 29 31 10 00 pushl $1061161
1005bc: e8 ff fc ff ff calll 0x1002c0 <monitor_write>
1005c1: 83 c4 10 addl $16, %esp
1005c4: 83 ec 0c subl $12, %esp
1005c7: 68 5c 31 10 00 pushl $1061212
1005cc: e8 ef fc ff ff calll 0x1002c0 <monitor_write>
1005d1: 83 c4 10 addl $16, %esp
1005d4: e8 b5 15 00 00 calll 0x101b8e <initialize_paging>
1005d9: 83 ec 0c subl $12, %esp
1005dc: 68 29 31 10 00 pushl $1061161
1005e1: e8 da fc ff ff calll 0x1002c0 <monitor_write>
1005e6: 83 c4 10 addl $16, %esp
1005e9: 83 ec 0c subl $12, %esp
1005ec: 68 86 31 10 00 pushl $1061254
1005f1: e8 ca fc ff ff calll 0x1002c0 <monitor_write>
1005f6: 83 c4 10 addl $16, %esp
1005f9: eb fe jmp 0x1005f9 <kmain+0xba>
001005fb <init_descriptor_tables>:
1005fb: 55 pushl %ebp
1005fc: 89 e5 movl %esp, %ebp
1005fe: 83 ec 08 subl $8, %esp
100601: e8 08 00 00 00 calll 0x10060e <init_gdt>
100606: e8 b1 00 00 00 calll 0x1006bc <init_idt>
10060b: 90 nop
10060c: c9 leave
10060d: c3 retl
0010060e <init_gdt>:
10060e: 55 pushl %ebp
10060f: 89 e5 movl %esp, %ebp
100611: 83 ec 08 subl $8, %esp
100614: b8 20 60 10 00 movl $1073184, %eax
100619: a3 62 68 10 00 movl %eax, 1075298
10061e: 66 c7 05 60 68 10 00 27 00 movw $39, 1075296
100627: 83 ec 0c subl $12, %esp
10062a: 6a 00 pushl $0
10062c: 6a 00 pushl $0
10062e: 6a 00 pushl $0
100630: 6a 00 pushl $0
100632: 6a 00 pushl $0
100634: e8 e5 01 00 00 calll 0x10081e <gdt_set_gates>
100639: 83 c4 20 addl $32, %esp
10063c: 83 ec 0c subl $12, %esp
10063f: 68 cf 00 00 00 pushl $207
100644: 68 9a 00 00 00 pushl $154
100649: 6a ff pushl $-1
10064b: 6a 00 pushl $0
10064d: 6a 01 pushl $1
10064f: e8 ca 01 00 00 calll 0x10081e <gdt_set_gates>
100654: 83 c4 20 addl $32, %esp
100657: 83 ec 0c subl $12, %esp
10065a: 68 cf 00 00 00 pushl $207
10065f: 68 92 00 00 00 pushl $146
100664: 6a ff pushl $-1
100666: 6a 00 pushl $0
100668: 6a 02 pushl $2
10066a: e8 af 01 00 00 calll 0x10081e <gdt_set_gates>
10066f: 83 c4 20 addl $32, %esp
100672: 83 ec 0c subl $12, %esp
100675: 68 cf 00 00 00 pushl $207
10067a: 68 fa 00 00 00 pushl $250
10067f: 6a ff pushl $-1
100681: 6a 00 pushl $0
100683: 6a 03 pushl $3
100685: e8 94 01 00 00 calll 0x10081e <gdt_set_gates>
10068a: 83 c4 20 addl $32, %esp
10068d: 83 ec 0c subl $12, %esp
100690: 68 cf 00 00 00 pushl $207
100695: 68 f2 00 00 00 pushl $242
10069a: 6a ff pushl $-1
10069c: 6a 00 pushl $0
10069e: 6a 04 pushl $4
1006a0: e8 79 01 00 00 calll 0x10081e <gdt_set_gates>
1006a5: 83 c4 20 addl $32, %esp
1006a8: b8 60 68 10 00 movl $1075296, %eax
1006ad: 83 ec 0c subl $12, %esp
1006b0: 50 pushl %eax
1006b1: e8 2a 04 00 00 calll 0x100ae0 <gdt_flush>
1006b6: 83 c4 10 addl $16, %esp
1006b9: 90 nop
1006ba: c9 leave
1006bb: c3 retl
001006bc <init_idt>:
1006bc: 55 pushl %ebp
1006bd: 89 e5 movl %esp, %ebp
1006bf: 83 ec 18 subl $24, %esp
1006c2: b8 60 60 10 00 movl $1073248, %eax
1006c7: a3 6a 68 10 00 movl %eax, 1075306
1006cc: 66 c7 05 68 68 10 00 ff 07 movw $2047, 1075304
1006d5: 83 ec 04 subl $4, %esp
1006d8: 68 00 08 00 00 pushl $2048
1006dd: 6a 00 pushl $0
1006df: 68 60 60 10 00 pushl $1073248
1006e4: e8 28 fe ff ff calll 0x100511 <memset>
1006e9: 83 c4 10 addl $16, %esp
1006ec: 83 ec 08 subl $8, %esp
1006ef: 6a 11 pushl $17
1006f1: 6a 20 pushl $32
1006f3: e8 c1 fd ff ff calll 0x1004b9 <out_byte>
1006f8: 83 c4 10 addl $16, %esp
1006fb: 83 ec 08 subl $8, %esp
1006fe: 6a 11 pushl $17
100700: 68 a0 00 00 00 pushl $160
100705: e8 af fd ff ff calll 0x1004b9 <out_byte>
10070a: 83 c4 10 addl $16, %esp
10070d: 83 ec 08 subl $8, %esp
100710: 6a 20 pushl $32
100712: 6a 21 pushl $33
100714: e8 a0 fd ff ff calll 0x1004b9 <out_byte>
100719: 83 c4 10 addl $16, %esp
10071c: 83 ec 08 subl $8, %esp
10071f: 6a 28 pushl $40
100721: 68 a1 00 00 00 pushl $161
100726: e8 8e fd ff ff calll 0x1004b9 <out_byte>
10072b: 83 c4 10 addl $16, %esp
10072e: 83 ec 08 subl $8, %esp
100731: 6a 04 pushl $4
100733: 6a 21 pushl $33
100735: e8 7f fd ff ff calll 0x1004b9 <out_byte>
10073a: 83 c4 10 addl $16, %esp
10073d: 83 ec 08 subl $8, %esp
100740: 6a 02 pushl $2
100742: 68 a1 00 00 00 pushl $161
100747: e8 6d fd ff ff calll 0x1004b9 <out_byte>
10074c: 83 c4 10 addl $16, %esp
10074f: 83 ec 08 subl $8, %esp
100752: 6a 01 pushl $1
100754: 6a 21 pushl $33
100756: e8 5e fd ff ff calll 0x1004b9 <out_byte>
10075b: 83 c4 10 addl $16, %esp
10075e: 83 ec 08 subl $8, %esp
100761: 6a 01 pushl $1
100763: 68 a1 00 00 00 pushl $161
100768: e8 4c fd ff ff calll 0x1004b9 <out_byte>
10076d: 83 c4 10 addl $16, %esp
100770: 83 ec 08 subl $8, %esp
100773: 6a 00 pushl $0
100775: 6a 21 pushl $33
100777: e8 3d fd ff ff calll 0x1004b9 <out_byte>
10077c: 83 c4 10 addl $16, %esp
10077f: 83 ec 08 subl $8, %esp
100782: 6a 00 pushl $0
100784: 68 a1 00 00 00 pushl $161
100789: e8 2b fd ff ff calll 0x1004b9 <out_byte>
10078e: 83 c4 10 addl $16, %esp
100791: c7 45 f4 00 00 00 00 movl $0, -12(%ebp)
100798: eb 2c jmp 0x1007c6 <init_idt+0x10a>
10079a: 8b 45 f4 movl -12(%ebp), %eax
10079d: 0f b6 c0 movzbl %al, %eax
1007a0: 83 ec 0c subl $12, %esp
1007a3: 50 pushl %eax
1007a4: e8 74 01 00 00 calll 0x10091d <fetch_isr>
1007a9: 83 c4 10 addl $16, %esp
1007ac: 8b 55 f4 movl -12(%ebp), %edx
1007af: 0f b6 d2 movzbl %dl, %edx
1007b2: 68 8e 00 00 00 pushl $142
1007b7: 6a 08 pushl $8
1007b9: 50 pushl %eax
1007ba: 52 pushl %edx
1007bb: e8 f5 00 00 00 calll 0x1008b5 <idt_set_gates>
1007c0: 83 c4 10 addl $16, %esp
1007c3: ff 45 f4 incl -12(%ebp)
1007c6: 83 7d f4 1f cmpl $31, -12(%ebp)
1007ca: 7e ce jle 0x10079a <init_idt+0xde>
1007cc: c7 45 f0 20 00 00 00 movl $32, -16(%ebp)
1007d3: eb 2f jmp 0x100804 <init_idt+0x148>
1007d5: 8b 45 f0 movl -16(%ebp), %eax
1007d8: 83 e8 20 subl $32, %eax
1007db: 0f b6 c0 movzbl %al, %eax
1007de: 83 ec 0c subl $12, %esp
1007e1: 50 pushl %eax
1007e2: e8 55 02 00 00 calll 0x100a3c <fetch_irq>
1007e7: 83 c4 10 addl $16, %esp
1007ea: 8b 55 f0 movl -16(%ebp), %edx
1007ed: 0f b6 d2 movzbl %dl, %edx
1007f0: 68 8e 00 00 00 pushl $142
1007f5: 6a 08 pushl $8
1007f7: 50 pushl %eax
1007f8: 52 pushl %edx
1007f9: e8 b7 00 00 00 calll 0x1008b5 <idt_set_gates>
1007fe: 83 c4 10 addl $16, %esp
100801: ff 45 f0 incl -16(%ebp)
100804: 83 7d f0 2f cmpl $47, -16(%ebp)
100808: 7e cb jle 0x1007d5 <init_idt+0x119>
10080a: b8 68 68 10 00 movl $1075304, %eax
10080f: 83 ec 0c subl $12, %esp
100812: 50 pushl %eax
100813: e8 e5 02 00 00 calll 0x100afd <idt_flush>
100818: 83 c4 10 addl $16, %esp
10081b: 90 nop
10081c: c9 leave
10081d: c3 retl
0010081e <gdt_set_gates>:
10081e: 55 pushl %ebp
10081f: 89 e5 movl %esp, %ebp
100821: 83 ec 08 subl $8, %esp
100824: 8b 55 14 movl 20(%ebp), %edx
100827: 8b 45 18 movl 24(%ebp), %eax
10082a: 88 55 fc movb %dl, -4(%ebp)
10082d: 88 45 f8 movb %al, -8(%ebp)
100830: 8b 45 10 movl 16(%ebp), %eax
100833: 8b 55 08 movl 8(%ebp), %edx
100836: 66 89 04 d5 20 60 10 00 movw %ax, 1073184(,%edx,8)
10083e: 8b 45 0c movl 12(%ebp), %eax
100841: 8b 55 08 movl 8(%ebp), %edx
100844: 66 89 04 d5 22 60 10 00 movw %ax, 1073186(,%edx,8)
10084c: 8b 45 0c movl 12(%ebp), %eax
10084f: c1 e8 10 shrl $16, %eax
100852: 88 c2 movb %al, %dl
100854: 8b 45 08 movl 8(%ebp), %eax
100857: 88 14 c5 24 60 10 00 movb %dl, 1073188(,%eax,8)
10085e: 8b 45 0c movl 12(%ebp), %eax
100861: c1 e8 18 shrl $24, %eax
100864: 88 c2 movb %al, %dl
100866: 8b 45 08 movl 8(%ebp), %eax
100869: 88 14 c5 27 60 10 00 movb %dl, 1073191(,%eax,8)
100870: 8b 45 08 movl 8(%ebp), %eax
100873: 8a 55 fc movb -4(%ebp), %dl
100876: 88 14 c5 25 60 10 00 movb %dl, 1073189(,%eax,8)
10087d: 8b 45 10 movl 16(%ebp), %eax
100880: c1 e8 10 shrl $16, %eax
100883: 83 e0 0f andl $15, %eax
100886: 88 c2 movb %al, %dl
100888: 8b 45 08 movl 8(%ebp), %eax
10088b: 88 14 c5 26 60 10 00 movb %dl, 1073190(,%eax,8)
100892: 8b 45 08 movl 8(%ebp), %eax
100895: 8a 04 c5 26 60 10 00 movb 1073190(,%eax,8), %al
10089c: 88 c2 movb %al, %dl
10089e: 8a 45 f8 movb -8(%ebp), %al
1008a1: 83 e0 f0 andl $-16, %eax
1008a4: 09 d0 orl %edx, %eax
1008a6: 88 c2 movb %al, %dl
1008a8: 8b 45 08 movl 8(%ebp), %eax
1008ab: 88 14 c5 26 60 10 00 movb %dl, 1073190(,%eax,8)
1008b2: 90 nop
1008b3: c9 leave
1008b4: c3 retl
001008b5 <idt_set_gates>:
1008b5: 55 pushl %ebp
1008b6: 89 e5 movl %esp, %ebp
1008b8: 83 ec 0c subl $12, %esp
1008bb: 8b 4d 08 movl 8(%ebp), %ecx
1008be: 8b 45 10 movl 16(%ebp), %eax
1008c1: 8b 55 14 movl 20(%ebp), %edx
1008c4: 88 4d fc movb %cl, -4(%ebp)
1008c7: 66 89 45 f8 movw %ax, -8(%ebp)
1008cb: 88 d0 movb %dl, %al
1008cd: 88 45 f4 movb %al, -12(%ebp)
1008d0: 0f b6 55 fc movzbl -4(%ebp), %edx
1008d4: 8b 45 0c movl 12(%ebp), %eax
1008d7: 66 89 04 d5 60 60 10 00 movw %ax, 1073248(,%edx,8)
1008df: 0f b6 55 fc movzbl -4(%ebp), %edx
1008e3: 8b 45 f8 movl -8(%ebp), %eax
1008e6: 66 89 04 d5 62 60 10 00 movw %ax, 1073250(,%edx,8)
1008ee: 0f b6 45 fc movzbl -4(%ebp), %eax
1008f2: c6 04 c5 64 60 10 00 00 movb $0, 1073252(,%eax,8)
1008fa: 0f b6 45 fc movzbl -4(%ebp), %eax
1008fe: 8a 55 f4 movb -12(%ebp), %dl
100901: 88 14 c5 65 60 10 00 movb %dl, 1073253(,%eax,8)
100908: 8b 45 0c movl 12(%ebp), %eax
10090b: c1 e8 10 shrl $16, %eax
10090e: 0f b6 55 fc movzbl -4(%ebp), %edx
100912: 66 89 04 d5 66 60 10 00 movw %ax, 1073254(,%edx,8)
10091a: 90 nop
10091b: c9 leave
10091c: c3 retl
0010091d <fetch_isr>:
10091d: 55 pushl %ebp
10091e: 89 e5 movl %esp, %ebp
100920: 81 ec 84 00 00 00 subl $132, %esp
100926: 8b 45 08 movl 8(%ebp), %eax
100929: 88 85 7c ff ff ff movb %al, -132(%ebp)
10092f: b8 20 0c 10 00 movl $1051680, %eax
100934: 89 45 80 movl %eax, -128(%ebp)
100937: b8 2a 0c 10 00 movl $1051690, %eax
10093c: 89 45 84 movl %eax, -124(%ebp)
10093f: b8 34 0c 10 00 movl $1051700, %eax
100944: 89 45 88 movl %eax, -120(%ebp)
100947: b8 3e 0c 10 00 movl $1051710, %eax
10094c: 89 45 8c movl %eax, -116(%ebp)
10094f: b8 48 0c 10 00 movl $1051720, %eax
100954: 89 45 90 movl %eax, -112(%ebp)
100957: b8 52 0c 10 00 movl $1051730, %eax
10095c: 89 45 94 movl %eax, -108(%ebp)
10095f: b8 5c 0c 10 00 movl $1051740, %eax
100964: 89 45 98 movl %eax, -104(%ebp)
100967: b8 66 0c 10 00 movl $1051750, %eax
10096c: 89 45 9c movl %eax, -100(%ebp)
10096f: b8 70 0c 10 00 movl $1051760, %eax
100974: 89 45 a0 movl %eax, -96(%ebp)
100977: b8 78 0c 10 00 movl $1051768, %eax
10097c: 89 45 a4 movl %eax, -92(%ebp)
10097f: b8 82 0c 10 00 movl $1051778, %eax
100984: 89 45 a8 movl %eax, -88(%ebp)
100987: b8 8a 0c 10 00 movl $1051786, %eax
10098c: 89 45 ac movl %eax, -84(%ebp)
10098f: b8 92 0c 10 00 movl $1051794, %eax
100994: 89 45 b0 movl %eax, -80(%ebp)
100997: b8 9a 0c 10 00 movl $1051802, %eax
10099c: 89 45 b4 movl %eax, -76(%ebp)
10099f: b8 a2 0c 10 00 movl $1051810, %eax
1009a4: 89 45 b8 movl %eax, -72(%ebp)
1009a7: b8 aa 0c 10 00 movl $1051818, %eax
1009ac: 89 45 bc movl %eax, -68(%ebp)
1009af: b8 b4 0c 10 00 movl $1051828, %eax
1009b4: 89 45 c0 movl %eax, -64(%ebp)
1009b7: b8 be 0c 10 00 movl $1051838, %eax
1009bc: 89 45 c4 movl %eax, -60(%ebp)
1009bf: b8 c8 0c 10 00 movl $1051848, %eax
1009c4: 89 45 c8 movl %eax, -56(%ebp)
1009c7: b8 d2 0c 10 00 movl $1051858, %eax
1009cc: 89 45 cc movl %eax, -52(%ebp)
1009cf: b8 dc 0c 10 00 movl $1051868, %eax
1009d4: 89 45 d0 movl %eax, -48(%ebp)
1009d7: b8 e6 0c 10 00 movl $1051878, %eax
1009dc: 89 45 d4 movl %eax, -44(%ebp)
1009df: b8 f0 0c 10 00 movl $1051888, %eax
1009e4: 89 45 d8 movl %eax, -40(%ebp)
1009e7: b8 fa 0c 10 00 movl $1051898, %eax
1009ec: 89 45 dc movl %eax, -36(%ebp)
1009ef: b8 04 0d 10 00 movl $1051908, %eax
1009f4: 89 45 e0 movl %eax, -32(%ebp)
1009f7: b8 0e 0d 10 00 movl $1051918, %eax
1009fc: 89 45 e4 movl %eax, -28(%ebp)
1009ff: b8 18 0d 10 00 movl $1051928, %eax
100a04: 89 45 e8 movl %eax, -24(%ebp)
100a07: b8 22 0d 10 00 movl $1051938, %eax
100a0c: 89 45 ec movl %eax, -20(%ebp)
100a0f: b8 2c 0d 10 00 movl $1051948, %eax
100a14: 89 45 f0 movl %eax, -16(%ebp)
100a17: b8 36 0d 10 00 movl $1051958, %eax
100a1c: 89 45 f4 movl %eax, -12(%ebp)
100a1f: b8 40 0d 10 00 movl $1051968, %eax
100a24: 89 45 f8 movl %eax, -8(%ebp)
100a27: b8 4a 0d 10 00 movl $1051978, %eax
100a2c: 89 45 fc movl %eax, -4(%ebp)
100a2f: 0f b6 85 7c ff ff ff movzbl -132(%ebp), %eax
100a36: 8b 44 85 80 movl -128(%ebp,%eax,4), %eax
100a3a: c9 leave
100a3b: c3 retl
00100a3c <fetch_irq>:
100a3c: 55 pushl %ebp
100a3d: 89 e5 movl %esp, %ebp
100a3f: 83 ec 44 subl $68, %esp
100a42: 8b 45 08 movl 8(%ebp), %eax
100a45: 88 45 bc movb %al, -68(%ebp)
100a48: b8 51 0d 10 00 movl $1051985, %eax
100a4d: 89 45 c0 movl %eax, -64(%ebp)
100a50: b8 5b 0d 10 00 movl $1051995, %eax
100a55: 89 45 c4 movl %eax, -60(%ebp)
100a58: b8 65 0d 10 00 movl $1052005, %eax
100a5d: 89 45 c8 movl %eax, -56(%ebp)
100a60: b8 6f 0d 10 00 movl $1052015, %eax
100a65: 89 45 cc movl %eax, -52(%ebp)
100a68: b8 76 0d 10 00 movl $1052022, %eax
100a6d: 89 45 d0 movl %eax, -48(%ebp)
100a70: b8 7d 0d 10 00 movl $1052029, %eax
100a75: 89 45 d4 movl %eax, -44(%ebp)
100a78: b8 84 0d 10 00 movl $1052036, %eax
100a7d: 89 45 d8 movl %eax, -40(%ebp)
100a80: b8 8b 0d 10 00 movl $1052043, %eax
100a85: 89 45 dc movl %eax, -36(%ebp)
100a88: b8 92 0d 10 00 movl $1052050, %eax
100a8d: 89 45 e0 movl %eax, -32(%ebp)
100a90: b8 99 0d 10 00 movl $1052057, %eax
100a95: 89 45 e4 movl %eax, -28(%ebp)
100a98: b8 a0 0d 10 00 movl $1052064, %eax
100a9d: 89 45 e8 movl %eax, -24(%ebp)
100aa0: b8 a7 0d 10 00 movl $1052071, %eax
100aa5: 89 45 ec movl %eax, -20(%ebp)
100aa8: b8 ae 0d 10 00 movl $1052078, %eax
100aad: 89 45 f0 movl %eax, -16(%ebp)
100ab0: b8 b5 0d 10 00 movl $1052085, %eax
100ab5: 89 45 f4 movl %eax, -12(%ebp)
100ab8: b8 bc 0d 10 00 movl $1052092, %eax
100abd: 89 45 f8 movl %eax, -8(%ebp)
100ac0: b8 c3 0d 10 00 movl $1052099, %eax
100ac5: 89 45 fc movl %eax, -4(%ebp)
100ac8: 0f b6 45 bc movzbl -68(%ebp), %eax
100acc: 8b 44 85 c0 movl -64(%ebp,%eax,4), %eax
100ad0: c9 leave
100ad1: c3 retl
100ad2: 66 90 nop
100ad4: 66 90 nop
100ad6: 66 90 nop
100ad8: 66 90 nop
100ada: 66 90 nop
100adc: 66 90 nop
100ade: 66 90 nop
00100ae0 <gdt_flush>:
100ae0: 8b 44 24 04 movl 4(%esp), %eax
100ae4: 0f 01 10 lgdtl (%eax)
100ae7: 66 b8 10 00 movw $16, %ax
100aeb: 8e d8 movl %eax, %ds
100aed: 8e c0 movl %eax, %es
100aef: 8e e0 movl %eax, %fs
100af1: 8e e8 movl %eax, %gs
100af3: 8e d0 movl %eax, %ss
100af5: ea fc 0a 10 00 08 00 ljmpl $8, $1051388
00100afc <gdt_flush.flush>:
100afc: c3 retl
00100afd <idt_flush>:
100afd: 8b 54 24 04 movl 4(%esp), %edx
100b01: 0f 01 1a lidtl (%edx)
100b04: fb sti
100b05: c3 retl
00100b06 <isr_handler>:
100b06: 55 pushl %ebp
100b07: 89 e5 movl %esp, %ebp
100b09: 57 pushl %edi
100b0a: 56 pushl %esi
100b0b: 53 pushl %ebx
100b0c: 83 ec 1c subl $28, %esp
100b0f: 8b 45 2c movl 44(%ebp), %eax
100b12: 8b 04 85 80 68 10 00 movl 1075328(,%eax,4), %eax
100b19: 85 c0 testl %eax, %eax
100b1b: 74 2e je 0x100b4b <isr_handler+0x45>
100b1d: 8b 45 2c movl 44(%ebp), %eax
100b20: 8b 04 85 80 68 10 00 movl 1075328(,%eax,4), %eax
100b27: 89 45 e4 movl %eax, -28(%ebp)
100b2a: 83 ec 40 subl $64, %esp
100b2d: 89 e0 movl %esp, %eax
100b2f: 89 c2 movl %eax, %edx
100b31: 8d 5d 08 leal 8(%ebp), %ebx
100b34: b8 10 00 00 00 movl $16, %eax
100b39: 89 d7 movl %edx, %edi
100b3b: 89 de movl %ebx, %esi
100b3d: 89 c1 movl %eax, %ecx
100b3f: f3 a5 rep movsl (%esi), %es:(%edi)
100b41: 8b 45 e4 movl -28(%ebp), %eax
100b44: ff d0 calll *%eax
100b46: 83 c4 40 addl $64, %esp
100b49: eb 2c jmp 0x100b77 <isr_handler+0x71>
100b4b: 83 ec 0c subl $12, %esp
100b4e: 68 95 31 10 00 pushl $1061269
100b53: e8 68 f7 ff ff calll 0x1002c0 <monitor_write>
100b58: 83 c4 10 addl $16, %esp
100b5b: 8b 45 2c movl 44(%ebp), %eax
100b5e: 83 ec 0c subl $12, %esp
100b61: 50 pushl %eax
100b62: e8 9b f7 ff ff calll 0x100302 <monitor_write_dec>
100b67: 83 c4 10 addl $16, %esp
100b6a: 83 ec 0c subl $12, %esp
100b6d: 6a 0a pushl $10
100b6f: e8 b2 f5 ff ff calll 0x100126 <monitor_put>
100b74: 83 c4 10 addl $16, %esp
100b77: 90 nop
100b78: 8d 65 f4 leal -12(%ebp), %esp
100b7b: 5b popl %ebx
100b7c: 5e popl %esi
100b7d: 5f popl %edi
100b7e: 5d popl %ebp
100b7f: c3 retl
00100b80 <irq_handler>:
100b80: 55 pushl %ebp
100b81: 89 e5 movl %esp, %ebp
100b83: 57 pushl %edi
100b84: 56 pushl %esi
100b85: 53 pushl %ebx
100b86: 83 ec 1c subl $28, %esp
100b89: 8b 45 2c movl 44(%ebp), %eax
100b8c: 83 f8 27 cmpl $39, %eax
100b8f: 76 12 jbe 0x100ba3 <irq_handler+0x23>
100b91: 83 ec 08 subl $8, %esp
100b94: 6a 20 pushl $32
100b96: 68 a0 00 00 00 pushl $160
100b9b: e8 19 f9 ff ff calll 0x1004b9 <out_byte>