Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Память, видеосист.DOC
Скачиваний:
6
Добавлен:
16.11.2019
Размер:
1.23 Mб
Скачать

Int *nPtr; - отведено место под указатель;

nPtr=&nValue; - указатель получает значение номера ячейки, например, nPtr==4F9A;

тогда *nPtr==0x1234; - разадресация.

Непосредственная инициализация указателей. Обращение к ячейкам оп в пределах 1мб.

Один из способов формирования указателей без привязки к данным – прямая адресация.

char _far *cPtr=0xf00000feL; – неправильно;

char _huge *cPtr=(char _huge*) 0xf00000feL; – правильно; (F000:00FE, физический адрес F00FE);

если ранее было бы объявлено: char сCh; то для того, чтобы узнать содержимое ячейки памяти, необходимо записать:

сCh=*cPtr; (переменной cCh присвоено значение содержимого ячейки, на которую указывает cPtr).

Способ формирования указателя при помощи макроса MAKE_FP.

#define MAKE_FP(seg,off) ((void far *) ((((unsigned \

long)(unsigned)(seg))<<16) | \

((unsigned long)(unsigned) \

(off))))

Комментарий:

значок «\» – «склеивание» строк.

Предположим, seg = 0xF000;

seg << 16 (получается F0000000h)

off = 0х0fe; (т.е., 000000FEh)

seg | off = = F00000FEh; ( значок | – логическое сложение)

модификаторы void, far, unsigned, long делают явное приведение к соответствующим типам.

Далее объявляется указатель:

char unsigned _far *сРtr;

……..

и где-то в программе ему

присваивается значение:

сРtr=MAKE_FP(0xf000, 0x00fe);

Программирование видеоадаптеров програмування відеоадаптерів Архітектура відеоадаптера

Видеопамять состоит как бы из нескольких слоёв. Ниже приведена её структура:

Количество цветов

Количество бит для кодировки пиксела

256

8

65 536

16

16 777 216

24

4 294 967 296

32

8 бит 8 бит 8 бит

3 байта – ~16 млн цветов

4 байта – ~ 4 млрд цветов

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

Видеорежим

Тип режима

Количество

цветов

Разрешение,

знакомест | пиксел

0, 1

Текстовый цветовой (CGA)

16

40x25

2, 3

«–

16

80x25

4, 5

Графический цветовой (CGA)

4

320x200

0Dh

«–

16

320x200

10h

Графический цветовой (EGA)

16 из 64

640x350

12h

Графический цветовой (VGA)

16 из 64

640x480

13h

Графический цветовой (VGA)

256

320x200

CGA (Color Graphic Adapter) – цветной графический адаптер;

EGA (Enhanced Graphic Adapter) – улучшенный –«– –«– ;