001 00 NOP
002 00 NOP
003 00 NOP
004 0400 JMP BANK1; переход в 1-й банк
800 Е5 BANK1: SEL МВО; включить 0-й банк ПК
801 00 NOP
802 00 NOP
804 04 00 JMP BANKO щереход в 0-й банк
3.1.2. Выполните программу в пошаговом режиме. Контролируя по светодиодам изменения адреса убедитесь, что переход в другой банк после его переключения происходит только после выполнения команды JMP.
.2. Исследование порядка вызова подпрограмм,, расположенных в другом банке
3.2.1. Занесите в ПК ОЭВМ следующую программу: Адрес Код Метка Команда Котментарий 000 F5 LOOP: SELMB1 выбор 1-го банка
001 00 NOP
002 1410 CALL SUBR вызов подпрограммы
004 Е5 SELMBO восстановление MB
005 0400 JMPLOOP зацикливание 810 93 SUBR: RETR подпрограмма предельно ;проста
3.2.2. Выполните программу в пошаговом режиме. Контролируя изменение адреса после каждого шага, убедитесь, что переход в 1-й банк осуществляется только после команды CALL, а также, что происходит корректный возврат из подпрограммы в 0-й банк.
3.2.3. Замените команду SEL МВО командой NOP. Выполните вновь программу в пошаговом режиме, наблюдая за изменением адреса после кождого шага. Объясните полученный результат.
3.3. Исследование работы команд возврата из подпрограмм
3.3.1. Для иллюстрации переключения банков регистров при вызове подпрограммы занесите в ПК ОЭВМ программу:
Адрес Код Метка Команда Комментарий
000 С5 SELRBO выбор банка RBO
001 В801 MOVRO,#1 (RO)<—1
003 1409 CALL SUBR вызов подпрограммы SUBR
005 F8 MOVA,RO
006 39 OUTL PI ,A индикация содержимого RO
007 0407 STOP: IMP STOP останов продвижения по программе
009 D5 SUBR: SELRB1 включение банка RB1 ООА В8 03 MOV R0,#3 (RO)<—3 OOC 93 RETR возврат
3.3.2. Выполните программу в автоматическом режиме. Просмотрите содержание регистра PSW, определите значение признака банка регистров BS и номер включенного банка после выполнения программы. Объясните результаты работы программы.
3.3.3. Замените команду RETR на команду RET. Выполните программу в автоматическом режиме. Просмотрите содержимое регистра PSW, определите значение признака банка регистров BS и номер включенного банка после выполнения программы. Объясните результаты работы программы.
3.4. Исследование работы команд условного перехода
3.4.1. Для исследования работы команды JZ adr - переход на адрес adr при нулевом результате в аккумуляторе, занесите в память ОЭВМ фрагмент программы: Адрес Код Метка Команда Комментарий
010 00 МЕТ1: NOP ;пустая команда
011 00 NOP
OFD 27 CLR А очистка аккумулятора,(А)<-0 OFE С6 10 JZ МЕТ1 переход на МЕТ1 ,если (А)^0
Обратите внимание, что оба байта команды условного перехода JZ MET) (С6 10) находятся в пределах 0-й страницы памяти ( адреса 0-й страницы 000-OFFH).
3.4.2. Выполните программу в пошаговом режиме начиная с адреса OFDH. По светодиодам, подключенным к ША, следите за изменением адреса. Определите, произошел ли переход на МЕТ1 (адрес 01 ОН).
3.4.3. Исследование работы команды условного перехода при ее расположении на границах страниц памяти! Занесите в память ОЭВМ фрагмент программы:
Адрес Код Метка Команда Комментарий
010 00 МЕТ1: NOP
011 00 NOP
OFE 27 CLR А очистка аккумулятора
OFF С6 10 JZ МЕТ1 переход на МЕТ1, если (А)^0
101 00 NOP
11О 00 NOP 111 00 NOP
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.