[bits 16]
[org 0x7c00]
mov ax, 0x0000
mov ds, ax
add ax, 32 ;512/16=32 указатель базы адреса стека после кода загрузчика
mov ss, ax ;установка адреса сегмента стека
mov sp, 0x7c00+1024 ;установка смещения адреса указателя стека после кода в конец выделенного места для стека
[bits 16]
[org 0x0000]
mov ax, 0x07C0
mov ds, ax
add ax, 32
mov ss, ax
mov sp, 1024 ;
[bits 16]
[org 0x7c00]
start: ;смещение равно 0x7c00
mov ax, 0
mov ds, ax ; указатель сегмента данных. База будет равна 0, благодаря org 0x7c00 все адреса будут на своих местах
mov ss, ax ; указатель сегмента стека
mov sp, start+1024+512 ;вершина стека
[bits 16]
[org 0x0000]
start: ;смещение равно 0x0000
mov ax, 0x07c0
mov ds, ax ; указатель сегмента данных. База будет равна 0x7c00, смещения начнутся от 0го байта
mov ss, ax ; указатель сегмента стека
mov sp, start+1024+512 ;вершина стека