2 obj
/boot
/boot.
out: file format elf32
-i386
5 Disassembly of
section .
text:
10 7c02: 31 c0
xor %eax,%eax
11 7c04: 8e d8
mov %eax,%ds
12 7c06: 8e c0
mov %eax,%es
13 7c08: 8e d0
mov %eax,%ss
16 7c0a: e4
64 in $0x64
,%al
17 7c0c: a8
02 test $0x2
,%al
18 7c0e: 75 fa
jne 7c0a
<seta20.1
>
19 7c10: b0 d1
mov $0xd1
,%al
20 7c12: e6
64 out %al,$0x64
23 7c14: e4
64 in $0x64
,%al
24 7c16: a8
02 test $0x2
,%al
25 7c18: 75 fa
jne 7c14
<seta20.2
>
26 7c1a: b0 df
mov $0xdf
,%al
27 7c1c: e6
60 out %al,$0x60
28 7c1e: 0f
01 16 lgdtl
(%esi)
30 7c22: 7c
0f
jl 7c33
<protcseg
+0x1>
31 7c24: 20 c0
and %al,%al
32 7c26: 66 83 c8
01 or $0x1
,%ax
33 7c2a: 0f
22 c0
mov %eax,%cr0
34 7c2d: ea
32 7c
08 00 66 b8 ljmp
$0xb866
,$0x87c32
37 7c32: 66 b8
10 00 mov $0x10
,%ax
38 7c36: 8e d8
mov %eax,%ds
39 7c38: 8e c0
mov %eax,%es
40 7c3a: 8e e0
mov %eax,%fs
41 7c3c: 8e e8
mov %eax,%gs
42 7c3e: 8e d0
mov %eax,%ss
43 7c40: bc
00 7c
00 00 mov $0x7c00
,%esp
44 7c45: e8 da
00 00 00 call 7d24
<bootmain
>
47 7c4a: eb fe
jmp 7c4a
<spin
>
52 7c55: ff
00 incl
(%eax)
53 7c57: 00 00 add %al,(%eax)
54 7c59: 9a cf
00 ff ff
00 00 lcall
$0x0
,$0xffff00cf
55 7c60: 00 92 cf
00 17 00 add %dl,0x1700cf(%edx)
59 7c65: 00 4c
7c
00 add %cl,0x0(%esp,%edi,2)
60 7c69: 00 00 add %al,(%eax)
65 7c6d: ba f7
01 00 00 mov $0x1f7
,%edx
66 7c72: 89 e5
mov %esp,%ebp
68 7c75: 25 c0
00 00 00 and $0xc0
,%eax
69 7c7a: 83 f8
40 cmp $0x40
,%eax
70 7c7d: 75 f5
jne 7c74
<waitdisk
+0x8>
76 7c82: 89 e5
mov %esp,%ebp
78 7c85: 8b 7d
0c
mov 0xc(%ebp),%edi
79 7c88: e8 df ff ff ff
call 7c6c
<waitdisk
>
80 7c8d: ba f2
01 00 00 mov $0x1f2
,%edx
81 7c92: b0
01 mov $0x1
,%al
82 7c94: ee
out %al,(%dx)
83 7c95: b2 f3
mov $0xf3
,%dl
84 7c97: 89 f8
mov %edi,%eax
85 7c99: ee
out %al,(%dx)
86 7c9a: 89 f8
mov %edi,%eax
87 7c9c: b2 f4
mov $0xf4
,%dl
88 7c9e: c1 e8
08 shr $0x8
,%eax
89 7ca1: ee
out %al,(%dx)
90 7ca2: 89 f8
mov %edi,%eax
91 7ca4: b2 f5
mov $0xf5
,%dl
92 7ca6: c1 e8
10 shr $0x10
,%eax
93 7ca9: ee
out %al,(%dx)
94 7caa: c1 ef
18 shr $0x18
,%edi
95 7cad: b2 f6
mov $0xf6
,%dl
96 7caf: 89 f8
mov %edi,%eax
97 7cb1: 83 c8 e0
or $0xffffffe0
,%eax
98 7cb4: ee
out %al,(%dx)
99 7cb5: b0
20 mov $0x20
,%al
100 7cb7: b2 f7
mov $0xf7
,%dl
101 7cb9: ee
out %al,(%dx)
102 7cba: e8 ad ff ff ff
call 7c6c
<waitdisk
>
103 7cbf: 8b 7d
08 mov 0x8(%ebp),%edi
104 7cc2: b9
80 00 00 00 mov $0x80
,%ecx
105 7cc7: ba f0
01 00 00 mov $0x1f0
,%edx
107 7ccd: f2
6d
repnz insl
(%dx),%es:(%edi)
114 7cd3: 89 e5
mov %esp,%ebp
119 7cd9: 8b 75 08 mov 0x8(%ebp),%esi
120 7cdc: 8b 5d
0c
mov 0xc(%ebp),%ebx
121 7cdf: 8b 7d
14 mov 0x14(%ebp),%edi
122 7ce2: 89 f0
mov %esi,%eax
123 7ce4: 81 e6
00 fe ff
00 and $0xfffe00
,%esi
124 7cea: 25 ff ff ff
00 and $0xffffff
,%eax
125 7cef: 01 c3
add %eax,%ebx
126 7cf1: 03 45 10 add 0x10(%ebp),%eax
127 7cf4: c1 ef
09 shr $0x9
,%edi
129 7cf8: 89 45 f0
mov %eax,-0x10(%ebp)
130 7cfb: eb
10 jmp 7d0d
<readseg
+0x3b>
134 7d00: 81 c6
00 02 00 00 add $0x200
,%esi
135 7d06: e8
76 ff ff ff
call 7c81
<readsect
>
138 7d0d: 39 de
cmp %ebx,%esi
139 7d0f: 72 ec
jb 7cfd
<readseg
+0x2b>
140 7d11: eb
04 jmp 7d17
<readseg
+0x45>
141 7d13: c6
03 00 movb
$0x0
,(%ebx)
143 7d17: 3b 5d f0
cmp -0x10(%ebp),%ebx
144 7d1a: 72 f7
jb 7d13
<readseg
+0x41>
145 7d1c: 8d
65 f4
lea -0xc(%ebp),%esp
154 7d25: 89 e5
mov %esp,%ebp
157 7d29: 6a
00 push $0x0
158 7d2b: 68 00 10 00 00 push $0x1000
159 7d30: 68 00 10 00 00 push $0x1000
160 7d35: 68 00 00 01 00 push $0x10000
161 7d3a: e8
93 ff ff ff
call 7cd2
<readseg
>
162 7d3f: 83 c4
10 add $0x10
,%esp
163 7d42: 81 3d
00 00 01 00 7f cmpl
$0x464c457f
,0x10000
165 7d4c: 75 42 jne 7d90
<bootmain
+0x6c>
166 7d4e: 8b 1d
1c
00 01 00 mov 0x1001c,%ebx
167 7d54: 0f b7
05 2c
00 01 00 movzwl
0x1002c,%eax
168 7d5b: 81 c3
00 00 01 00 add $0x10000
,%ebx
169 7d61: c1 e0
05 shl $0x5
,%eax
170 7d64: 8d
34 03 lea (%ebx,%eax,1),%esi
171 7d67: eb
17 jmp 7d80
<bootmain
+0x5c>
172 7d69: ff
73 04 pushl
0x4(%ebx)
173 7d6c: ff
73 14 pushl
0x14(%ebx)
174 7d6f: ff
73 10 pushl
0x10(%ebx)
175 7d72: ff
73 08 pushl
0x8(%ebx)
176 7d75: 83 c3
20 add $0x20
,%ebx
177 7d78: e8
55 ff ff ff
call 7cd2
<readseg
>
178 7d7d: 83 c4
10 add $0x10
,%esp
179 7d80: 39 f3
cmp %esi,%ebx
180 7d82: 72 e5
jb 7d69
<bootmain
+0x45>
181 7d84: a1
18 00 01 00 mov 0x10018,%eax
182 7d89: 25 ff ff ff
00 and $0xffffff
,%eax
183 7d8e: ff d0
call *%eax
184 7d90: ba
00 8a
00 00 mov $0x8a00
,%edx
185 7d95: b8
00 8a ff ff
mov $0xffff8a00
,%eax
186 7d9a: 66 ef
out %ax,(%dx)
187 7d9c: b8
00 8e ff ff
mov $0xffff8e00
,%eax
188 7da1: 66 ef
out %ax,(%dx)
189 7da3: 8d
65 f8
lea -0x8(%ebp),%esp