![Siemens C500 User Manual Download Page 29](http://html.mh-extra.com/html/siemens/c500/c500_user-manual_382114029.webp)
Semiconductor Group
4-3
1998-04-01
Instruction Set
C500 Family
4.2
Introduction to the Instruction Set
The instruction set is divided into four functional groups:
Ð data transfer
Ð arithmetic
Ð logic
Ð control transfer
4.2.1
Data Transfer Instructions
Data transfer operations are divided into three classes:
Ð general-purpose
Ð accumulator-specific
Ð address-object
None of these operations affects the PSW flag settings except a POP or MOV directly to the PSW.
General-Purpose Transfers
Ð MOV performs a bit or byte transfer from the source operand to the destination operand.
Ð PUSH increments the SP register and then transfers a byte from the source operand to the
stack location currently addressed by SP.
Ð POP transfers a byte operand from the stack location addressed by the SP to the destination
operand and then decrements SP.
Accumulator-Specific Transfers
Ð XCH exchanges the byte source operand with register A (accumulator).
Ð XCHD exchanges the low-order nibble of the source operand byte with the low-order nibble
of A.
Ð MOVX performs a byte move between the external data memory and the accumulator. The
external address can be specified by the DPTR register (16 bit) or the R1 or R0 register (8 bit).
Ð MOVC moves a byte from program memory to the accumulator. The operand in A is used as
an index into a 256-byte table pointed to by the base register (DPTR or PC). The byte operand
accessed is transferred to the accumulator.
Address-Object Transfer
Ð MOV DPTR, #data loads 16 bits of immediate data into a pair of destination registers, DPH
and DPL.