Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vvod_inform_s_klav_v_pamyat_i_vyvod_eyo_na_ekr.doc
Скачиваний:
23
Добавлен:
07.06.2015
Размер:
699.9 Кб
Скачать

3. Лабораторные работы

Лабораторная работа № 1

Исследование процесса вывода текстовой информации из памяти ПЭВМ на экран монитора.

Задание № 1

Набрать приведённый выше текст программы, заменив в нем выводимое сообщение ’ASSEMBLER’ на предложение ’Я изучаю ассемблер’, составленное на английском языке, получить исполняемый файл с расширением exe, запустить его и посмотреть результат работы программы, то есть выполнить практически все выше рассмотренные этапы разработки и исполнения ассемблерной программы.

Задание № 2

Так как результат работы выполненной программы мгновенно исчезает с экрана монитора и его можно наблюдать только после нажатия клавиш Ctrl – o, в предыдущую программу перед выполнением команд:

mov ax,4c00h

Int 21h

необходимо ввести временную задержку для устранения этого недостатка.

Временную задержку можно организовать на основе использования регистров блока РОН. Например, в какой-то регистр загружается определённое число. Затем из содержимого этого регистра вычитается единица и проверяется его содержимое на ноль. Если его содержимое не равно нулю, то опять вычитается единица и т. д., пока в этом регистре не окажется ноль. Таким образом, на время вычитания единицы и будет происходить временная задержка в дальнейшем выполнении программы, то есть в её завершении и выходе в операционную систему DOS. Для вычитания единицы из содержимого регистра используется команда dec имя регистра, а для прибавления единицы – inc имя регистра, например:

dec bx

inc si

Проверку содержимого регистра на ноль осуществляют, используя так называемый z – бит, который устанавливается в единицу при нулевом содержимом регистра после выполнения некоторых операций, в частности команды dec. Для этого могут использоваться две команды условных переходов:

jz метка

или

jnz метка

Первая команда обеспечивает переход на метку при нулевом содержимом регистра, то есть при z=1, а вторая – при z=0, когда содержимое регистра не равно нулю. Для автоматической организации операции вычитания, проверки содержимого на ноль и условного перехода по нулю (либо не по нулю) в рассматриваемых микропроцессорах используются регистр cx, который предварительно загружается определённой константой. После этого в программе могут использоваться команды:

loop метка

loopz метка

loopnz метка

Первая команда обеспечивает переход при нулевом содержимом регистра cx, вторая – при (cx)=0 и z=1, третья – при (cx)≠0 и z=0.

Таким образом, с учётом изложенного выше, сформируйте задержку в исходной программе перед её выходом в DOS. Вначале используйте только регистр cx. Если задержка окажется недостаточной, то используйте дополнительный регистр из блока РОН, например bx, и команды dec и jnz ,то есть организуйте цикл в цикле.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]