Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.06.2023, 22:34   #1
Окоза-Окоза
Пользователь
 
Регистрация: 09.01.2023
Сообщений: 19
Счастье ОС на fasm - мини графическая оболочка

Здравствуйте! Есть ОС на 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
}
Спасибо

Последний раз редактировалось Окоза-Окоза; 22.06.2023 в 10:03.
Окоза-Окоза вне форума Ответить с цитированием
Старый 21.06.2023, 22:48   #2
Окоза-Окоза
Пользователь
 
Регистрация: 09.01.2023
Сообщений: 19
Вопрос

Для создания "Тела" меню нужно красить фон текста. Можно сделать так: mov bl,13h ? (Синий фон, желтый текст)
чтобы легче вот список:
0 - черный, 1 - синий, 2 - зеленый, 3 - желтый, 4 - красный, 5 - фиолетовый, 6 - коричневый, 7 - светло-серый, 8 - темно-серый, 9 - светло-синий, A - светло-зеленый, B - светло-желтый, C - светло-красный, D- светло-фиолетовый, E - светло-коричневый, F – Белый.

Последний раз редактировалось Окоза-Окоза; 21.06.2023 в 22:57.
Окоза-Окоза вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графическая оболочка BIOS - как пользоваться? nch Компьютерное железо 21 01.08.2017 17:18
Собственная графическая оболочка Studik Паскаль, Turbo Pascal, PascalABC.NET 4 05.07.2011 14:43
Графическая оболочка (вьюер) guru2002 Фриланс 3 21.05.2011 12:36
Графическая оболочка для UPX (GUI-UPX) >>arty<< Общие вопросы Delphi 33 13.02.2011 11:38
Графическая оболочка C++ Якъ Общие вопросы C/C++ 2 09.02.2011 00:32