Вывод на экран

Работа с LFB в DOS /05.10.2006/ - хорошая статья о программировании в SVGA режимах (позволяет использовать режимы до 1600x1200x16 бит)

Режимы адаптеров

1)

Режим Разрешение Количество цветов Тип
00h 40×20 16 Text
01h 40×25 16 Text
02h 80×25 16 Text
03h 40×20 16 Text
04h 320×200 4 Graph
05h 320×200 4 Graph
06h 640×200 2 Graph
07h 80×25 2 Text
08h 160×200 16 Graph
09h 320×200 16 Graph
0ah 640×200 4 Graph
0bh Reserved
0bh Reserved
0dh 320×200 16 Graph
0eh 640×200 16 Graph
0fh 640×350 2 Graph
10h 640×350 4 Graph
10h 640×350 16 Graph
11h 640×480 2 Graph
12h 640×480 16 Graph
13h 320×240 256 Graph

Функции BIOS для работы с текстовым режимом

Установка режима

mov ah,00h
mov al,номер режима
int 10h

Получение режима

mov ah,0fh
int 10h
При возврате:
ah=число столбцов символов на экране
al=режим
bh=активная страница

Установка позиции курсора

mov ah,02h
mov bh,страница
mov dh,y-координата
mov dl,x-координата
int 10h
Примечания

(0,0) - верхний левый край экрана

Запись символа и атрибута в позицию курсора

mov ah,09h
mov al,символ
mov bh,страница
mov bl,атрибут
mov cx,число повторений
int 10h
Примечания

  • В al специальные символы не распознаются
  • Переноса курсора не происходит

Рисование пикселя

mov ah,0ch
mov al,цвет
mov bh,страница
mov cx,x-координата
mov dx,y-координата
int 10h

Запись символа в режиме телетайпа

mov ah,0eh
mov al,символ
mov bh,страница
mov bl,цвет (в графических режимах)
int 10h

Запись строки в режиме телетайпа

mov ax,seg буфер строки
mov es,ax
mov bp,offset буфера строки
mov ah,13h
mov al,режим записи
mov bh,страница
mov bl,атрибут, если al = 01 или 00
mov cx,длина строки
mov dh,y-координата
mov dl,x-координата
int 10h

Задание

Написать функцию сохранения и установки режима терминала, функцию вывода строки на экран. Объединить с программой на Си

1)
устарели, но до сих пор поддерживаются
asm/second2.txt · Последние изменения: 10/03/2011 21:53 — arabusov
CC Attribution-Noncommercial 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0