私は、画面にいくつかのものを出力するだけのこのブートローダーを書いています。これは私がこれまでに組み立てたものです:
.globl _start
.code16
_start:
movw $0x0003, %ax
int $0x10
movb $0x0e, %ah
movb $0x69, %al
int $0x10
movw $_header, %bx
movb %bl, %al
int $0x10
_header: .ascii "W\0"
.org 0x1FE
.byte 0x55
.byte 0xAA
したがって、現在はASCII 69( "i")を出力しますが、.ascii
宣言も出力するようにします。今は設定しているだけ"W"
なので、で簡単に見つけることができますObjdump
。その値にアクセスできないようです(57)。できleal $_header, %edx
ますが、の値にアクセスできないようです%edx
。
使ってみlodsb
ましたが、わからないようです。%di
0x00に設定し、 with%si
のアドレスに設定しましたが、その後に続くものは何も出力されないようです。どんなアイデアでもありがたいです。_header
leal %si, _header
lodsb
int 0x10