汇编语言伪指令详解(附实例)
伪指令不是真正的指令,并没有与之对应的的机器码,不会被执行。伪指令所起的作用主要是对汇编过程进行控制。
常见的伪指令如下所示:
目录
(1)ORG———汇编起始指令
(2)END——汇编结束命令
(3)EQU——赋值指令
(4)DB——字节定义伪指令
(5)DW——定义字命令
(6)DS——定义存储空间指令
(7)BIT——位地址符号命令
(1)ORG———汇编起始指令
功能:规定该伪指令下面的目标程序的起始地址
格式:ORG 16位地址
举例:
ORG 0080H ;表示下面的程序从地址0080H开始
ST:……
ORG 0100H
……
- 注意:ORG命令按出现的顺序其后的地址必须增大,且不能重叠。否则编译器可能报错。比如上例中0100H就大于0080H。
(2)END——汇编结束命令
该伪指令是汇编语言结束的标志,对于在END之后的汇编指令不予处理。一个汇编程序可以有多个ORG伪指令,但是只可以有一个END指令,否则编译器会报错。
ORG 0000H ;单片机复位后便从0000H取指令
AJMP START ;跳转到程序的真正开始地址
ORG 0003H ;外部中断0的入口地址
AJMP SER_INT0 ;该指令用于跳转到外部中断0中断服务程序
ORG 000BH ;定时器中断入口
AJMP SER_TIMER0 ;跳转到定时器T0的中断服务程序
………………..
ORG 0030H
START: ………… ;程序的开始
…………
SER_INT0:
…………
RETI ;用于中断返回
SER_TIMER0:
…………
RETI ;用于中断返回
END ;汇编指令结束标志
(3)EQU——赋值指令
格式:字符名称 EQU 数或特定的符号
功能:将一个常数或一个特定的符号赋给规定的字符名称。当汇编程序遇到EQU前面的字符名称后,便会用EQU后面的数(或特定的符号)代替。
例如: CC EQU R1
DD EQU #11H
MOV CC,DD ;此指令与MOV R1,#11H一致。
注意:字符名称不是标号,后面不需要“:”。
(4)DB——字节定义伪指令
- 格式: 标号:DB 数据项 ;数据项之间用逗号隔开
- 功能:从该地址开始,在程序存储器中定义一串字节单元,并用数据项进行赋值。
例: ORG 0400H
TAB:DB 80H,95H,74H
则经过编译后,程序存储器中:(0040H)=80H,(0041H)=95H,(0042H)=74H。
- 该指令常常放在程序的最后,用于开辟表格。
(5)DW——定义字命令
- 格式:标号: DW 数据项
- 功能:从该地址开始,在程序存储器中定义一串字单元,并用数据项进行赋值。先存高字节,后存低字节,即:高字节放在低地址,低字节放在高地址。
例: ORG 0080H
TAB:DW 08H,7799H,1234H
经过编译后,程序存储器中:
(0080H)=00H,(0081H)=08H,
(0082H)=77H,(0083H)=99H,
(0084H)=12H,(0085H)=34H。
(6)DS——定义存储空间指令
- 格式:DS 表达式
- 功能:从该指令地址开始,保留DS之后表达式的值所规定的存储单元,以备后用。
例: ORG 0090H
DS 5
DB 50H
汇编后,从0090H开始保留5个存储单元,而(0095H)=50H
(7)BIT——位地址符号命令
- 格式: 字符名称 BIT 位地址
- 功能:将位地址赋予所规定的字符名称。
例 LEFT BIT P1.0
RIGHT BIT P1.1
汇编语言伪指令详解(附实例)相关推荐
- Windows WMIC命令使用详解(附实例)
第一次执行WMIC命令时,Windows首先要安装WMIC,然后显示出WMIC的命令行提示符.在WMIC命令行提示符上,命令以交互的方式执行执行"wmic"命令启动WMIC命令行环 ...
- cpu显示无效查询 wmic_Windows WMIC命令使用详解(附实例)
执行"wmic"命令启动WMIC命令行环境.这个命令可以在XP或 .NET Server的标准命令行解释器(cmd.exe).Telnet会话或"运行"对话框中 ...
- 汇编语言——伪指令详解
1 汇编语言的语句结构 1.1 标号名 1.1.1 定义: 标号(LABEL)是为一组机器指令所起的名字.标号可有可无,只有当需要用符号地址来访问该语句时,才给此语句赋予标号,以 : 作为结束符,其是 ...
- C# 事件详解附实例分析
一.定义 事件是两个对象间发布消息和响应后处理消息的过程,通过委托类型来实现的. 事件的机制被称为发布-订阅机制,其算法过程为:首先定义一个委托类型,然后在发布者类中声明一个event事件,同时此类中 ...
- php server(),php的$_SERVER参数详解(附实例)
$_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,包含文件夹路径与 document root相关. $_SERVER['argv'] #传递给该脚本的参数,返回数组形式 $_SE ...
- Android APP:Preference使用详解和实例(附源码)
Android APP:Preference使用详解和实例 一.Preference 是Android app中重要的控件之一,Settings 模块大部分都是通过Preference 实现的,这里将 ...
- OCR引擎Tesseract以及pytesseract详解及实例
OCR引擎Tesseract以及pytesseract详解及实例 目录 OCR引擎Tesseract以及pytesseract详解及实例 谷歌开源OCR引擎Tesseract Tesseract的安装 ...
- pandas dataframe缺失值(np.nan)处理:识别缺失情况、删除、0值填补、均值填补、中位数填补、加缺失标签、插值填充详解及实例
pandas dataframe缺失值(np.nan)处理:识别缺失情况.删除.0值填补.均值填补.中位数填补.加缺失标签.插值填充详解及实例 isnull().natna().isna().fill ...
- pandas dataframe数据聚合groupby、agg、privot基于sum统计详解及实例
pandas dataframe数据聚合groupby.agg.privot基于sum统计详解及实例 知道了sum.那么min.max.mean.median都是举一反三的事情了. 在日常的数据分析中 ...
- pandas数据索引之loc、iloc、ix详解及实例
pandas数据索引之loc.iloc.ix详解及实例 先来个总结: loc函数:通过行索引 "Index" 中的具体值来取行数据(如取"Index"为&quo ...
最新文章
- redis sentinel集群配置及haproxy配置
- React Native Expo开发的OW移动端项目
- 7项最佳实践助您利用媒体转换不断发展数据中心网络
- 网络营销——网络营销专员浅析不同企业之间的营销推广各有差异
- 顺序表的结构和9个基本运算算法
- 【Python】调用百度云API驾驶行为分析 Driver Behavior
- java+session+存在哪_JAVA中Session
- 关于一类docker容器闪退问题定位
- mysql 计划任务消耗_浅谈MySQL event 计划任务
- document.mozFullScreen
- 用iFrame遮挡DropDownList的方法
- 基于stc15f2k60s2芯片单片机编程(可调时钟)
- Toshiba e-STUDIO5616AC 一体机驱动
- 【PHP练习】每日词汇,随机产生10个单词,方便备考随时背诵(php+html+css)
- flash AS3常用公式
- 魅九网下载最新的android固件下载地址,iOS9固件下载地址一览 全设备下载地址...
- C++华为+阿里+鹅厂面经大盘点-如果换做你能成功吗?
- 笔记——setInterval()设置停止和循环
- 一行代码完成英文单词首字母大写转换,ABC、abc、aBC转换为Abc
- 短视频火热态势下,抖音短视频源码受到持续关注
热门文章
- VGG19识别CIFAR10数据集(Pytorch实战)
- java red5 流媒体服务_[Red5]Red5之Flash流媒体服务器的安装与使用教程完整版(组图)...
- ARCGIS拓扑检查步骤
- Latex:入门教程
- mac上安装和启动kafka
- S变换在特征提取中的使用
- python商品总数抹零_销售发货单
- unity3d贪吃蛇游戏源码,支持安卓+IOS双端 unity2019 C#语言开发
- Django 文件下载
- VS2019下载地址和安装教程(图解)