Следя сериите за разработване на операции на brokenthorn, за да проуча за зареждащото устройство. В тази страница това са трите реда код:
bits 16 ; We are still in 16 bit Real Mode
org 0x7c00 ; We are loaded by BIOS at 0x7C00
start: jmp loader ; jump over OEM block
Във втори ред Той зареди биоса на 7c00 на дискета. защо не на 0000? Проверих в Къде да съхранявам буутлоудъра на флопи изображение?. Тук също даде същото. Но причината не е обяснена. Може ли някой да ми обясни това, моля? Благодаря предварително.
РЕДАКТИРАНЕ: Обърквам се, защото в същия сайт в по-късен урок кодовете са:
bits 16 ; we are in 16 bit real mode
org 0 ; we will set regisers later
start: jmp main ; jump to start of bootloader
и след това в основния
main:
;----------------------------------------------------
; code located at 0000:7C00, adjust segment registers
;----------------------------------------------------
cli ; disable interrupts
mov ax, 0x07C0 ; setup registers to point to our segment
mov ds, ax
mov es, ax
mov fs, ax
mov gs, ax
Ето защо той използва org 0? И тогава защо е копирал адреса във всички регистри? Съжалявам, ако това е глупав въпрос. Аз съм много нов в асемблерното програмиране и току-що започнах да чета за зареждащите програми.