[Assembler] Шуточная OS на fasm
В интернете посмотрел много примеров, решил написать шуточную ОС, которая выводит слово "Hello", запустил на VirtualBox - однако, работает.
Но есть проблема, слишком уж говно-кодно строка выводится. По одному символу и по коду из таблицы ASСII. Как использовать переменную в этом случае? Видимо нужно как-то строку в оперативную память занести, а в регистр al адрес передать.. вот что на данный момент:
mov ax, 9ch
mov ss, ax
mov sp, 4096d
mov ax, 7c0h
mov ds, ax
mov ah, 0eh
mov al, 72 ; H
int 10h
mov al, 69 ; E
int 10h
mov al, 76 ; L
int 10h
mov al, 76 ; L
int 10h
mov al, 79 ; O
int 10h
jmp $
times 510-($-$$) db 0
dw 0xFF55
И еще, если можно, объясните пожалуйста каждую строчку написанного тут, а то я на копи-пастил и мало что понимаю..
Посмотрите, как дяди работают со строками:
http://en.wikibooks.org/wiki/X86_Assembly/Bootloaders
int 10h - прерывание из сервиса биос, выполняет функцию, номер которой передается в регистре AH. Если ah=0Eh, то это вывод символа на текстовый экран. В AL передается ASCII-код символа.