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. Обращение к регистрам специальных функций с использованием косвенной адресации невозможно.
MOV A, @R0 ; Переслать в аккумулятор содержимое ячейки ПД, адрес которой
; находится в регистре R0.
Во всех рассмотренных выше примерах приемником данных выступал аккумулятор. Однако в качестве приемника могут использоваться регистры, ячейки памяти с прямой или косвенной адресацией. Команды, в которых приемником являются ячейки памяти, часто называют командами запоминания.
В командах МК51 могут использоваться и смешанные виды адресации, например, регистровая и непосредственная:
MOV Rn, #d, прямая и косвенная:
MOV ad, @Ri, а также другие комбинации.
Использование смешанных способов адресации делает систему команд МК51 чрезвычайно гибкой и удобной для программирования.
3. Порядок выполнения работы
3.1. Исследование команд пересылки с непосредственной и регистровой адресацией
Запустите симулятор/отладчик AVSIM51, отключите отображение меток и занесите в память программ коды команд:
MOV A, #55H ; Загрузить в аккумулятор число 55H
MOV R1, A ; Переслать в регистр R1 содержимое аккумулятора
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.