Почему этот код загрузчика x86 'hello world', написанный для NASM, работает без директив [BITS 16] и [ORG 0x7C00]? - PullRequest
4 голосов
/ 15 апреля 2010
push word 0b800h
pop es
xor di, di
mov [es:di], word 441h
jmp $
times 510 - ($-$$) db 0
db 55h
db 0AAh

1 Ответ

9 голосов
/ 15 апреля 2010

Потому что вы пишете плоский двоичный файл без меток. NASM должен по умолчанию 16-битный. С этим связан тот факт, что у вас нет адреса или меток - поэтому нет необходимости предоставлять директиву [ORG ...].

...