5042|10

6

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

一个简单的汇编开头 [复制链接]

	ORG 0000H  ;
        LJMP AAO ;
        ORG 0030H ;

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

还是请大家解释下     
此帖出自51单片机论坛

最新回复

第一个ORG是本程序起始位置 就是说 ORG 0000H 的位置么?答:是  ORG 0030H 是跨过中断相量的地址。也就是说程序从这开始别从前面开始  详情 回复 发表于 2011-12-24 15:40
点赞 关注
 

回复
举报

315

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
ORG影响了代码的存储地址
ORG 0030H后面的代码将从0030H的地址开始存,还是有影响的 之所以从0030H开始是因为前面几个地址是中断的入口地址
[ 本帖最后由 孤獨の快樂 于 2011-12-23 16:48 编辑 ]
此帖出自51单片机论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 孤獨の快樂 的帖子

那按照你这么说 AAO这个函数也是在0030H以前是么
此帖出自51单片机论坛
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

4
 

回复 板凳 xiaobaisoso 的帖子

你怎么根据他的话得出这样的结论呢?AAO这个函数在哪儿都有可能,就根据这三句是看不出来滴,要看AAO前面那一句的ORG才能确定AAO的地址
此帖出自51单片机论坛
 
 
 

回复

315

帖子

0

TA的资源

五彩晶圆(初级)

5
 
原帖由 xiaobaisoso 于 2011-12-23 16:48 发表 那按照你这么说 AAO这个函数也是在0030H以前是么
明显是再0030H之后吧,你ORG0030H前面都没写AAO函数
此帖出自51单片机论坛
 
 
 

回复

7228

帖子

192

TA的资源

五彩晶圆(高级)

6
 
ORG伪指令告诉编译程序在将程序代码加载到内存时,按指定的立即数的值作为下一条指令的代码的偏移地址来分配内存空间
比如这里的ORG 0000H,
则指定下一条指令的代码的偏移地址为0000H

以最简单的51单片机为例,编译器最终链接生成HEX文件,再烧录到51的rom中去。单片机很简单,没有x86的分段、分页,启动就是从rom的0x0的位置开始执行。同时0x30H位置开始存放中断向量,
所以单片机程序一般开头就是
ORG 0000H
AJMP MAIN
ORG 0030H
此帖出自51单片机论坛
 
 
 

回复

315

帖子

0

TA的资源

五彩晶圆(初级)

7
 
中断函数的入口地址:
外部中断0                0003H
定时器/计数器 T0    000BH
外部中断1                0013H
定时器/计数器 T1    001BH
串行口中断              0023H
此帖出自51单片机论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

8
 

回复 7楼 孤獨の快樂 的帖子

俄 快要有眉目了。。。 谢谢  
现在我把程序补全  你再看一下。

        ORG 0000H  ;  ---------  1
        LJMP AAO ;  --------------2
        ORG 0030H ;  -------------5

        AAO:MOV P0,#0F9H;   ------------3
                 MOV P2,#0F9H; --------------4

我在后面特意加了这个程序的指令的执行顺序   因为ORG 0030H 是第5步执行  所以第五步之前的代码都是在0030H以前的。   
我是这样认为的 ,  哪里不对 请指出!!!
此帖出自51单片机论坛
 
 
 

回复

315

帖子

0

TA的资源

五彩晶圆(初级)

9
 

原帖由 xiaobaisoso 于 2011-12-23 17:18 发表 俄 快要有眉目了。。。 谢谢 现在我把程序补全 你再看一下。 ORG 0000H ; --------- 1 LJMP AAO ; --------------2 ORG 0030H ; -------------5 AAO:MOV P0,#0 ...

伪指令是用于告诉汇编程序如何进行汇编的指令,它既不控制机器的操作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如何进行。

 

伪指令ORG是不用执行的,只是告诉你指令存放的地址而已

ORG 0000H ;
LJMP AAO ; --------------1

ORG 0030H ;

AAO:MOV P0,#0F9H; ------------2

MOV P2,#0F9H; --------------3


 

[ 本帖最后由 孤獨の快樂 于 2011-12-23 17:27 编辑 ]
此帖出自51单片机论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(中级)

10
 
结贴 万分感谢!!
此帖出自51单片机论坛
 
 
 

回复

1万

帖子

16

TA的资源

版主

11
 

第一个ORG是本程序起始位置 就是说 ORG 0000H 的位置么?答:是

 ORG 0030H 是跨过中断相量的地址。也就是说程序从这开始别从前面开始

此帖出自51单片机论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表