dsPIC30 汇编高手请进,汇编指令求助。
最近接手前任工程师半成品的代码,都是用汇编写的,有一条指令我在datasheet上怎么也找不到来源,不知道具体执行流程是怎么样的,特求救。望汇编高手不吝赐教:
BRA EQ, f
BRA指令无条件跳转最好理解,datasheet里也能找到条件跳转,条件跳转都是根据SR寄存器的标志位判断是否跳转,我在SR里面怎么都找不到EQ是什么意思。 补充一下,datasheet里可以找到的指令:
BRA Expr 无条件跳转
BRA Wn 计算跳转
BRA C, Expr 如果进位,则跳转
上面类似还有:GE GEU GT GTU LE LEU LT LTU N NC NN NOV NZ OA OB OV SA SB Z 本帖最后由 cocom 于 2018-4-24 17:06 编辑
应该是标志寄存器的“相等”,可能重命名过,标志Z mov #__has_user_init,w0
cp0 w0 ; user init functions?
bra eq,1f ; br if not
call __user_init ; else call them
楼主这样你能理解么? 我再补充一下吧,好久以前写过,角落里翻出来的。
23359 - Provide a second mnemonic for the BRA Z and BRA NZ instructions.
The assembler now additionally accepts BRA EQ for BRA Z and BRA NEQ for BRA NZ. cocom 发表于 2018-4-24 16:54
应该是标志寄存器的“相等”,可能重命名过,标志Z
我猜到是相等,只是在datasheet里没有看到这个关键字。5L给出了正确答案, norman33 发表于 2018-4-24 17:10
我再补充一下吧,好久以前写过,角落里翻出来的。
23359 - Provide a second mnemonic for the BRA Z and...
牛!!!我找datasheet找了好久,23359里这个说明你是怎么知道的?一个个说明文档找的吗 gaowh 发表于 2018-4-27 08:38
牛!!!我找datasheet找了好久,23359里这个说明你是怎么知道的?一个个说明文档找的吗 ...
datasheet里面没有的,是在编译器的一个更新readme文件里有说明。以前我也遇到过这个问题所以知道在哪里{:lol:}
页:
[1]