一个简单的汇编开头

2019-03-24 19:29发布

ORG 0000H ; LJMP AAO ; ORG 0030H ;
这两个  ORG 不理解  第一个ORG是本程序起始位置 就是说 ORG 0000H 的位置么?LJMP 的意思是说跳转到AAO里面去了 那 ORG 0030H 还有什么意思 这个ORG 0030H会最后执行啊 

还是请大家解释下
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
孤獨の快樂
1楼-- · 2019-03-25 04:36
ORG影响了代码的存储地址ORG 0030H后面的代码将从0030H的地址开始存,还是有影响的 之所以从0030H开始是因为前面几个地址是中断的入口地址 [ 本帖最后由 孤獨の快樂 于 2011-12-23 16:48 编辑 ]
xiaobaisoso
2楼-- · 2019-03-25 04:44
那按照你这么说 AAO这个函数也是在0030H以前是么
jishuaihu
3楼-- · 2019-03-25 09:14
你怎么根据他的话得出这样的结论呢?AAO这个函数在哪儿都有可能,就根据这三句是看不出来滴,要看AAO前面那一句的ORG才能确定AAO的地址
孤獨の快樂
4楼-- · 2019-03-25 12:09
原帖由 xiaobaisoso 于 2011-12-23 16:48 发表 那按照你这么说 AAO这个函数也是在0030H以前是么
明显是再0030H之后吧,你ORG0030H前面都没写AAO函数
常见泽1
5楼-- · 2019-03-25 15:28
ORG伪指令告诉编译程序在将程序代码加载到内存时,按指定的立即数的值作为下一条指令的代码的偏移地址来分配内存空间
比如这里的ORG 0000H,
则指定下一条指令的代码的偏移地址为0000H

以最简单的51单片机为例,编译器最终链接生成HEX文件,再烧录到51的rom中去。单片机很简单,没有x86的分段、分页,启动就是从rom的0x0的位置开始执行。同时0x30H位置开始存放中断向量,
所以单片机程序一般开头就是
ORG 0000H
AJMP MAIN
ORG 0030H
孤獨の快樂
6楼-- · 2019-03-25 16:01
 精彩回答 2  元偷偷看……

一周热门 更多>