Я хочу создать MBR на ассемблере.Но у меня есть код, выданный кем-то, кого я не понимаю.Когда вы пишете
push ax
push bx
Что означает, когда мы используем сегмент и смещение
Для получения более подробной информации прочитайте этот код:
[BITS 16]
[ORG 0x0]
mov ax, 0x07C0
mov ds , ax
mov es , ax
mov ax , 0x8000
mov ss , ax
mov sp , 0xf000
mov si ,msgDebut
call afficher
end :
jmp end
msgDebut db "HelloWorld!!!!",13,10,0
afficher :
push ax
push bx
.debut :
lodsb
cmp al ,0
jz .fin
mov ah , 0x0E
mov bx , 0x07
int 0x10
jmp .debut
.fin :
pop bx
pop ax
ret
times 510-($-$$) db 144
dw 0xAA55
Можете ли вы объяснить мнеэтот код построчно с использованием адресации памяти, сегментации и абстракции смещения