ORG指令
ORG是Origin的缩写:起始地址,源。在汇编语言源程序的开始通常都用一条ORG伪指令来实现规定程序的起始地址。如果不用ORG规定则汇编得到的目标程序将从0000H开始。例如:
             ORG 2000H   
   START:MOV  AX,#00H

汇编语言源程序中若没有ORG伪指令,则程序执行时,指令代码被放到自由内存空间的CS:0处;若有ORG伪指令,编译器则把其后的指令代码放到ORG伪指令指定的偏移地址。两个ORG伪指令之间,除了指令代码,若有自由空间,则用0填充。

预处理-->编译-->汇编-->链接,这是高级语言的编译全过程。对于纯汇编,就只有汇编和链接两个步骤。org指令是链接时使用的,不是汇编那一步使用的。即不是cpu的一条指令,而是给编译器看的伪指令。在51单片机、x86 dos、win32 exe中实现都有差异。以最简单的51单片机为例,编译器最终链接生成HEX文件,再烧录到51的rom中去。单片机很简单,没有x86的分段、分页,启动就是从rom的0x0的位置开始执行。同时0x30H位置开始存放中断向量,
所以单片机程序一般开头就是:  ORG 0000H  AJMP MAIN  ORG 0030H这里的ORG 0000H指令,使得程序链接成HEX文件时,AJMP MAIN这条指令的机器码就在HEX文件的0x0位置。这是链接器的工作。至于x86 dos和win32 exe,ORG的实现就复杂了,ORG不再是绝对定位,只能在一个段里相对定位。

汇编 - ORG指令详解相关推荐

  1. 汇编call指令详解_我也能写出雷军的的代码吗?最好的汇编语言入门教程在这里!...

    作者:阮一峰 链接:http://www.ruanyifeng.com/blog/2018/01/ 之前,嵌入式Arm曾经发送过一篇名<给跪了!来看看雷军 1994 年写的代码,经典老古董(附完 ...

  2. 汇编MOVSX指令详解

    MOVSX说明:带符号扩展传送指令   符号扩展的意思是,当计算机存储某一个有符号数时,符号位位于该数的第一位,所以,当扩展一个负数的时候需要将扩展的高位全赋为1.对于正数而言,符号扩展和零扩展MOV ...

  3. c语言将两个16位变为一个32位,16位汇编第六讲汇编指令详解第第三讲(示例代码)...

    16位汇编第六讲汇编指令详解第第三讲 1.十进制调整指令 1. 十进制数调整指令对二进制运算的结果进行十进制调整,以得到十进制的运算结果 2.分成压缩BCD码和非压缩BCD码调整 简而言之: 以前的时 ...

  4. arm-linux-ld中的参数,arm-linux-ld指令详解

    arm-linux-ld指令详解 我们对每个c或者汇编文件进行单独编译,但是不去连接,生成很多.o 的文件,这些.o文件首先是分散的,我们首先要考虑的如何组合起来:其次,这些.o文件存在相互调用的关系 ...

  5. call、ret、retf 指令详解

    call.ret.retf指令详解 本文讲解针对NASM编译器,8086处理器的call.ret.retf 指令.对于其他编译器和保护模式下的80x86,指令用法类似,可以作为参考. call指令 1 ...

  6. LDM与STM指令详解

    title: LDM与STM指令详解 date: 2019/2/26 17:58:00 toc: true --- LDM与STM指令详解 指令形式如下,这里的存储方向是针对寄存器的 Load Mul ...

  7. 九爷带你了解 nginx 日志配置指令详解

    nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...

  8. movsb movsw movsd 指令详解

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u013490896/article/d ...

  9. java中Freemarker list指令详解

    java Freemarker中list指令主要是进行迭代服务器端传递过来的List集合. 定义 <#list nameList as names> ${names} </#list ...

最新文章

  1. 强化学习与深度,神经网络的结合随记
  2. MyBatis 与Spring 整合分析
  3. 时间序列分析之:傅里叶变换找周期
  4. 有没有更好的Marker方法?
  5. 无心剑英译林清玄《永恒》
  6. 属性匹配工具_k8s包管理工具Kustomize实战手册
  7. minSdkVersion、maxSdkVersion、targetSdkVersion、target释义
  8. centos编译安装vim7.4
  9. 算法分析与设计-线性时间选择详解(通俗易懂,含图解,附源码)(c++)
  10. 精进:如何成为一个很厉害的人--作者:采铜
  11. 深度学习硬件加速综述写作心得
  12. Ubuntu 18.04 无法上网
  13. MongoTemplate根据时间查询的大坑
  14. 解除IIS文件下载限制
  15. APP手机测试-理论
  16. ie css 图片边框颜色,CSS-在Chrome / IE9中删除图片边框
  17. 奇葩!小米手机自带浏览器css兼容问题,强制屏蔽、隐藏类名为 top_box 的元素。
  18. JavaScript——JSON
  19. 了解 TCP 系统调用序列
  20. hihocoder 1246 王胖浩与环

热门文章

  1. hdu1722 切蛋糕
  2. 【C 语言】字符串模型 ( 两头堵模型 )
  3. 【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: E402 module level import not at top of file )
  4. 【错误记录】发布 Flutter 插件包报错 ( Failed to upload the package.pub finished with exit code 1 )
  5. 【Android 安全】DEX 加密 ( 代理 Application 开发 | 项目中配置 OpenSSL 开源库 | 使用 OpenSSL 开源库解密 dex 文件 )
  6. VirtualBox——在Win7的HOST上安装配置虚拟机CentOS7
  7. Easyui textbox 组件设置css样式
  8. ESPCMS基本导航操作
  9. PHP创建XML文件讲解
  10. Core Text 入门