求解一条MSP430F2132汇编指令
这是在IAR环境下嵌入的汇编语句
asm("ADDC.b @R4+,-1(R4)\n");哪位对汇编了解比较多的可以给个详细的解释吗? 本帖最后由 lcofjp 于 2012-5-8 15:11 编辑
推测:
uint8_t *R4;
R4[-1] = R4 + R4[-1] + C;
R4++; @R4等价于0(R4)
不过,如果寄存器Rx带自增,就不能用0(Rx+),而用@Rx+
对于Rx+,如果指令带B,表示自增1,如果不带B,表示自增2。
lcofjp 发表于 2012-5-8 14:59 static/image/common/back.gif
推测:
uint8_t *R4;
R4[-1] = R4 + R4[-1] + C;
不过源程序给的注释有点费解了,// roll left ,emulated by adding to itself == multiply by 2 + carry flag
不过这R跟R[-1]是两个存储单元的数据 单片机玩C++ 发表于 2012-5-8 15:04 static/image/common/back.gif
@R4等价于0(R4)
不过,如果寄存器Rx带自增,就不能用0(Rx+),而用@Rx+
哦,谢谢了,我在书上没看到有详解介绍 dragondslj 发表于 2012-5-8 19:08 static/image/common/back.gif
哦,谢谢了,我在书上没看到有详解介绍
那你写段程序仿真一下,就知道啥效果了。 lcofjp 发表于 2012-5-8 19:57 static/image/common/back.gif
那你写段程序仿真一下,就知道啥效果了。
效果是没错,所以才想知道具体怎么执行的
页:
[1]