中易网

这个ORG 1000H好像跳过了,为什么还要写它?最后执行SJMP $等待指令,一直在等待,要是还

答案:2  悬赏:60  
解决时间 2021-01-15 08:39
  • 提问者网友:棒棒糖
  • 2021-01-14 11:39
这个ORG 1000H好像跳过了,为什么还要写它?最后执行SJMP $等待指令,一直在等待,要是还
最佳答案
  • 二级知识专家网友:行雁书
  • 2021-01-14 12:22
ORG只是表明接下来的程序存放在哪个地址开始的存储区,它并不是一条可执行语句,是通知编译程序代码存放位置的辅助语句。追问ORG 0000是放在MAIN前面的,表明MAIN的存放地址是吗?ORG 1000H后面没有程序啊?追答从0000H开始存放跳转语句 LJMP MAIN追问那ORG 1000H是有什么用?它似乎一直被跳过追答表明MOV R0,#20H这句存放于1000H地址处,后续语句顺序存放,而MAIN标号正是这一地址
前面的LJMP MAIN相当于LJMP 1000H
全部回答
  • 1楼网友:神的生死簿
  • 2021-01-14 13:45
“ORG 0000是放在MAIN前面的,表明MAIN的存放地址是吗?”
你从哪里看到“ORG 0000是放在MAIN前面的”???明明在main程序段前面的是ORG 1000H,表示从标号main开始的程序段,其存放的初始地址是0000H。追问LJMP!!!!!!!!!!!!!!!!!!追答0000H存放的只是一个跳转语句而已。
main程序块是存放在1000H开始的地址的。追问1000h不是被跳过了吗,怎么还有作用?追答……谁告诉过你“1000h不是被跳过了”……

程序一开始运行,就执行LJMP main,跳转到main程序块(1000H处)并开始运行。

我觉得你应该先好好看书,把这些基础概念中的基础先搞懂,再来看程序。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息