gaowh 发表于 2018-4-24 16:48:02

dsPIC30 汇编高手请进,汇编指令求助。

最近接手前任工程师半成品的代码,都是用汇编写的,有一条指令我在datasheet上怎么也找不到来源,不知道具体执行流程是怎么样的,特求救。
望汇编高手不吝赐教:
BRA EQ, f

BRA指令无条件跳转最好理解,datasheet里也能找到条件跳转,条件跳转都是根据SR寄存器的标志位判断是否跳转,我在SR里面怎么都找不到EQ是什么意思。

gaowh 发表于 2018-4-24 16:51:31

补充一下,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 16:54:27

本帖最后由 cocom 于 2018-4-24 17:06 编辑

应该是标志寄存器的“相等”,可能重命名过,标志Z

norman33 发表于 2018-4-24 16:57:14

mov      #__has_user_init,w0
cp0      w0                ; user init functions?
bra      eq,1f             ; br if not
call   __user_init       ; else call them

楼主这样你能理解么?

norman33 发表于 2018-4-24 17:10:49

我再补充一下吧,好久以前写过,角落里翻出来的。
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.

gaowh 发表于 2018-4-27 08:37:41

cocom 发表于 2018-4-24 16:54
应该是标志寄存器的“相等”,可能重命名过,标志Z

我猜到是相等,只是在datasheet里没有看到这个关键字。5L给出了正确答案,

gaowh 发表于 2018-4-27 08:38:33

norman33 发表于 2018-4-24 17:10
我再补充一下吧,好久以前写过,角落里翻出来的。
23359 - Provide a second mnemonic for the BRA Z and...

牛!!!我找datasheet找了好久,23359里这个说明你是怎么知道的?一个个说明文档找的吗

norman33 发表于 2018-4-27 08:53:13

gaowh 发表于 2018-4-27 08:38
牛!!!我找datasheet找了好久,23359里这个说明你是怎么知道的?一个个说明文档找的吗 ...

datasheet里面没有的,是在编译器的一个更新readme文件里有说明。以前我也遇到过这个问题所以知道在哪里{:lol:}
页: [1]
查看完整版本: dsPIC30 汇编高手请进,汇编指令求助。