Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие. MS Word.doc
Скачиваний:
40
Добавлен:
02.05.2014
Размер:
1.05 Mб
Скачать

Структура команд и методы адресации

Методы адресации:

  1. регистровая используется при обращении к одному из регистров выбранного банка данных: R0..R7,A,B,AB(сдвоенный регистр),DPTR(указатель данных).Пример: MOV A, R2

INC DPTR

  1. прямая: указывается физический адрес в диапазоне 0 ÷ FFh; одни и те же регистры в разных банках имеют разные адреса.

  2. прямая побитовая используется для обращения к 128 битам ячеек. Пример:

INC 43H

SET B P2.7

  1. косвенно-регистровая используется для обращения к внутренней и внешней памяти данных только через регистры R0 иR1. КомандыPUSHиPOPиспользуют регистр указатель стекаPC. Признак: @.Пример:

MOVA, @R0

MOVX@R1,A/* Х – обращение к внешней памяти;R1 – внешняя память 256 байт */

MOVXA, @R1 /* внешняя память 61kбайт */

POP45H

02.10.2000

  1. непосредственная – используется знак #

  2. косвенная адресация по сумме базового и индексного регистра: в роли индексного регистра выступает аккумулятор, в роли базового регистра выступает программный счётчик или указатель. Этот метод предназначен для доступа к константам, расположенным в памяти программы, например, в виде таблицы:

MOVC A, @ A + DPRT

MOVC A, @ A + PC

JMP@A+DPRT

  1. символическая: при использовании ассемблера допускается применение в программах символьных имён регистров специальных функций и их отдельных бит. Они являются предопределёнными и их использование не требует дополнительных описаний. Для адресации отдельных бит используется следующая структура:

<имя FSR| номер РОН>.<номер бита>

SETB PSW.3 ~ SETB RS0

Методы адресации в pic-контроллерах

  1. непосредственная адресация: в команде указывается 1 байтовый операнд.

MOV LW 33h

SUB LW d ’25’

  1. прямая адресация: в команде указывается 2 операнда – адрес регистра и признак получателя.

d= 0 результат→W

d= 1 результат→указанный адрес

ADDWF22h, 1 – содержимое рабочего регистра складывается с содержимым ячейки 22, и помещается в эту ячейку.

При обращении к любому отдельному биту используется только этот метод адресации. Второй операнд – номер бита. Когда производится прямая адресация, младшие 7 бит берутся как прямой адрес из КОП, а старший бит – из указателя страницы регистра статуса.

BSF06h, 5

При использовании подключённого файла # define2b, 5port1, 5 – строка в файле.

  1. косвенная адресация: любая команда, использующая адрес 0, фактически обращается к указателю, находящемуся в FSR. Т.к. данный регистр восьмиразрядный, то адресация от банка не зависит.

MOV VW 40h

MOV WF 4

ANDWF0(косвенная адресация), 0(результат помещается вW)

Методы адресации относятся к описанию контроллера.

Язык Ассемблер

 Формат записи чисел (обычно):

ц ц ц ц б (ц – цифра, б – буква)

б = H – 16 CC PIC: D ‘25’

B – 2 B ‘10011100’

O – 8

D– 10

 Выражение: все выражения вычисляются на этапе трансляции, в качестве операндов могут участвовать числа, символы и имена. Символ $ используется для обращения к текущему значению РС.

MOVR5, #12 – задержка на 25 мкс.

DJNZR5, $ – регистрR5 уменьшается на 1, если он = 0, осуществляется переход на метку.

 Операции: умножение и деление выполняются целочисленно.

 Команды: общая структура:

[<метка>] [инструкция / директива [операнды] ] [; комментарий]

метка – число, являющееся текущим значением РС;

инструкция – мнемоника языка в соответствии с типом процессора.

Для отделения операндов используются запятые.

09.10.2000

 директивы, не порождающие машинных команд, используются для управления генерацией кода, компоновкой программы, форматом листинга и т.д. основные директивы:

  1. ORG<выражение> – для явной установки значения счётчика команд;

  2. <имя> EQU<выражение> – присваивание имени значения выражения;

  3. END– указание ассемблеру прекратить трансляцию – не обязательно вMCs51 и обязательно вPIC;

  4. INCLUDE<имя файла> – указание включить в исходный текст все строки, содержащиеся в другом текстовом файле.INCLUDE Reg_sfn.inc .

 отладка программы происходит в два этапа:

проверка синтаксических ошибок (выполняется быстро) и проверка логических ошибок (с помощью симуляторов и эмуляторов). Симулятор – программа, моделирующая на логическом уровне работу контроллера. В зависимости от сложности симулятора могут моделироваться не все функции. Внутрисистемные эмуляторы являются аппаратно-программным комплексом и позволяет полностью эмитировать функционирование контроллера в реальном масштабе времени на физическом уровне. Отладка происходит либо по шагам, либо по точкам останова.

 определение точности вычислений: при составлении программ используется целочисленная арифметика. При сложении и вычитании проблем не возникает. В целочисленной арифметике математически одинаковая последовательность вычислений приводит к разным результатам из – за ошибок округления.

Если к точности вычислений не предъявляется высоких требований, например при допусковом контроле, и диапазон изменения операндов небольшой, то используют схему вычислений с минимальной разрядностью для обеспечения наибольшей производительности. При обычных вычислениях стремятся сохранить все разряды. При необходимости повысить точность вычислений используют вещественные числа с фиксированной точкой: цццццццц.00000000.

Соседние файлы в предмете Микропроцессорные системы