Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!