当前文档版本为 v0.4.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

da


da A

指令格式

da A

影响标志

C

伪代码描述

1
2
3
TEMP = ((A & 0x0f) > 9 || AC == 1) ? 1 : 0;
C = ((A >> 4) + TEMP > 9 || C == 1) ? 1 : 0;
A = A + TEMP * 0x06 + C * 0x60;

指令描述

对累加器A进行十进制调制,结果存回累加器A;

范例

1
2
3
4
//0x8D的十进制调制
//C = 1, AC = 0, Z = 0, OV = 0
mov     A, #0x8D    //A = 0x8D
da      A           //A = 0xF3, C = 1, AC = 0, Z = 0, OV = 0

da R, A

指令格式

da R, A

影响标志

C

伪代码描述

1
2
3
TEMP = ((A & 0x0f) > 9 || AC == 1) ? 1 : 0;
C = ((A >> 4) + TEMP > 9 || C == 1) ? 1 : 0;
R = A + TEMP * 0x06 + C * 0x60;

指令描述

对累加器A进行十进制调制,结果存储到寄存器R;

范例

1
2
3
4
//0xB7的十进制调制
//C = 0, AC = 0, Z = 0, OV = 0
mov     A, #0xB7    //A = 0xB7
da      0xA2, A     //[0xA2] = 0x17, C = 1, AC = 0, Z = 0, OV = 0