【汇编语言ORG】关于ORG后面的值应该怎么确定?谢谢!

2024-12-16 09:26:46
推荐回答(4个)
回答1:

一般是用0100h或者往后的 ,因为0100前的有时候被占用 比如堆栈地址,中断 如果没有用到堆栈地址,中断的话从0000h开始也是可以的

回答2:

ORG ****H
是一条伪指令,其意思是程序从 ****H 的地址执行!
从哪个地方执行都可以.,只要程序码可以放的下.

回答3:

看你的需求。如果你确定加载地址启示在 200,那么就用org这个伪代码告诉编译器计算偏移要从200开始

回答4:

ORG是Origin的缩写:起始地址,源。在汇编语言源程序的开始通常都用一条ORG伪指令来实现规定程序的起始地址。
汇编语言源程序中若没有ORG伪指令,则程序执行时,指令代码被放到自由内存空间的CS:0处;在A51中指定。若有ORG伪指令,编译器则把其后的指令代码放到ORG伪指令指定的偏移地址。两个ORG伪指令之间,除了指令代码,若有自由空间,则用0填充。
单片机复位后,程序计数器PC的内容是0000H,故系统必须从0000H单元开始取指令来执行程序,0000H是系统的起始地址.

MCS51单片机复位后,PC地址是0000H,外部中断0是0003H,定时器中断0是000BH,外部中断1是0013H,定时器中断1是001BH,串行口中断是0023H,由于它们之间空间太小,不能容纳太多的程序。

所以,ORG后面都要跟一个跳转指令,如绝对跳转指令LJMP XXXX,短跳转指令AJMP XXXX.