求助51汇编程序

[复制链接]
2860|3
 楼主| zjh2009 发表于 2009-4-14 16:45 | 显示全部楼层 |阅读模式
请朋友们帮个忙,问个很菜的问题。
LJMP与LCALL,JMP与CALL的区别。还有RET是指回到子程序的断点,可是有许多嵌套的程序RET到底回到那里?
380121850 发表于 2009-4-14 17:26 | 显示全部楼层

LJMP和LCALL跳得比较远吧

不管怎么嵌套,RET总是回到你最近一次调用的函数的下一指令
smileagain 发表于 2009-4-14 18:41 | 显示全部楼层

不必深究

对初学者来说,只要知道LJMP跳转的范围比AJMP和SJMP远就可以了
如果写JMP,那么有的编译器会自动根据跳转范围确定用LJMP还是AJMP,有的不行
CALL指令类似
注意JMP同时还是散转指令,知道就行
Pingo_zp 发表于 2009-4-14 21:09 | 显示全部楼层

LJMP是长跳转指令,LCALL是长调用指令

LJMP是长跳转指令,LCALL是长调用指令
LJMP跳转之后不会返回,LCALL是调用子程序,是要返回的
子程序都有返回指令RET或者中断子程序的RETI
JMP与CALL的区别同上

RET的返回位置应该是返回调用该RET所在子程序式前的位置,嵌套的话一层一层推就是了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

191

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部