当前页面为 开发中 版本,查看特定版本的文档,请在页面左下角的下拉菜单中进行选择。
rsubc
rsubc R, A
伪代码描述
| TEMP = (~K) & 0xff
AC = ((A & 0x0f) + (TEMP & 0x0f) + C) >> 4;
SC = ((A & 0x7f) + (TEMP & 0x7f) + C) >> 7;
C_R = A + TEMP + C;
C = C_R >> 8;
R = C_R & 0xff;
OV = C ^ SC;
Z = R == 0 ? 1 : 0;
|
指令描述
带进位/借位标志C,累加器A的内容减寄存器R的内容,结果存储到寄存器R中。
注意
按照伪代码描述的算法,减法C
标志在有借位时为0
,无借位时为1
。
范例
| //0xB6 - 0x74
//C = 1, AC = 0, Z = 0, OV = 1
mov A, #0x74 //A = 0x74
mov 0xE2, A //[0xE2] = 0x74
mov A, #0xB6 //A = 0xB6
rsubc 0xE2, A //[0xE2] = 0x42, C = 1, AC = 1, Z = 0, OV = 1
|