Эта группа представлена 28 командами, их краткое описание приведено в таблице, где также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).
Таблица.7.Команды передачи данных
Название команды
Мнемокод
КОП
Т
Б
Ц
Операция
Пересылка в аккумулятор из регистра (n=0÷7)
MOV A, Rn
11101rrr
182. 1
183. 1
184. 1
(A) (Rn)
Пересылка в аккумулятор прямоадресуемого байта
MOV A, ad
185. 3
186. 2
187. 1
(A) (ad)
Пересылка в аккумулятор байта из РПД (i=0,1)
MOV A, @Ri
1110011i
188. 1
189. 1
190. 1
(A) ((Ri))
Загрузка в аккумулятор константы
MOV A, #d
191. 2
192. 2
193. 1
(A) #d
Пересылка в регистр из аккумулятора
MOV Rn, A
11111rrr
194. 1
195. 1
196. 1
(Rn) (A)
Пересылка в регистр прямоадресуемого байта
MOV Rn, ad
10101rrr
197. 3
198. 2
199. 2
(Rn) (ad)
Загрузка в регистр константы
MOV Rn, #d
01111rrr
200. 2
201. 2
202. 1
(Rn) #d
Пересылка по прямому адресу аккумулятора
MOV ad, A
203. 3
204. 2
205. 1
(ad) (A)
Пересылка по прямому адресу регистра
MOV ad, Rn
10001rrr
206. 3
207. 2
208. 2
(ad) (Rn)
Пересылка прямоадресуемого байта по прямому адресу
MOV add, ads
209. 9
210. 3
211. 2
(add) (ads)
Пересылка байта из РПД по прямому адресу
MOV ad, @Ri
1000011i
212. 3
213. 2
214. 2
(ad) ((Ri))
Пересылка по прямому адресу константы
MOV ad, #d
215. 7
216. 3
217. 2
(ad) #d
Пересылка в РПД из аккумулятора
MOV @Ri, A
1111011i
218. 1
219. 1
220. 1
((Ri)) (A)
Пересылка в РПД прямоадресуемого байта
MOV @Ri, ad
0110011i
221. 3
222. 2
223. 2
((Ri)) (ad)
Пересылка в РПД константы
MOV @Ri, #d
0111011i
224. 2
225. 2
226. 1
((Ri)) #d
Загрузка указателя данных
MOV DPTR, #d16
227. 13
228. 3
229. 2
(DPTR) #d16
Пересылка в аккумулятор байта из ПП
MOVC A, @A+DPTR
230. 1
231. 1
232. 2
((A) +(DPTR))
Пересылка в аккумулятор байта из ПП
MOVC A, @A+PC
233. 1
234. 1
235. 2
(PC) (PC)+1,
(A) ((A)+(PC))
Название команды
Мнемокод
КОП
Т
Б
Ц
Операция
Пересылка в аккумулятор байта из ВПД
MOVX A, @Ri
1110001i
236. 1
237. 1
238. 2
(A) ((Ri))
Пересылка в аккумулятор байта из расширенной ВПД
MOVX A,@DPTR
239. 1
240. 1
241. 2
(A) ((DPTR))
Пересылка в ВПД из аккумулятора
MOVX @Ri, A
1111001i
242. 1
243. 1
244. 2
((Ri)) (A)
Пересылка в расширенную ВПД из аккумулятора
MOVX @DPTR,A
245. 1
246. 1
247. 2
((DPTR)) (A)
Загрузка в стек
PUSH ad
248. 3
249. 2
250. 2
(SP) (SP) + 1, ((SP)) (ad)
Извлечение из стека
POP ad
251. 3
252. 2
253. 2
(ad) (SP),
(SP) (SP) - 1
Обмен аккумулятора с регистром
XCH A, Rn
11001rrr
254. 1
255. 1
256. 1
(A) ↔ (Rn)
Обмен аккумулятора с прямоадресуемым байтом
XCH A, ad
257. 3
258. 2
259. 1
(A) ↔ (ad)
Обмен аккумулятора с байтом из РПД
XCH A, @Ri
1100011i
260. 1
261. 1
262. 1
(A) ↔ ((Ri))
Обмен младших тетрад аккумулятора и байта РПД
XCHD A, @Ri
1101011i
263. 1
264. 1
265. 1
(A0…3) ↔((Ri)0…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) и АСС – при использовании прямого адреса. Первый способ предпочтительнее, однако, не всегда применим.