8.6.6 immediate Data load instructions
Types and functions of extended instructions
Extended instruction
sld
%rd,imm16
sld.a
%rd,imm20
sld.a
%sp,imm20
%rd,symbol ± imm16
sld
%rd,symbol ± imm20
sld.a
%sp,symbol ± imm20
sld.a
xld
%rd,imm16
xld.a
%rd,imm24
xld.a
%sp,imm24
%rd,symbol ± imm16
xld
%rd,symbol ± imm24
xld.a
%sp,symbol ± imm24
xld.a
These extended instructions allow a 16-bit/20-bit/24-bit immediate to be loaded directly into a general-purpose
register. A symbol also can be used for immediate specification.
Basic instructions after expansion
Expanded into the ld instruction
sld, xld
Expanded into the ld.a instruction
sld.a, xld.a
Expansion formats
(1) sld
%rd,imm16 / xld
Example: xld
%rd,imm16
imm16 ≤ 0x7f
ld
%rd,imm16(6:0)
(2) sld.a
%rd,imm20 / sld.a
Example: sld.a
%rd,imm20
imm20 ≤ 0x7f
ld.a
%rd,imm20(6:0)
(3) xld.a
%rd,imm24 / xld.a
Example: xld.a
%rd,imm24
imm24 ≤ 0x7f
ld.a
%rd,imm24(6:0)
(4) sld
%rd,symbol±imm16 / xld
Example: sld
%rd,symbol±imm16
Unconditional
(symbol ± imm16)(15:7)
ext
%rd,(symbol ± imm16)(6:0)
ld
(5) sld.a
%rd,symbol±imm20 / sld.a
Example: sld.a
%rd,symbol±imm20
Unconditional
(symbol ± imm20)(19:7)
ext
%rd,(symbol ± imm20)(6:0)
ld.a
S5U1C17001C ManUal
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
%rd ← imm16
%rd ← imm20
%sp ← imm20
%rd ← symbol ± imm16(15:0)
%rd ← symbol ± imm20(19:0)
%sp ← symbol ± imm20(19:0)
%rd ← imm16
%rd ← imm24
%sp ← imm24
%rd ← symbol ± imm16(15:0)
%rd ← symbol ± imm24(23:0)
%sp ← symbol ± imm24(23:0)
%rd,imm16
0x7f < imm16
ext
imm16(15:7)
ld
%rd,imm16(6:0)
%sp,imm20
0x7f < imm20
ext
imm20(19:7)
ld.a
%rd,imm20(6:0)
%sp,imm24
0x7f < imm24 ≤ 0xfffff
ext
imm24(19:7)
ld.a
%rd,imm24(6:0)
%rd,symbol±imm16
%sp,symbol±imm20
EPSOn
function
0xfffff < imm24
ext
imm24(23:20)
ext
imm24(19:7)
ld.a
%rd,imm24(6:0)
8 aSSEMBlEr
Expansion
(1)
(2)
(2)
8
(4)
Assemblr
(5)
(5)
(1)
(3)
(3)
(4)
(6)
(6)
8-19
Need help?
Do you have a question about the S5U1C17001C and is the answer not in the manual?