Ld.ub %Rd, [%Sp + Imm6] - Epson S1C33 Series Core Manual

Cmos 32-bit single chip microcomputer
Hide thumbs Also See for S1C33 Series:
Table of Contents

Advertisement

ld.ub %rd, [%sp + imm6]

Function
Unsigned byte data transfer
Standard)
Extension 1) rd(7:0) ← B[sp + imm19], rd(31:8) ← 0
Extension 2) rd(7:0) ← B[sp + imm32], rd(31:8) ← 0
15
Code
0
1
0
|
|
IE
C
V
Flag
|
|
Mode
Src:Register indirect with displacement
Dst:Register direct %rd = %r0 to %r15
CLK
Two cycles
Description
(1) Standard
ld.ub
The byte data in the specified memory location is transferred to the rd register after being zero-
extended to 32 bits. The content of the current SP with the 6-bit immediate imm6 added as
displacement comprises the memory address to be accessed.
(2) Extension 1
ext
ld.ub
The ext instruction extends the displacement to a 19-bit quantity. As a result, the content of
the SP with the 19-bit immediate imm19 added comprises the memory address, the byte data in
which is transferred to the rd register.
(3) Extension 2
ext
ext
ld.ub
The two ext instructions extend the displacement to a 32-bit quantity. As a result, the content
of the SP with the 32-bit immediate imm32 added comprises the memory address, the byte data
in which is transferred to the rd register.
Example
ext
0x1
ld.ub %r0,[%sp + 0x1]
S1C33 FAMILY C33 PE CORE MANUAL
rd(7:0) ← B[sp + imm6], rd(31:8) ← 0
12 11 10
9
|
|
0
0
1
imm6
|
|
|
|
|
Z
N
|
|
%rd,[%sp + imm6]
imm13
%rd,[%sp + imm6]
imm13
imm13
%rd,[%sp + imm6]
; r0 ← [sp + 0x41] zero-extended
4
3
0
|
r d
|
|
|
|
|
; memory address = sp + imm6
; = imm19(18:6)
; memory address = sp + imm19,
; imm6 ← imm19(5:0)
; = imm32(31:19)
; = imm32(18:6)
; memory address = sp + imm32,
; imm6 ← imm32(5:0)
EPSON
7 DETAILS OF INSTRUCTIONS
0x44__
113

Advertisement

Table of Contents
loading

Table of Contents