我想要了解以下汇编代码段。它是MC68332微控制器的组件。
LOOP
some instructions
some more instructions
BEQ LOOP
我用谷歌搜索BEQ,我发现它意味着在结果零上分支,但我仍然不明白它的作用。它将最后一条指令的结果与0进行比较,如果是0,它会回到LOOP线吗?
答案 0 :(得分:4)
在Motorola 68k系列上,它代表“如果相等则分支”,这意味着“如果设置了零标志,则跳转到给定地址”(就像之前的比较成功时一样)。
然而,68332似乎与此不同,并且基于“大写语法”,它可能是围绕另一条指令的宏包装器,它基本上做同样的事情。
从其他系统移植代码的程序集程序员可以使用类似的宏来简化移植过程。
答案 1 :(得分:1)
确切的答案取决于您使用的是哪种微控制器。通常,如果没有操作数,如果累加器为0,则BEQ将被预期分支。这很可能在简单的微型计算机上,其中累加器是计算的主要寄存器。
您使用的是哪种微控制器?您应该能够在该微型手册中找到BEQ指令的定义。