ВУЗ:
Составители:
Рубрика:
5
Вычисление абсолютного адреса происходит на основе адреса сегмента и адреса
смещения.
Память компьютера используется для различных целей - часть ее занимает про-
грамма, другая часть используется для хранения данных, с которыми в данный момент
работает программа. Помимо памяти, для временного хранения данных микропроцес-
сор использует еще и регистры, что существенно ускоряет работу.
Микропроцессор имеет четыре шестнадцатиразрядных регистра общего назначе-
ния, называемых AX, BX, CX и DX. Каждый из них может быть разделен на два восьми-
разрядных регистра, указанием старшей (H-high) или младшей (L-low) части полного (X)
регистра. Таким образом, восьмиразрядные регистры называются AH, AL,BH, BL, CH,
CL, DH и DL.
1.2. ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ DOS
Некоторые из ячеек памяти, находящиеся в области памяти с адресами от 400 до
500, содержат т.н. глобальные переменные DOS. Информацию из этих ячеек можно по-
лучить, используя непосредственное обращение к ним.
Адрес видеопамяти в текстовом режиме для цветного графического дисплея ра-
вен B800:0000. Размер видеопамяти:80*25*2=4000 байт. Одна строка дисплея описы-
вается 2*80=160 байтами видеопамяти.
Каждый символ экрана занимает 2 байта видеопамяти: первый байт хранит значе-
ние символа, второй - его атрибут (цвет фона, на котором изображен символ и цвет само-
го символа). Значение байта-атрибута удобно задавать шестнадцатеричным числом.
Формирование байта-атрибута происходит по следующему правилу:
Мерцание цвет фона цвет символа
7 6543210
Например, для вывода синих символов на белом фоне без мерцания можно сфор-
мировать следующее значение байта-атрибута 0х72h (0х - признак шестнадцатеричного
числа).
1.3. ПРОГРАММИРОВАНИЕ ПРЯМОГО ОБРАЩЕНИЯ К ОП В TC
Пример 1: сформировать в переменной vid_mem начальный адрес области видео-
памяти.
char far *vid_mem;
vid_mem = (char far *) 0xB8000000;
Пример 2: организовать перемещение на экране курсора, используя глобальные
ячейки DOS (адреса ячеек хранящих вертикальную и горизонтальную координаты курсо-
ра, даны в примере).
Страницы
- « первая
- ‹ предыдущая
- …
- 3
- 4
- 5
- 6
- 7
- …
- следующая ›
- последняя »