Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LH05-2N.DOC
Скачиваний:
21
Добавлен:
11.03.2015
Размер:
100.35 Кб
Скачать

2. Практическая часть.

2.1. Исследование отдельных команд.

Для исследования особенностей выполнения отдельных команд следует запустить программу полноэкранного симулятора ICS05K. Установить значение PC=200hи в режимеASM ввести мнемоники исследуемой команды. Затем модифицировать данные в ячейках памяти, если это необходимо. Далее выполнить команду в режимеSTEP.

Команды загрузки регистров а и х данными из памяти.

1. Исследуем работу команды LDA на примере:

0200 LDA #01h ;занести в аккумулятор значение 01h:

;непосредственная адресация

Перед выполнением команды занесите в регистр А произвольное значение. Выполните команду. Убедитесь, что в регистр А занесено значение 01h. Заметьте, что флаговый регистр установлен в следующее состояние: CCR=E8 111.I...

  1. Проведите аналогичный эксперимент , используя команду LDA со всеми возможными

типами адресации:

0200 LDA 0Eoh ;Загрузить в А число из ячейки памяти с адресом 0E0h.

0200 LDA 210h ;Загрузить в А число из ячейки памяти с адресом210h.

Перед выполнением следующей команды занесите в регистр Xзначение0F0h, а в ячейку памяти с адресом0F0hпроизвольное число. Убедитесь, что в результате выполнения команды число из указанной ячейки памяти переместилось в А.

0200 LDA ,x ;Загрузить в А число из ячейки памяти, адрес которой хранится

;в регистре X..

Аналогичный эксперимент проведите с двумя следующими командами. После инициализации регистра X правильно определите адрес ячейки памяти, куда следует загрузить число, которое в результате выполнения команды будет загружено вA.

0200 LDA 80h,x ;Загрузить в А число из ячейки памяти, адрес которой

;вычисляется по правилу: ADR= 80h+( X.).

0200 LDA 200h,x ;Загрузить в А число из ячейки памяти, адрес которой

; вычисляется по правилу: ADR= 200H+( X.).

3. Исследуйте работу команды LDXв следующем примере:

0200 LDX 0E0h,X ;занести в X значение ячейки

;памяти 0E0h+X (индексная адресация с смещением 8 бит)

битовым смещением)

Занесите в ячейки памяти 0E0h-0E5h значения {01h, 45h, 0A3h, 00, 56h, 0F6h}. Выполните команду несколько раз, занося в регистр Х значения от 00 до 05. Убедитесь в том, что Х будут присваиваться значения, соответствующие элементам последовательности. При этом флаговый регистр будет также изменяться в соответствии с таблицей:

01

CCR=E8 111.I...

45

CCR=E8 111.I...

3h

CCR=EC 111.IN..

00

CCR=EA 111.I.Z.

56

CCR=E8 111.I...

0F6h

CCR=EC 111.IN..

Команды модификации памяти.

4. Покажем каким образом можно произвести запись в 5-й элемент массива, расположенного начиная с адреса 80h.

0200 STA 80h,X ;в ячейку 80h+X заносится содержимое

;аккумулятора (индексная адресация с 8

;битовым смещением)

В регистр Х занесите 04, в регистр А-087h. Выполнив программу, убедитесь, что в 5-ом элементе массива находится 087h. Регистр флагов содержит 0ECh.

5. Чтобы убедиться в невозможности записи в ППЗУ, проиллюстрируем запись индексного регистра в ППЗУ:

0200 STX 0248h ;попытка записи содержимого регистра Х

;в ячейку 0248h (ППЗУ) (использована

;прямая расширенная адресация)

Выполните команду. Убедитесь, что содержимое ячейки памяти не изменилось, но изменился флаговый регистр. Это приводит к выводу о том, что подобные команды можно использовать для установки флагов.

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