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 |