Subc - Hitachi SH7750 Programming Manual

High-performance risc engine superh (sh) 32-bit risc mcu/mpu series
Hide thumbs Also See for SH7750:
Table of Contents

Advertisement

10.96

SUBC

Binary Subtraction with Borrow
Format
SUBC Rm,Rn
Description
This instruction subtracts the contents of general register Rm and the T bit from the contents of
general register Rn, and stores the result in Rn. A borrow resulting from the operation is reflected
in the T bit. This instruction is used for subtractions exceeding 32 bits.
Operation
SUBC(long m, long n) /* SUBC Rm,Rn */
{
unsigned long tmp0,tmp1;
tmp1=R[n]-R[m];
tmp0=R[n];
R[n]=tmp1-T;
if (tmp0<tmp1) T=1;
else T=0;
if (tmp1<R[n]) T=1;
PC+=2;
}
Example
CLRT
SUBC
R3,R1
SUBC
R2,R0
Rev. 2.0, 03/99, page 378 of 396
SUBtract with Carry
Summary of Operation
Rn-Rm-T → Rn, borrow → T
;R0:R1(64 bits) – R2:R3(64 bits) = R0:R1(64 bits)
;Before execution T = 0, R1 = H'00000000, R3 = H'00000001
;After execution
;Before execution T = 1, R0 = H'00000000, R2 = H'00000000
;After execution
Instruction Code
0011nnnnmmmm1010 1
T = 1, R1 = H'FFFFFFFF
T = 1, R0 = H'FFFFFFFF
Arithmetic Instruction
Execution
States
T Bit
Borrow

Advertisement

Table of Contents
loading

Table of Contents