Здравствуйте! Есть ОС на fasm которая загружает "ядро" и запускает программы. Хочу добавить программу, в которой будет меню, пусть и текстовое. Но когда я пробовал вывести подкрашенный текст выводилась пустота. Пожалуйста помогите: Исправить ошибку с отображением текста, Перемещать курсор кнопками, и сделать "кнопки". Моя теория: нужно сравнивать положение курсора с положением текста "кнопки" или ссылки, если совпадет, то jump-иться на программу(ОС будет без ФС). Пожалуйста помогите!
Код программы с "плохим" текстом:
Код:
org 1c00h
include 'LIB\BASE_FUNC.asm'
start:
clear_scr
mov dx,0h
call SetCursorPos
mov bp, msg
mov cx, 29
mov bl,0Ah
xor bh,bh
mov ax,1301h
int 10h
add dh,2
call SetCursorPos
mov si,0
jmp Escape
; jmp $
Escape:
mov ah,10h
int 16h
cmp al, 1Bh ;Если нажата клавиша Esc - выход из приложения
jz Esc
jmp Escape
Esc:
jmp 0000:0500h
SetCursorPos:
mov ah,2h
xor bh,bh
int 10h
ret
PrintMes:
mov bl,0Ah
mov ax,1301h
int 10h
ret
msg db 'the paper with a black ink...',0
times 512 - ($ - $$) db 0
Макрос очистки экрана в BASE_FUNC:
Код:
macro clear_scr
{
mov ax, 0002h ;очищаем экран
int 10h
}
Спасибо