DatasheetQ Logo
Electronic component search and free download site. Transistors,MosFET ,Diode,Integrated circuits

HMS9XC8032 View Datasheet(PDF) - Hynix Semiconductor

Part Name
Description
Manufacturer
HMS9XC8032 Datasheet PDF : 157 Pages
First Prev 11 12 13 14 15 16 17 18 19 20 Next Last
HMS91C8032/97C8032
MOVE
DIV
SWAP
ADD
B,#10
AB
A
A,B
Dividing the number by 10 leaves the tens digit in the low nibble
of the Accumulator, and the ones digit in the B register. The
SWAP and ADD instructions move the tens digit to the high nib-
ble of the Accumulator, and the ones digit to the low nibble.
3.5 Data Transfers
Internal RAM
Table 3-3 shows the menu of instructions that are available for
moving data around within the internal memory spaces, and the
addressing modes that can be used with each one.
The MOV <dest>, <src> instruction allows data to be transferred
between any two internal RAM or SFR locations without going
through the Accumulator. Remember, the Upper 128 bytes of
data RAM can be accessed only by indirect addressing, and SFR
space only by direct addressing.
Note that in HMS9XC8032 devices, the stack resides in on-chip
RAM, and grows upwards. The PUSH instruction first incre-
ments the Stack Pointer (SP), then copies the byte into the stack.
PUSH and POP use only direct addressing to identify the byte be-
ing saved or restored, but the stack itself is accessed by indirect
addressing using the SP register. This means the stack can go into
the Upper 128 bytes of RAM, if they are implemented, but not
into SFR space.
The Data Transfer instructions include a 16-bit MOV that can be
used to initialize the Data Pointer (DPTR) for look-up tables in
Program Memory.
The XCH A, <byte> instruction causes the Accumulator and ad-
dressed byte to exchange data. The XCHD A, @Ri instruction is
similar, but only the low nibbles are involved in the exchange.
To see how XCH and XCHD can be used to facilitate data manip-
ulations, consider first the problem of shifting and 8-digit BCD
number two digits to the right. Figure 3-2 shows how this can be
done using XCH instructions. To aid in understanding how the
code works, the contents of the registers that are holding the BCD
number and the content of the Accumulator are shown alongside
each instruction to indicate their status after the instruction has
been executed.
After the routine has been executed, the Accumulator contains
the two digits that were shifted out on the right. Doing the routine
with direct MOVs uses 14 code bytes. The same operation with
XCHs uses only 9 bytes and executes almost twice as fast.
To right-shift by an odd number of digits, a one-digit must be ex-
ecuted.
Figure 3-3 shows a sample of code that will right-shift a BCD
number one digit, using the XCHD instruction. Again, the con-
tents of the registers holding the number and of the accumulator
are shown alongside each instruction.
MNEMONIC
OPERATION
MOV A,<src>
MOV <dest>,A
MOV <dest>,<src>
MOV DPTR,#data16
PUSH <src>
POP <dest>
XCH A,<byte>
XCHD A,@Ri
A = <src>
<dest> = A
<dest> = <src>
DPTR = 16-bit immediate constant
INC SP:MOV “@SP”, <src>
MOV <dest>, “@SP”:DEC SP
ACC and <byte> exchange data
ACC and @Ri exchange low nibbles
ADDRESSING MODES
Dir
Ind
Reg
Imm
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Table 3-3 Data Transfer Instruction that Access Internal Data Memory Space
NOV., 2001 Ver 1.02
11

Share Link: 

datasheetq.com  [ Privacy Policy ]Request Datasheet ] [ Contact Us ]