boot.s文件
.globl begtext, begdata, begbss, endtext, enddata, endbss
.text
begtext:
.data
begdata:
.bss
begbss:
.text
BOOTSEG = 0x07c0 ! original address of boot-sector
entry _start
_start:
jmpi go,BOOTSEG
go: mov ax,cs
mov ds,ax
mov es,ax
mov [msg1+17],ah
mov cx,#20
mov dx,#0x1004
mov bx,#0x000c
mov bp,#msg1
mov ax,#0x1301
int 0x10
loop0: jmp loop0
msg1:
.ascii "Loading system ..."
.byte 13,10
.org 510
.word 0xAA55
.text
endtext:
.data
enddata:
.bss
endbss:
編譯as86 -0 -a -o boot.o boot.s
連接ld86 -0 -s -o boot boot.o
寫入軟盤映像文件dd bs=32 if=boot of=bootimage-0.11-fd skip=1
反彙編[root@myhost linux-0.11-devel-060625]# objdump -D -b binary -m i8086 boot
boot: file format binary
Disassembly of section .data:
00000000 <.data>:
0: 01 03 add %ax,(%bp,%di)
2: 10 04 adc %al,(%si)
4: 20 00 and %al,(%bx,%si)
6: 00 00 add %al,(%bx,%si)
8: 00 02 add %al,(%bp,%si)
...
16: 00 00 add %al,(%bx,%si)
18: 00 82 00 00 add %al,0(%bp,%si)
1c: 00 00 add %al,(%bx,%si)
1e: 00 00 add %al,(%bx,%si)
20: ea 05 00 c0 07 ljmp $0x7c0,$0x5
25: 8c c8 mov %cs,%ax
27: 8e d8 mov %ax,%ds
29: 8e c0 mov %ax,%es
2b: 88 26 33 00 mov %ah,51
2f: b9 14 00 mov $0x14,%cx
32: ba 04 10 mov $0x1004,%dx
35: bb 0c 00 mov $0xc,%bx
38: bd 22 00 mov $0x22,%bp
3b: b8 01 13 mov $0x1301,%ax
3e: cd 10 int $0x10
40: eb fe jmp 0x40
42: 4c dec %sp
43: 6f outsw %ds:(%si),(%dx)
44: 61 popa
45: 64 69 6e 67 20 73 imul $0x7320,%fs:103(%bp),%bp
4b: 79 73 jns 0xc0
4d: 74 65 je 0xb4
4f: 6d insw (%dx),%es:(%di)
50: 20 2e 2e 2e and %ch,11822
54: 0d 0a 00 or $0xa,%ax
...
21b: 00 00 add %al,(%bx,%si)
21d: 00 55 aa add %dl,-86(%di)
[root@myhost linux-0.11-devel-060625]#