2016 - 2024

感恩一路有你

汇编cmp指令跳转 为什么在汇编语言中需大量使用跳转指令,而在C语言中却尽量避免使用goto语句呢?

浏览量:3045 时间:2021-03-13 22:10:15 作者:admin

为什么在汇编语言中需大量使用跳转指令,而在C语言中却尽量避免使用goto语句呢?

在C语言中,应该尽量避免的不是goto,而是无条件地使用goto。

汇编语言中有很多跳转指令,但这些指令不是无条件跳转指令。他们面前一定有伊夫尼和伊夫克。注意在汇编语言的使用中,虽然有跳转指令,但不建议无条件地使用这些跳转指令。它必须与一定的条件判断一起使用。

经常编写代码的人知道,if、while break和for all包含跳转函数,但它们只在特定条件下跳转。如果没有像汇编中的jump这样的跳转指令,C语言甚至不能实现If,while break和for。

因此,汇编跳转是正常的,是用来实现程序控制逻辑的必要元素。C语言应该避免无条件地滥用goto。

汇编的跳转指令?

JLE(或JNG)(小于或等于或不大于时跳转),汇编语言中的条件转移指令。小于或等于,或不大于,则转移。格式:JLE(或JNG)OPR测试条件:(SF∀of)∨ZF=1

我不知道你指的是哪种MCU。最常用的89C51系列单片机汇编语言有111条指令,可分为五类:

[1]。数据传输指令(共29条)

[2]。算术运算指令(共24条)][3]。逻辑操作和移位指令(共24条)

[4]。控制转移指令(共17条)][5]。布尔变量运算指令(共17条)]]JZ指令属于第4类“控制传输类”中的条件传输指令。具体格式和功能如下:

jzrela=0,(PC)2rel→(PC),累加器中的内容为0,

然后将其传输到偏移量所指向的地址,否则程序将运行下去。

JB是5类“布尔变量操作类”指令。其格式和功能如下:

jbbit,rel bit state为1转换。

汇编cmp指令跳转 c语言跳转指令 单片机汇编语言跳转指令

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。