Команда MOVC A,@A+(<R16>)
<R16> -16-разрядный регистр.
Команда "переслать байт из памяти программ" загружает аккумулятор байтом кода или константой из памяти программы. Адрес считываемого байта вычисляется как сумма 8-битового исходного содержимого аккумулятора без знака и содержимого 16-битового регистра. В качестве 16-битового регистра может быть:
- указатель данных DPTR
- счетчик команд РС
В случае, когда используется РС, он увеличивается до адреса следующей команды перед тем, как его содержимое складывается с содержимым аккумулятора. 16-битовое сложение выполняется так, что перенос из младших восьми бит может распространяться через старшие биты. Эта команда на флаги не влияет.
Ассемблер: |
MOVC A, @A+DPTR |
Код: |
|
Время: |
2 циклa |
Алгоритм: |
(A) : = ((A)+(DPTR)) |
Пример: |
;(A)=1BH, (DPTR)=1020H,
;(ПЗУ[103B])=48H,
MOVC A,@A+DPTR ;(A)=48H, (DPTR)=1020H
|
Ассемблер: |
MOVC A, @A+PC |
Код: |
|
Время: |
2 циклa |
Алгоритм: |
(A) : =((A)+(PC)) |
Пример: |
;(A)=FAH, (PC)=0289
;(ПЗУ[0384])=9BH
MOVC A, @A+PC ;(A)=9BH, (PC)=028AH
|
|