Адрес в регистрах ds и es
У меня есть такой код загрузчика ОС:
BITS 16
org 7C00h
jmp short bootloader_start ; Jump past disk description section
nop
;---- skip code
bootloader_start:
cli ; Disable interrupts while changing stack
xor AX,AX
mov SS,AX ;Work in stack just below this routine
mov SP,7C00h
sti ; Restore interrupts
xor AX,AX
mov es, ax
push ES
pop DS ; DS = ES = code = 0.
Мне не понятен коментарий DS = ES = code = 0 в последней строке кода. Имеется в виду что DS и ES равно 0 и этот 0 это начало всей памяти компьютера, или этот 0 обозначает нулевое смещение от начала кода т.е. смещение от 7c00h? Как может быть code = 0? Если code == 7c00h.
Источник: Stack Overflow на русском