Instruction Set
911
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
High-End Timer (N2HET) Module
IR2[31 - scount : 0] = IR1[31:scount]
if(scount>0) {
IR2[31:31-1] = IR1[scount-1:0]
IC2 = IR1[scount-1]
}
else {
IC2 = IC1
}
IN2 = IR2[31];
if (IR2 == 0) { IZ2 = 1 } else {IZ2 = 0};
IV2 = (IR2[31] XOR IR1[31]) OR IV1
case 111: // smode = Carry Rotate Right
IR2[31 - scount : 0] = IR1[31:scount]
if (scount == 0) {
IC2 = IC1
}
else if (scount == 1) {
IR2[31] = IC1
IC2 = IR1[0]
}
else {
IR2[31:31-1] = {IR1[scount-2:0],IC1}
IC2 = IR1[scount - 1]
}
IN2 = IR2[31];
if (IR2 == 0) { IZ2 = 1 } else {IZ2 = 0};
IV2 = (IR2[31] XOR IR1[31]) OR IV1
}
/********** WRITE REGISTER DESTINATION STAGE ***********/
switch (C7, C2:C1)
{
case 000:A[24:0] = IR2[31:8]
case 001:B[24:0] = IR2[31:8]
case 010:T[31:0] = IR2[31:0]
case 011:IR2 is not stored in register, immediate
case 100:R[31:0] = IR2[31:0]
case 101:S[31:0] = IR2[31:0]
case 110:Immediate Data Field[31:0] = IR2
case 111:IR2 is not stored in register, immediate
}
/*********** WRITE REMOTE DESTINATION STAGE ***********/
switch (C4:3)
{
case 00:IR2 is not stored in remote field
case 01:Remote Data Field D[31:0] = IR2
case 10:Remote Program Field P[8:0] = IR2[8:0]
case 11:IR2 is not stored in remote field
}
/***************** UPDATE FLAGS STAGE *****************/
C FLAG = IC2
N FLAG = IN2
Z FLAG = IZ2
V FLAG = IV2
If (Init Flag == 1)
{
ACF = 0;
DCF = 1;
GPF = 0;
NAF = 0;
}
else ACF, DCF, GPF, NAF remain unchanged;