Программа 2

Адрес Машин­ный код Метка Мнемокод Комментарий
cs:0100 cs:0103 cs:0106 cs:0109 cs:010A cs:010D cs:010F cs:0112 cs:0114 cs:0117 cs:0118 cs:011A     cs:011C cs:011D cs:011F cs:0122 cs:0125 cs:0126 cs:0128 cs:012B cs:012D   cs:012F cs:0131 cs:0133 cs:0134 cs:0135 cs:0137 cs:0139 cs:013B cs:013D cs:013F cs:0142 cs:0144 cs:0146 cs:0148 cs:014A cs:014C cs:014E cs:0150 cs:0152 cs:0154 cs:0156 cs:0158 B90A00 BE3501 BF4901 AD 3D0200 3D0600 E80500 AB E2EF CD20     8BC8 BA0000 BB0000 8BC3 74F8 03D3   E2F4 8BC2 C3   m1     m2   sq     a1 mov cx,000A mov si,0135 mov di,0149 lodsw cmp ax,0002 jb 0118 cmp ax,0006 ja 0118 call 011C stosw loop 0109 int 20     push cx mov cx,ax mov dx,0000 mov bx,0000 inc bx mov ax,bx and ax,0001 je 0125 add dx,bx   loop 0125 mov ax,dx pop cx ret   загружаем из памяти слово сравниваем его с нижней границей если меньше, то переходим на m2 сравниваем его с верхней границей если больше, то переходим на m2 вызываем подпрограмму сохраняем результат в памяти     подпрограмма возводит в квадрат содержимое AX сохраняем в стеке СХ счетчик результат еще один счетчик увеличим счётчик ВХ на 1 проверяем ВХ на чётность   если ВХ - чётное, то переходим на a1 добавим к результату очередное нечётное число   перенесём результат в АХ восстановим СХ возврат из подпрограммы  

 


ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

1. Изучить материалы, изложенные в пунктах 1,2 и лекции по теме «Стек и подпрограмма».

2. Выполнить программу по командам, используя режим «Отладки». После каждой команды проверить содержимое всех регистров МП.

3. Заменить в программе команду POPF на команду NOP и проследить, как будет выполняться программа.

4. Получить индивидуальное задание на выполнение программиро­вания с использованием стека.

5. Выполнить работу по программированию в соответствии с полу­ченным заданием и практической отработкой программы.

6. Оформить отчет.

 

СОДЕРЖАНИЕ ОТЧЕТА

1. Задание на выполнение лабораторной работы.

2. Программная модель (использование РОНов и памяти при реше­нии задачи, алгоритм и программа).

3. Исходные данные, используемые при решении программы и полученные результаты.

 

КОНТРОЛЬНЫЕ ВОПРОСЫ

 

1. Укажите порядок выполнения команды RET.

2. Сравните процесс выполнения команд CALL и RET.

3. В какой последовательности сохраняется и извлекается содержимое регистров МП в подпрограмме?

4. Как будет выполняться программа, если вместо команды POPF в ней будет записана команда NOP?


Лабораторная работа 4

 

Программная реализация деления

целых двоичных чисел

ЦЕЛЬ РАБОТЫ: освоение способов программной реализации деле­ния целых двоичных чисел.