汇编语言中LCALL和JMP有什么区别啊?
答案:3 悬赏:40 手机版
解决时间 2021-04-27 20:38
- 提问者网友:情歌越听越心酸
- 2021-04-27 03:16
汇编语言中LCALL和JMP有什么区别啊?
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-04-27 04:23
LCALL是调用子程序,当子程序执行完后就返回到LCALL指令下一条指令继续执行程序,而子程序是可以多次调用,也可以在任何位置调用。这是从哪里走的,还要返回哪里的。
而JMP是无条件转移指令,转移到某执行程序后就不再返到回原处,是一去不回返的。
而JMP是无条件转移指令,转移到某执行程序后就不再返到回原处,是一去不回返的。
全部回答
- 1楼网友:woshuo
- 2021-04-27 06:16
用的时候都能用,使用LCALL子程序的话,程序的可读性和可移植性更好追问恩我觉得就是call用ret返回,而jmp想要返回原地方还要用jmp到原来的地方,区别吗还是有的,就是用的时候都能用,我就是在写的时候突然不知道用哪个了,是这么回事吧,是的话就用就行了。
- 2楼网友:玩世
- 2021-04-27 05:34
区别还是很大的,LCALL是子程序调用指令,虽然入口好象和转移指令没什么区别,但子程序调用指令影响堆栈,所以一般在子程序中用RET实现返回,否则易造成栈的不平衡。而影响程序的正常运行。
而JMP多用于多分支程序设计,格式为JMP @A+DPTR或JMP @A+PC跳转后不影响堆栈。
而JMP多用于多分支程序设计,格式为JMP @A+DPTR或JMP @A+PC跳转后不影响堆栈。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯