Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Создание циклов. Реализация программ циклической структуры



1. ЗАДАНИЕ НА СРС

Разработать программу вывода текстового сообщения на экран.

Сообщение должно быть заключено в одинарную (двойную) рамку,

состоять из 4 строк

|-------------------------------------------------------------------------- |

¦ СРС N8 ¦

¦Выполнил и отладил студент гр.---------- Мыктыбай А.С.¦

¦ Вывод текстового сообщения на дисплей. ¦

¦ Press any key to continue ¦

|--------------------------------------------------------------------------|

При выводе информация под окном должна быть сохранена в буфере. После нажатия любой клавиши клавиатуры начальное состояние экрана должно восстанавливаться. Для вывода текстового сообщения на монитор использовать прерывания DOS и BIOS. Количество выводимых строк должно быть равно четырём. Цвет и фон символов задается вариантом задания.

2. КРАТКОЕ ОПИСАНИЕ АЛГОРИТМА.

В СРС, согласно варианту задания, для работы с клавиатурой и видеопамятью используются прерывания DOS и BIOS.

Используя 10-ое прерывание (функция 0fh) определяем номер текущей страницы.

Устанавливаем новую активную страницу (5-ая функция)

Выводим сообщение на новую активную страницу (13-ая функция 10 – го прерывания)

Ожидаем ввода символа без эха (функция 07 прерывание 21-ое), меняем активную страницу на старую и завершаем программу.

3. ТЕКСТ ПРОГРАММЫ.

.8086

.MODEL TINY

CODE SEGMENT

ASSUME CS: CODE, DS: CODE,ES:CODE

ORG 100H

BEGIN:

JMP START

err_msg db 'Invalid Video mode!!!!!!!!!!!!!!!!!!!!!!!!!$'

page1 db?

page2 db?

frame dw 0D0Ah

db '|------------------------------------------------------------------------|',10,13

db '¦ СРС N8 ¦',10,13

db '¦ Выполнил и отладил студент гр.---------Мыктыбай А.С¦',10,13

db '¦ Вывод текстового сообщения на дисплей. ¦',10,13

db '¦ Press any key to continue ¦',10,13

db '|------------------------------------------------------------------------|',10,13

len equ $ - frame

Out_string Proc

mov ax, 1300h

mov bp,offset frame

mov cx, len;312

xor dx, dx

mov bl, 1fh

int 10h

ret

Out_string Endp

ERROR PROC

mov ah,09h

mov dx,offset err_msg

int 21h

ret

ERROR ENDP

Start:

mov ah,0fh

int 10h

cmp al,3

jz ok

call error

ret

ok: mov byte ptr page1,bh

inc bh

cmp bh,7

jnz ok1

mov bh,0

ok1: mov byte ptr page2,bh

call Out_string

mov ah, 5

mov al,byte ptr page2

int 10h

wait_key:

mov ah,0

int 16h

restore:

mov al,page1

mov ah,5

int 10h

ret

CODE ENDS

END BEGIN

4. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ И ХАРАКТЕРИСТИКИ

РАБОТЫ ПРОГРАММЫ.

В результате выполнения программы на монитор выводится текстовое сообщение в заданном формате и программа работает в соответствии с поставленной задачей. Быстродействие программы, надеюсь, максимально возможное - вывод сообщения происходит сначала на активную страницу, а только затем происходит замена страниц. Невозможность одновременной работы с несколькими страницами определяется однозадачностью OS MS-DOS - поэтому мы определяем эффективность работы нашей программы как максимальную.





Дата публикования: 2015-10-09; Прочитано: 242 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...