为什么很多主程序都设置地址从0030H开始运行?

程序设计中,通常在0030H地址开始运行主程序,以避免占用中断服务程序的入口地址。ORG伪指令用于定位代码,0030H之后的空间用于存放子程序或主程序。这样做有利于保留0000H到002BH的中断入口地址,便于未来可能添加的中断服务程序。因此,良好的编程习惯是将主程序始于0030H或更后面的地址。
摘要由CSDN通过智能技术生成

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

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值