Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР_4.doc
Скачиваний:
3
Добавлен:
27.09.2019
Размер:
93.7 Кб
Скачать

Примеры

MOV A, #64H ; Загрузить в аккумулятор число 64H

MOV A, #0AAH ; Загрузить в аккумулятор число AAH

MOV A, #100 ; Загрузить в аккумулятор число 100 (в десятичном коде)

Обратите внимание на запись непосредственных данных #0AAH. Здесь перед шестнадцатиричным числом AAH поставлен незначащий 0, чтобы отличить его от метки.

При использовании регистровой адресации операнда источника он находится в одном из регистров общего назначения Rn = R0, R1, …,R7 текущего банка, номер которого определяется битами (флагами) RS1, RS0 регистра состояния PSW. Команда имеет однобайтный формат. Номер регистра Rn определяется тремя младшими битами байта кода операции.

Примеры

MOV A, R0 ; Пересылка в аккумулятор содержимого регистра R0

MOV A, R7 ; Пересылка в аккумулятор содержимого регистра R7

При использовании прямой адресации операнд источника находится в памяти данных или в регистре специальных функций. Команды имеют длину 2 байта. 1-й байт предназначен для кода команды, 2-й байт содержит адрес ячейки памяти данных (диапазон 00H…7FH) или адрес регистра специальных функций (диапазон 80H…FFH). Условное обозначение адреса в мнемонике команды – ad.

Примеры

MOV A, ad ; Пересылка в аккумулятор содержимого ячейки памяти с адресом ad

MOV A, 30H ; Пересылка в аккумулятор содержимого ячейки ПД с адресом 30H

MOV A, 80H ; Пересылка в аккумулятор содержимого регистра специальных

 функций с адресом 80H – порта P0

MOV A, 0D0H ; Пересылка в аккумулятор содержимого регистра специальных

 функций с адресом D0H - регистра PSW

В последних двух командах операнды источника – это регистры специальных функций. Эти регистры расположены по фиксированным адресам и имеют символические имена. Например, регистр по адресу 80H имеет имя P0 – это порт ввода/вывода, а регистр с адресом D0H имеет имя PSW – это регистр состояния PSW. Ассемблер МК51 допускает использование в мнемонике команд символических имен регистров специальных функций вместо их адресов. Это упрощает программирование, облегчает запись и чтение команд. При ассемблировании программа-транслятор подставляет вместо символических имен регистров специальных функций их действительные адреса.

Примеры

MOV A, P0 ; Пересылка в аккумулятор содержимого порта P0

MOV A, PSW ; Пересылка в аккумулятор содержимого регистра PSW

MOV A, B ; Пересылка в аккумулятор содержимого регистра B

MOV A, ACC ; Пересылка в аккумулятор содержимого регистра ACC

Последняя команда фактически не выполняет никаких действий, т.е. является пустой. При ее выполнении программный счетчик просто увеличивает на 2 свое содержимое (PC)  (PC) + 2, так как команда занимает в памяти 2 ячейки.

При использовании косвенной адресации команды имеют длину 1 байт. В этом байте расположен код операции. Адрес операнда источника – ячейки памяти данных находится в регистре R0 или R1 текущего банка. Обратите внимание, что в качестве источника адреса операнда могут использоваться только регистры R0 и R1 (общее обозначение Ri), но не могут использоваться регистры R2 – R7. Диапазон адресов ячеек ПД при использовании косвенной адресации 00H…7FH. Обращение к регистрам специальных функций с использованием косвенной адресации невозможно.

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