Instruction Set
935
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
High-End Timer (N2HET) Module
Execution
If (Angle Compare P[7] == 0 OR (P[7] == 1 AND NAF_global == 1))
{
If(
(Order C[5] == 1) AND (Data[31:7]- Selected register[31:7]) >= 0))
OR ( (Order C[5] == 0) AND Selected register[31:7] - Data[31:7]) >= 0))
{
If (Order C[5] == 1 AND Save subtract P[5] == 1)
{
Register T[31:7] = Data[31:7] - Selected register[31:7];
Register T[6:0] = 0;
}
If (Order C[5] == 0 AND Save subtract P[5] == 1)
{
Register T[31:7] = Selected register[31:7] - Data[31:7];
Register T[6:0] = 0;
}
If (Enable Pin Action C[22] == 1)
{
If (hr_lr P[8] = 0) {
Schedule Action on Selected Pin C[12:8] at start of next loop
+ HR Delay D[6:0];
}
else
{
Schedule Pin Action on Selected Pin C[12:8] at start of next loop;
}
}
If (Interrupt Enable == 1) HETFLG[n] = 1;
/* n depends on address */
If ([C28:C27] == 01) Generate request on request line [P25:P23];
If ([C28:C27] == 11) Generate quiet request on request line [P25:P23];
Jump to Conditional Address;
}
else if (Z == 1 AND Opposite Action C[3] == 1 )
{
If (Enable Pin Action C[22] == 1)
{
Schedule Opposite Pin Action on Selected Pin C[12:8] at start of next loop;
}
Jump to Next Program Address;
}
else
Jump to Next Program Address;
}
else // Angle Comp. bit == 1 AND NAF_global == 0
Jump to Next Program Address;
The specific interrupt flag that is triggered depends on the address from which the instruction is executed,
see