Системное программное обеспечение. Рощин А.В. - 100 стр.

UptoLike

Составители: 

100
3.5 Вывод динамических изображений
Написать программу, которая в графическом режиме CGA 4 * 320 *
200 рисует фигурку колобка размером 16 * 16 точек непосредственно в
экранной области и перемещает его при нажатии курсорных клавиш.
Коды управления курсором: Вверх – 48h, Вниз – 50h, Вправо – 4Dh, Влево
– 4Bh.
Структура видеопамяти в режиме CGA: начинается с адреса B000h,
четные линии имеют смещение 0000h – 1F3Fh (около 8 КВ), нечетные
2000h – 3F3Fh (около 8 КВ) (промежуток
между ними не используется).
Самая левая точка из четырех
Самая правая точка из четырех
7 6 5 4 3 2 1 0 Биты
Цвет 00 – черный
01 – голубой (зеленый)
10 – сиреневый (красный)
11 – белый (желтый)
Assume CS: Code, DS: Code
Code SEGMENT
org 100h
Start: jmp start1
addr dw 0 ; Адрес начальной точки спрайта
addr0 dw 0 ; Старый адрес
; 16 * 16
colob db 0,5,50h,0
db 0,5fh,0f5h,0
db 5,0ffh,0ffh,50h
db 3fh,0ffh,0ffh,0fch
db 0ffh,0afh,0fah,0ffh
db 0ffh,0abh,0eah,0ffh
db 0ffh,8bh,0e2h,0ffh
db 0ffh,0ffh,0ffh,0ffh
db 3fh,0beh,0beh,0fch
db 0fh,0efh,0fbh,0f0h
db 0,0fah,0afh,0
db 0,3fh,0fch,0
db 0,3ch,3ch,0
db 15h,3ch,3ch,54h
db 55h,54h,15h,55h
db 55h,54h,15h,55h
start1: ; Установка видеорежима
                                        100



      3.5 Вывод динамических изображений
     Написать программу, которая в графическом режиме CGA 4 * 320 *
200 рисует фигурку колобка размером 16 * 16 точек непосредственно в
экранной области и перемещает его при нажатии курсорных клавиш.
Коды управления курсором: Вверх – 48h, Вниз – 50h, Вправо – 4Dh, Влево
– 4Bh.
     Структура видеопамяти в режиме CGA: начинается с адреса B000h,
четные линии имеют смещение 0000h – 1F3Fh (около 8 КВ), нечетные
2000h – 3F3Fh (около 8 КВ) (промежуток между ними не используется).

      Самая левая точка из четырех

                                   Самая правая точка из четырех


       7    6    5   4    3    2    1         0   Биты

Цвет 00 – черный
01 – голубой (зеленый)
10 – сиреневый (красный)
11 – белый (желтый)
Assume CS: Code, DS: Code
Code SEGMENT
        org 100h
Start: jmp start1
addr dw     0       ; Адрес начальной точки спрайта
addr0 dw    0       ; Старый адрес
; 16 * 16
colob db    0,5,50h,0
        db  0,5fh,0f5h,0
        db  5,0ffh,0ffh,50h
        db  3fh,0ffh,0ffh,0fch
        db  0ffh,0afh,0fah,0ffh
        db  0ffh,0abh,0eah,0ffh
        db  0ffh,8bh,0e2h,0ffh
        db  0ffh,0ffh,0ffh,0ffh
        db  3fh,0beh,0beh,0fch
        db  0fh,0efh,0fbh,0f0h
        db  0,0fah,0afh,0
        db  0,3fh,0fch,0
        db  0,3ch,3ch,0
        db  15h,3ch,3ch,54h
        db  55h,54h,15h,55h
        db  55h,54h,15h,55h
start1:                    ; Установка видеорежима