最近イム学習は、ここで私が学んでいます完全なコードですいただきました!:あなたがブートする方法を知っていればアセンブリにおける「組織XXXX」の使用は
org 07c00h
mov ax, cs
mov ds, ax
mov es, ax
call DispStr
jmp $
DispStr:
mov ax, BootMessage
mov bp, ax
mov cx, 16
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
ret
BootMessage: db "Hello, OS!"
times 510-($-$$) db 0
dw 0xaa55
非常に簡単なコードはシステム。結果は、画面に表示されたHello OS!
という行です。最初の行はorg 07c00h
です。この行は、コード行がコンパイラに7c00hの場所にアドレスを割り当てることを通知しますが、その説明は次のとおりです非常にあいまいで、私は実際にここでその使い方を知っていません。どのintheworldラインorg 07c00h
ここですか?私はその行を削除しようとし、bin
ファイルを作成するためにnasmを使い、bochを使ってbinファイルをブートしました。以前のものとは何の違いもありません。「こんにちはOS!画面にも表示されます。最初の行はここで何もしないと言うことができますか?どのようなorg xxxx
intheworldの使用ですか?
本書の内容を正確に示しています。あなたがそれを理解していない場合は、おそらく基礎を再検討する必要があります。特に、メモリの仕組みを理解する必要があります。 –
[nasm manual](http://www.nasm.us/doc/nasmdoc7.html#section-7.1.1)は次のように述べています。「ORG指令の機能は、NASMがプログラムがメモリにロードされたときに開始されます。 "私。あなたはアセンブラに、それ自身では理解できない何かを伝えています:プログラムがロードされるアドレス。 – user786653
@カール:まず、助けて親切なことと、ちょうど怒っているのではなく、啓発するように人々に答える方法を理解する必要があります。 – SasQ