48769 (Реалізація функцій бібліотеки графіки для виводу тексту у графічному режимі (OutTextXY, SetTextStyle)), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Реалізація функцій бібліотеки графіки для виводу тексту у графічному режимі (OutTextXY, SetTextStyle)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48769"

Текст 2 страницы из документа "48769"

mov dx,cx

mov ah,9

int 21h

ret

endp vivstr

priglash proc

mov dx,0b1ch

lea cx,mes1

call vivstr

mov dx,0c21h

mov cx,1

call probeli

lea cx,mes3

call vivstr

mov dx,0d21h

mov cx,1

call probeli

lea cx,mes4

call vivstr

ret

endp priglash

ramka proc

mov cx,0914h; установка атрибутов области

mov dx,0f3ch

mov ax,0600h

mov bh,01fh

int 10h

mov cx,0a15h; изм. атрибутов внутри области

mov dx,0e3bh

mov ax,0600h

mov bh,01bh

int 10h

; вывод рамки

lea ax,r1; загрузка смещения

mov sdvig,ax; в пер. sdvig

mov cx,7; кол-во рядков рамки

next1:

push cx

mov cx,sdvig

mov dh,stroka

mov dl,14h

call vivstr

inc stroka; переход на след. строку

add sdvig,42; переход на адрес след. строки

pop cx

loop next1

mov stroka,9

ret

endp ramka

begin:

mov ax,dseg

mov ds,ax

mov es,ax

opyat:

mov ax,03h ; очистка экрана

int 10h

mov ax,1003h; выкл. бита мерцания

mov bl,0

int 10h

mov cx, 2000h; выкл. курсор

mov ah,01h

int 10h

call ramka; вывод рамки

call priglash; вывод приглашения

mov dx,0b35h; поз. курсора

mov cx,1

call probeli; вывод синего пробела

mov ah,3fh; ввод номера действия

mov bx,0

mov cx,3

lea dx,buf

int 21h

mov al,buf; определение номера действия

cmp al,'1'

je text

jmp kon

text:

call vvodvsego; ввод координат и цвета

call ramka

mov dx,0b1fh

lea cx,mes11

call vivstr ; вывод приглашения о вводе строки

mov dx,0d1fh

mov cx, 20

call probeli; вывод синих пробелов

mov ah,3fh

mov bx,0

mov cx,22

lea dx,buftxt

int 21h; ввод строки символов

dec ax

dec ax

push ax

mov dx,koord+8

mov ax,hor

mul dx

mov hor,ax

mov dx,koord+8

mov ax,ver

mul dx

mov ver,ax

mov ax,13h

int 10h

mov ax,1130h; \

mov bh,byte ptr koord+4; - получение адреса матрицы символов; /

int 10h; /

mov di,0

pop cx

vivodvs: ; цикл вывода символов

push cx; сохранение параметра цикла

mov al,buftxt+di; загрузка символа

push di; сохранение номера символа в; введённом массиве

mov cl,razm; \

mul cl; - получение величины сдвига в массиве матриц

mov si,ax; /

mov ah,0

mov bx,koord

mov x,bx

mov bx,koord+2

mov y,bx

mov cl,razm

glavn: ; цикл вывода линии образа символа

push cx; параметра цикла

mov cx,koord+8

cikl:

push cx

push es; сохранение регистра

mov bx,x; загрузка координаты Х

mov ax,y; загрузка координаты Y

mov dx,320

mul dx

add ax,bx

mov di,ax; загрузка абс. адреса

dec di

mov dx,koord+4; загрузка цвета

mov al,es: [bp+si] ; загрузка байта образа символа

mov cx,0a000h; - загрузка адреса видеобуфера

mov es,cx; /

mov cx,8; загрузка параметра цикла

zdvig:

rol al,1; сдвиг влево на 1 бит

jnc n4; если CF=0, то прыжок

push cx

mov cx,koord+8

n7: ; цикл вывода точки

add bx,1; - определение признака выхода за экран

cmp bx,317; /

ja n8; если есть, то прыжок

inc di; приращение координаты

mov es: [di],dl; вывод точки

loop n7

n8:

pop cx

jmp n6

n4:

add di,koord+8

n6:

loop zdvig

pop es; восстановление сегмента образов символов

pop cx

inc word ptr y; увеличение коорд. Y

loop cikl

inc si; переход на след. байт образа символа

pop cx

loop glavn

pop di; восстановление номера символа в массиве

inc di; переход на след. символ

mov ax,koord

add ax,hor

mov koord,ax

mov ax,koord+2

add ax,ver

mov koord+2,ax

cmp koord,319; определение признака выхода за экран

ja zaderg; если есть, то прыжок

cmp koord+2, 199; определение признака выхода за экран

ja zaderg; если есть, то прыжок

pop cx; восстановление параметра цикла

loop vivodvseh

jmp zaderg

vivodvseh:

jmp vivodvs

zaderg:

mov ah,00

int 16h

mov indeks,0

jmp opyat

kon:

mov ax,4c00h

int 21h

cseg ends

end begin

б). Блок – схема алгоритму.


зі стор. до стор.

28. 28

зі стор. до стор.

28 28

зі стор. до стор.

28 28

до стор. 27

з і стор.26

ні

так

до стор.

28

ні

так

зі стор. зі стор.

27 26

до стор.

26

зі стор.

26

до стор.

26

зі стор.

26

так

так

до стор. 26



так

ні

ні

так


з і стор. до стор. 32

31

до стор. 33

зі стор.

32

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4125
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее