Rev. 1.50, 10/04, page 225 of 448
Mnemonic Description
CMP/EQ Rm,Rn If Rn = Rm, T = 1
CMP/GE Rm,Rn If Rn ≥ Rm as signed values, T = 1
CMP/GT Rm,Rn If Rn > Rm as signed values, T = 1
CMP/HI Rm,Rn If Rn > Rm as unsigned values, T = 1
CMP/HS Rm,Rn If Rn ≥ Rm as unsigned values, T = 1
CMP/PL Rn If Rn > 0, T = 1
CMP/PZ Rn If Rn ≥ 0, T = 1
CMP/STR Rm,Rn If any bytes are equal, T = 1
CMP/EQ #imm,R0 If R0 = imm, T = 1
Notes: None
Operation:
CMPEQ(long m, long n) /* CMP_EQ Rm,Rn */
{
if (R[n]==R[m]) T = 1;
else T = 0;
PC += 2;
}
CMPGE(long m, long n) /* CMP_GE Rm,Rn */
{
if ((long)R[n]>=(long)R[m]) T = 1;
else T = 0;
PC += 2;
}
CMPGT(long m, long n) /* CMP_GT Rm,Rn */
{
if ((long)R[n]>(long)R[m]) T = 1;
else T = 0;
PC += 2;
}