Постановка задания для проектирования

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

 

4.

 

 

Специальная часть

Выбор и описание способов адресации

Когда производится прямая 9-битная адресация, младшие 7 бит берутся как прямой адрес из кода операции, а два бита указателя страниц (RP1, RP0) из регистра статуса, как показано на рис. 1

 

Рисунок 1

 

Признаком косвенной адресации является обращение к регистру INDF. Любая команда, которая использует INDF (адрес 00h) в качестве регистра фактически обращается к указателю, который хранится в FSR (адрес 04h). Чтение косвенным образом самого регистра INDF даст результат 00h. Запись в регистр INDF косвенным образом будет выглядеть как NOP, но биты статуса могут быть изменены. Необходимый 9-битный адрес формируется объединением содержимого 8-битного FSR регистра и бита IRP из регистра статуса (рис. 1).

Для реализации технического задания на курсовое проектирование была выбрана прямая адресация.

 

Разработка программы в соответствии с заданием

Для реализации поставленной задачи , разработана программа, листинг которой, представлен ниже.

 

Листинг программы.

MOV LW 3ch - загрузили в аккаумулятор первое число

MOV WF 21H - (W) -> FW - переслать w в f

MOV LW 2CH - W <- 2CH - загрузили в аккаумулятор второ число

IORWF 21H - (W) v (F(21))-результат загружается в регистр с адресом 21

BSF '21','05' - установить 1 в 5 бит F(1)

END

 

 

5.

    Для реализации данной программы используются следующие команды:   1) MOVLW- переслать константу в w.
Код 11 0000 1111 1111 (1 -константа)
Синтаксис - MOVLW k
Операнды - 0<= k<=255
Операция - k (w)
Описание - 8-битная константа загружается в регистр w
Циклы -
Пример - MOVLW 0х5А после: w~0x5A
2) MOVWF- переслать w в f.
Код 00 0000 lfffffff(f-номер регистра)
Синтаксис - MOVWF f
Операнды - 0<=f<=127
Операция - (w) (f)
Описание - данные из w в регистр f
Циклы -
Пример - MOVWF OPTION REG
До: OPTION=OxFF
  W=0x4F
После: OPTION=Ox4F
  W=0x4F
IORWF 21H - РЕЗУЛЬТАТ ЗАГРУЖАЕТСЯ В РЕГИСТР С АДРЕСОМ 21  
Код 0001 00da ffff ffff(1 -константа)
Синтаксис - IORWF f,d,a
Операнды - 0 <= f <= 255
  d Е [0,1]
  a Е [0,1]
Операция - k (w)
Описание - Логическая опрерация поразрядного сложения ИЛИ регистров W и f. Если d=0, тогда результат сохраняется в W регистр, если d=1, тогда результат сохраняется в регистре f (по умолчанию). Значение бита доступа к памяти a обрабатывается стандартным образом (по умолчанию a=1)
Циклы -
Пример - IORWF RESULT, 0, 1
Перед выполнением: RESULT = 0х13
  W = 0x91
  6. BSF '21','05' - УСТАНОВИТЬ 1 В 5 БИТ (1)  
Код 1000 bbba ffff ffff
Синтаксис BSF f,d,a
Операнды 0 <=f <= 255
  0 <= b <=7
  a Е [0,1]
Операция 1 -> f
Описание Установка бита b в регистре f. Значение бита доступа к памяти a обрабатывается стандартным образом (по умолчанию a=1)
Циклы
Пример BSF FLAG_REG, 7
Перед выполнением: FLAG_REG = 0x0A
После выполнения: FLAG_REG = 0x8A

 

 

7.