Sbc [%ir]+,%r, Sbc [%ir],imm4 – Epson S1C63000 User Manual
Page 132
126
EPSON
S1C63000 CORE CPU MANUAL
CHAPTER 4: INSTRUCTION SET
SBC [%ir]+,%r
Subtract with carry r reg. from location [ir reg.] and increment ir reg. 2 cycles
Function:
[ir]
←
[ir] - r - C, ir
←
ir + 1
Subtracts the content of the r register (A or B) and carry (C) from the data memory addressed
by the ir register (X or Y). Then increments the ir register (X or Y). The flags change due to the
operation result of the data memory and the increment result of the ir register does not affect
the flags.
Code:
Mnemonic
MSB
LSB
SBC [%X]+,%A
1
1
0
0
0
1
1
1
0
1
0
0
1
18E9H
SBC [%X]+,%B
1
1
0
0
0
1
1
1
0
1
1
0
1
18EDH
SBC [%Y]+,%A
1
1
0
0
0
1
1
1
0
1
0
1
1
18EBH
SBC [%Y]+,%B
1
1
0
0
0
1
1
1
0
1
1
1
1
18EFH
Flags:
E
I
C
Z
↓
–
↕
↕
Mode:
Src: Register direct
Dst: Register indirect
Extended addressing: Invalid
SBC [%ir],imm4
Subtract with carry immediate data imm4 from location [ir reg.]
2 cycles
Function:
[ir]
←
[ir] - imm4 - C
Subtracts the 4-bit immediate data imm4 and carry (C) from the data memory addressed by the
ir register (X or Y).
Code:
Mnemonic
MSB
LSB
SBC [%X],imm4
1
1
0
0
0
1
0
0
0 i3 i2 i1 i0
1880H–188FH
SBC [%Y],imm4
1
1
0
0
0
1
0
1
0 i3 i2 i1 i0
18A0H–18AFH
Flags:
E
I
C
Z
↓
–
↕
↕
Mode:
Src: Immediate data
Dst: Register indirect
Extended addressing: Valid
Extended
LDB
%EXT,imm8
operation:
SBC
[%X],imm4
[00imm8]
←
[00imm8] - imm4 - C (00imm8 = 0000H + 00H to FFH)
LDB
%EXT,imm8
SBC
[%Y],imm4
[FFimm8]
←
[FFimm8] - imm4 - C (FFimm8 = FF00H + 00H to FFH)