Эта группа представлена 28 командами, их краткое описание приведено в таблице, где также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (В) и время выполнения в машинных циклах (С).
Мнемокод
КОП
Т В С
Описание
MOV A, Rn
11101rrr
1 1 1
(A) <-- (Rn)
MOV A, ad
3 2 1
(A) <--(ad)
MOV A, @Ri
1110011i
1 1 1
(A) <-- ((Ri))
MOV A, #d
2 2 1
(A) <-- #d
MOV Rn, A
11111rrr
1 1 1
(Rn) <-- (A)
MOV Rn, ad
10101rrr
3 2 2
(Rn) <-- (ad)
MOV Rn, #d
01111rrr
2 2 1
(Rn) <-- #d
MOV ad, A
3 2 1
(ad) <--(A)
MOV ad, Rn
10001rrr
3 2 2
(ad) <-- (Rn)
MOV add, ads
9 3 2
(add) <-- (ads)
MOV ad, @Ri
1000011i
3 2 2
(ad) <-- ((Ri))
MOV ad, #d
7 3 2
(ad) <-- #d
MOV @Ri, A
1111011i
1 1 1
((Ri)) <-- (A)
MOV @Ri, ad
0110011i
3 2 2
((Ri)) <-- (ad)
MOV @Ri, #d
0111011i
2 2 1
((Ri)) <-- #d
MOV DPTR, #d16
3 3 2
(DPTR) <-- #d16
MOVC A, @A+DPTR
1 1 2
(A) <-- ((A)+(DPTR))
MOVC A, @A+pc
4 1 2
(PC) <-- (PC+1), (A) <-- ((A)+(PC))
MOVX A,@Ri
1 1 2
(A) <-- ((Ri))
MOVX a, @DPTR
1 1 2
(A) <-- ((DPTR))
MOVX @Ri, A
1111001i
1 1 2
((Ri)) <-- (A)
MOVX @DPTR, A
1 1 2
(DPTR)) <-- (A)
PUSH ad
3 2 2
(SP) <-- (SP)+1, ((SP)) <-- (ad)
POP ad
3 2 2
(ad) <-- ((SP)), (SP) <-- (SP)-1
XCH A, Rn
11001rrr
1 1 1
(A) <-> (Rn)
XCH A, ad
3 2 1
(A) <-->(ad)
XCH A, @Ri
1 1 1
(A) <->((@Ri))
A, @Ri
1 1 1
(А0-3)<->((@Ri0-3))
По команде MOV выполняется пересылка данных из второго операнда в первый. Эта команда не имеет доступа ни к внешней памяти данных, ни к памяти программ. Для этих целей предназначены команды M0VX и MOVC соответственно. Первая из них обеспечивает чтение/запись байт из внешней памяти данных, вторая - чтение байт из памяти программ.
По команде XCH выполняется обмен байтами между аккумулятором и ячейкой РПД, а по команде XCHD - обмен младшими тетрадами (битами 0 - 3).
Команды PUSH и РОР предназначены соответственно для записи данных в стек и их чтения из стека .Размер стека ограничен лишь размером резидентной памяти данных. В процессе инициализации микроконтроллеры после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н.
Группа команд пересылок микроконтроллера имеет следующую особенность - в ней нет специальных команд для работы со специальными регистрами: PSW, таймером, портами ввода-вывода. Доступ к ним, как и к другим регистрам специальных функций, осуществляется заданием соответствующего прямого адреса, т.е. это команды обычных пересылок, в которых вместо адреса можно ставить название соответствующего регистра. Например, чтение PSW в аккумулятор может быть выполнено командой
MOV A, PSW
которая преобразуется Ассемблером к виду
MOV А, 0D0h (E5 D0),
где Е5 - код операции, а D0 - операнд (адрес PSW).
Кроме того, следует отметить, что в микроконтроллере аккумулятор имеет два различных имени в зависимости от способа адресации: А - при неявной адресации (например, MOV A, R0) и АСС - при использовании прямого адреса. Первый способ предпочтительнее, однако, не всегда применим.