Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly BEQ指令的具体功能是什么?_Assembly_Motorola - Fatal编程技术网

Assembly BEQ指令的具体功能是什么?

Assembly BEQ指令的具体功能是什么?,assembly,motorola,Assembly,Motorola,我有下面的汇编代码片段,我正在努力理解。它是MC68332微控制器的组件 LOOP some instructions some more instructions BEQ LOOP 我在谷歌上搜索过BEQ,发现它的意思是在结果0上进行分支,但我还是不太明白它的作用。它是否将上一条指令的结果与0进行比较,如果为0,则返回到循环线?确切答案将取决于您使用的微控制器。通常,如果没有操作数,如果累加器为0,BEQ将被期望进行分支。这很可能发生在简单的微型计算机上,其中累加器是计算的主

我有下面的汇编代码片段,我正在努力理解。它是MC68332微控制器的组件

LOOP
    some instructions
    some more instructions
BEQ LOOP

我在谷歌上搜索过BEQ,发现它的意思是在结果0上进行分支,但我还是不太明白它的作用。它是否将上一条指令的结果与0进行比较,如果为0,则返回到循环线?

确切答案将取决于您使用的微控制器。通常,如果没有操作数,如果累加器为0,BEQ将被期望进行分支。这很可能发生在简单的微型计算机上,其中累加器是计算的主要寄存器


你用的是哪个微控制器?您应该能够在该micro的手册中找到BEQ指令的定义。

在Motorola 68k系列上,它代表“如果相等,则分支”,意思是“如果设置了零标志,则跳转到给定地址”,例如上次比较成功时

然而,68332似乎有所不同。基于大写语法,它可以是一个围绕另一条指令的宏,该指令基本上执行相同的操作


从其他系统移植代码的汇编程序员可以使用类似的宏来简化移植过程。

你能告诉我你指的是哪个微控制器吗?微控制器是MC68332,谢谢。添加了一个答案,希望有帮助。MC68332。用户手册中没有关于BEQ命令的任何内容动词“to branch”是什么意思?飞思卡尔的网站有一个数据表,您可以在此处找到指向它的链接:。分支意味着跳到程序中的一个特定点,在本例中跳到“循环”标签。这段代码的功能是循环,直到累加器保持值“0”。谢谢,我就是这么想的。BEQ之前的最后一条指令是SUB D2,D2,它始终设置零标志。因此,它是一个无限循环。是吗?@jazzybazz是的,很抱歉延迟回复:)