Top.Mail.Ru
Ответы
Аватар пользователя
12 лет назад
от
Изменено

[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
И еще, если можно, объясните пожалуйста каждую строчку написанного тут, а то я на копи-пастил и мало что понимаю..

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
12лет

Посмотрите, как дяди работают со строками:
http://en.wikibooks.org/wiki/X86_Assembly/Bootloaders

Аватар пользователя
12лет

int 10h - прерывание из сервиса биос, выполняет функцию, номер которой передается в регистре AH. Если ah=0Eh, то это вывод символа на текстовый экран. В AL передается ASCII-код символа.