Q:
很多程序都是这种结构,如,
ORG 0000H
AJMP MAIN
ORG 0030H
...
请问ORG何用,为什么要设置ORG 0030H?
A:
ORG是个用于定位的伪指令。简单的说就是把从这句话开始直到下一个ORG指令或者END指令前的程序语句都顺序放在它指定的地址里。比如说你的程序里ORG只管了一个语句(AJMP MAIN),则从0000h这个地址开始放语句。放多少,看下面有几条语句(直到org或end 指令为止)。
同样ORG 0030H是把它后面的所有到下一个ORG或END命令前的所有代码都顺序放到从0030H开始的程序单元。这应该是一个子程序。就像C语言里的子函数。
设置ORG 0030H的原因是因为在0030H 之前的一段地址空间还要有其它用途,见下面
——————————————————————————————
| 各中断源所对应的中断服务程序入口地址如下: |
| -----------------------------
| ORG 0003H ;外中断 0 中断程序入口地址 |
| ORG 000BH ;定时器 T