编程论坛
注册
登录
编程论坛
→
汇编论坛
请教:SJMP $与END的区别
菜鸟学汇编
发布于 2012-10-31 19:21, 2983 次点击
我刚学汇编,看到有的程序后以END结尾,有的在END前加上SJMP $ ,请问它们有什么区别吗,用法是什么? 可不可以不要SJMP $而直接END ? 本人刚学,书上没讲这些疑问,我只好求助各位大侠了。感激不尽
8 回复
#2
zklhp
2012-10-31 21:17
SJMP $
这玩意从来没见过 难道是单片机汇编里面的?
#3
菜鸟学汇编
2012-10-31 21:37
真厉害,是单片机里的
我学单片机汇编
#4
菜鸟学汇编
2012-10-31 21:38
回复 2楼 zklhp
真厉害,是单片机里的
我学单片机汇编
#5
有容就大
2012-10-31 21:53
没搞过单片机汇编 . 试着猜下。
$在汇编里表示当前行 jmp $ 就相对于无条件跳转到自身 也就是个死循环吧
sjmp $ 貌似是 short jmp $的意思 其实跳转到自己无所谓长短的分别吧
这个指令有 动态暂停和等待中断的功能 其实就是一个可被打断的无限循环
貌似 如果end前有这个东西就能看到前面程序的显示结果,没有就闪屏? 呵呵 猜的啊。
#6
菜鸟学汇编
2012-10-31 21:59
回复 5楼 有容就大
有一半是对的吧,书本程序里的注释是“在此死循环”。
我不明白的是,既然都已经输出结果了,还要死循环干什么,直接end结束程序语句不就好啦?要那句死循环不是还会占点存储资源吗?
#7
有容就大
2012-10-31 22:28
以下是引用
菜鸟学汇编
在2012-10-31 21:59:38的发言:
有一半是对的吧,书本程序里的注释是“在此死循环”。
我不明白的是,既然都已经输出结果了,还要死循环干什么,直接end结束程序语句不就好啦?要那句死循环不是还会占点存储资源吗?
你写个有输出的程序 比如显示输出一段字符串 然后用加sjmp $和没加的试试看有没补同效果?
#8
pangding
2012-11-01 16:09
单片机这么做是有特殊目的吗?关注一下,顺便学习。
#9
有容就大
2012-11-01 16:28
回复 8楼 pangding
是啊 这样的假死太拉风了。
1