mnbn.net
当前位置:首页 >> 用汇编语言写单片机程序开头为什么一般都这样:ORG... >>

用汇编语言写单片机程序开头为什么一般都这样:ORG...

ORG 是汇编的伪指令 告诉编译器我的代码放在什么位置 在单片机复位的时候 在你没有做任何改变的时候 程序指针会是指向00000H的地址 所以我们吧 START 卸载地址00H 让单片机复位后直接跳转到 START的程序段去执行 ORG 30H 是你程序的代码开始地址...

汇编语言编写时, 开头都是从ORG 0000H开始的, 由于中断向量也在0000H后面排列, 所以一般在 0000H这里放一条长转移指令, 如下面所示: ORG 0000H LJMP MAIN ; 转到主程序中去 ORG 0003H LJMP INT0 ; 转到外部中断0处理程序

ORG 0000H复位後地址不能变这是伪指令 LJMP XXXX跳转到主程序地址这是程序语句 因下面的很多地址是各种中断程序的入口地址,一般要跳转 由於2个中断入口地址之间的空间比较小,写不完完整的中断程序,因此还是跳转语句如果不用中断,也可以不跳...

可以,org xxh表示你存放程序的首adress

H是十六进制的符号,数据后面跟H便是该数据时十六进制数据,ORG是编译时定位地址用的伪指令,表示该语句之后的指令从 ORG后面的地址开始执行。不同的单片机开始执行的地址是不一样的,比如51是从0000H开始的,所以51单片机的第一句就是 ORG 0000H。

ORG 0000H 初始化SP0000AJMP MAIN 跳到MAIN处执行ORG 30H 程序从30处开始MAIN:MOV P0,#00H 程序开始处P0口输出全低电平ACALL DEL (延时1秒子程序)MOV P0,#0FFH 程序开始处P0口输出全高电平ACALL DELDEL (延时1秒子程序)DEL(延时1秒子程序)RET ...

ORG是伪指令,告诉编译器,程序从ROM的0000开始存放程序,但是AJMP MAIN是一条无条件跳转指令,也就是说,单片机上电之后首先从0000处开始执行程序,但是,AJMP直接将程序跳转到MAIN标号指向的存储区域开始取指令,并执行,而一般MAIN标号是放在...

; 数码管循环显示0-9 ORG 0000H AJMPMAIN ORG 0030H MAIN: MOV R0,#100 MOV R1,#0 ;从第一个段码开始显示,就是0 MOV DPTR,#SLED_DM_TABLE LOOP: MOV R0,#250 MAIN1: MOV A,R1 MOVC A,@A+DPTR MOV P0,A ;送段码到数码管 CALLDELAY ;延时 DJNZR0,...

ORG 0100H的意思是将START:标号后面的指令地址放到100H这个地方,这是说给编译器听的. LJMP START 之后的地址到9FH都给别人用.

这是用汇编语言写程序才这样做的。只需要这个地址处放一条转移指令就行,如LJMP INT0P,其中的INT0P是真正的中断子程序存放的地址,即子程序标号。在这里才写真正的中断子程序。 如果用C语言写程序就不用考虑这个问题了,只要定义中断标号即可。

网站首页 | 网站地图
All rights reserved Powered by www.mnbn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com