单片机都是从0000H开始执行指令的吗?

那我如果编写以ORG 1000H开头的程序,那还是从0000H开始吗?就是即使1000H单元以上的单元都是空单元,单片机复位后还是从0000H开始执行空指令吗?

是的,51单片机复位后从0000H单元的指令开始执行。因此如果你的真实第一条指令在1000H,那么需要在0000H处放一条跳转指令,跳转到1000H.
ORG 0000H
LJMP MAIN
ORG 1000H
MAIN:*****************追问

那如过不放跳转指令,cpu会怎样执行呢

追答

CPU就会从0000H开始执行,由于0000H-1000H是随机数,但CPU会当成指令来执行,执行就乱了,因此看起来类似于死机。现在也有一种就是没有指令的地址会被写上NOP,这样程序最多有个延迟,不会死机。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-26
对,单片机复位后 是从 0000H 开始执行程序 如:
ORG 0000H
JMP MIN ; 程序开始
ORG 0003H
JMP INT0 ; 外部0 中断
ORG 000BH
JMP T0 ; T0 中断
ORG 0013H
JMP INT1 ; 外部1 中断
ORG 001BH
JMP T1 ; T1 中断
第2个回答  2011-10-26
dui

单片机都是从0000H开始执行指令的吗?
是的,51单片机复位后从0000H单元的指令开始执行。因此如果你的真实第一条指令在1000H,那么需要在0000H处放一条跳转指令,跳转到1000H.ORG 0000H LJMP MAIN ORG 1000H MAIN:

单片机为什么是0000H开始执行程序呢?
在汇编语言源程序的开始通常都用一条ORG伪指令来实现规定程序的起始地址。如果不用ORG规定则汇编得到的目标程序将从0000H开始。程序从ROM的0000开始存放程序,但是AJMP MAIN是一条无条件跳转指令,也就是说,单片机上电之后首先从0000处开始执行程序。但是,AJMP直接将程序跳转到MAIN标号指向的存储区域开始...

单片机上电后程序从哪开始执行
1、单片机上电后程序从0000H开始执行。2、如果是用C51编程,不用指定语句的地址。编译后编译器会给你自动安排地址。3、如果用汇编语言编程,应该指定第一条语句的地址是0000H,然后在0000H处写一条跳转指令,跳到你的主程序处。4、至于startup.a51中的内容,不同的编译器应该不一样,但和你的程序...

单片机复位和冷启动(掉电)的区别
对于单片机执行程序的过程,单片机复位和冷启动(掉电)是没区别的,都是要0000H单元开始执行。但对于电路是不同的。冷启动,所有芯片及电路都是新上电,带有复位的芯片会自动复位。而带电复位只是单片机复位,而其他电路仍会保持现状态,除非也是受单片机复位信号的控制,与单片机同步复位的除外。另外,单...

51单片机中片内和片外RAM的初始化是什么意思
51单片机中片内和片外(随机)RAM的初始化的实际做法就是在程序一开始运行时就先把它们全清成0或你所想要的一个特定值(这主指对专用寄存器的设置),以便你在后面程序中再使用它们时方便而不出错。

单片机复位入口是什么意思
复位以后指令寄存器的值就是复位入口地址。一般单片机复位后PC=0000H 也就是说单片机从0000H开始取指令、译码、执行,然后取下一个指令并译码执行,周而复始。单片机会做的其实就是取指令,翻译指令形成控制时序,执行指令。 然后周而复始地执行。建议你可以看看汇编程序以及对应的Hex文件就会明白 ...

51单片机复位后各寄存器状态是怎样的
1. 单片机复位后,程序计数器(PC)的状态为0000H,这意味着程序将从0000H地址单元开始执行。2. 单片机在冷启动后,片内RAM的状态为随机值。运行中的复位操作不会改变片内RAM区中的内容。3. 21个特殊功能寄存器在复位后的状态是确定的。这些寄存器的状态对于理解单片机的初始状态至关重要,因此在编写...

求大神帮解释一下这段汇编!为什么ORG0000H,有的时候是0100H??
一般的单片机上电后,程序从 0000H处开始运行。可能也有从特定地址开始的。程序中 ORG 0000H,代表以下程序代码从这个地址开始存放。由于单片机中有很多固有资源(比如中断)占据了一部分特殊的地址,所以这些特别的地址是不能放普通程序的。所以就有了 AJMP MAIN 和 ORG 30H。

上电复位后,单片机如何找到需要执行的第一条指令
上电复位后,不同品牌的单片机执行的第一条指令的地址是不同的。如51单片机,复位后,指令指针PC=0000H,即要求你编程的第一条指令放在0000H处。如PIC单片机复位后,指令指针PC=FFFH,即要求你编程的第一条指令放在0000H处。你明白了吗?

关于51单片机和62256的问题,急急!!!
首先,你是做扩展的,CE不就是外部RAM的片选端,你接地怎么能选择到外部RAM,若是你只扩展一个外部RAM就接p2.7,若是比较多就再接一个二四译码器就行了。单片机执行程序都是从00000000开始的,一般在开始的位置有跳转指令,让地址指针到你想要的位置,然后再按照你的程序执行,6264也差不多的 ...

相似回答