最近IM學習如何寫一個引導扇區,這裏是我學習的完整代碼:什麼在組件中使用「組織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處地方,但對此的解釋是非常模棱兩可,我真的不知道這裏有什麼用處。 org 07c00h
在這裏做什麼?我試圖刪除行,並使用NASM創建bin
文件,然後使用Bochs的引導bin文件。與上一個沒什麼不同:「你好OS!」也顯示在屏幕上。我可以說第一行在這裏什麼都不做?在世界上使用org xxxx
是什麼?
這意味着這本書所說的。如果你不理解它,你應該再次查看基礎知識。特別是,你需要了解記憶是如何工作的。 – 2012-04-24 15:52:11
正如[nasm手冊](http://www.nasm.us/doc/nasmdoc7.html#section-7.1.1)所述:「ORG指令的功能是指定NASM將承擔的起始地址程序從裝入內存時開始。「即你正在告訴彙編程序自己無法弄懂的東西:程序將在什麼地址加載。 – user786653 2012-04-24 16:32:13
@Karl:你應該首先明白什麼是幫助和善良,以及如何回答人們去啓發他們,而不是隻是唾棄。 – SasQ 2012-06-17 21:47:21