




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASM-51宏汇编使用手册作者:佚名起源:不详录入:Admin更新时间:-7-2620:01:56点击数:2【字体:】A51与ASM51基本相同ASM-51宏汇编主要用来开发Inter8051系列单片机,它具备宏处理,数据处理,列表处理和条件处理等多个功效。源程序编写完全采取Inter标准助记符和行格式。在编写程序过程中,可借助于文本编辑(Windows记事本)或文字处理软件Word等编辑,经ASM-51汇编后生成列表输出文件(.LST)和目标代码文件(.HEX)。此目标代码文件(.HEX)可直接用CZS-51或MedWin、Keil、Debug8051进行模拟/调试,或直接用于硬件仿真器上运行。当然,这也是要烧写到单片机ROM中代码。1、宏汇编语言基本语法1、1宏汇编特点ASM-51宏汇编完全支持Inter助记符汇编语言,它含有宏语句,英文大小写字母,变量名,标号等不受限制,有二,十,十六进制和串参数类型,有汇编控制指令和多层条件语句,程序逻辑分段,还有模块化程序设计连接功效,汇编速度快等特点。1、2汇编处理过程(1)用行编辑EDLIN或文字处理软件WS或全屏幕编辑软件PE等,编辑宏汇编语言源程序,它文件扩展名为。ASM。(2)用ASM-51宏汇编程序对上述源程序文件进行汇编,产生扩展名为.LST列表输出文件和扩展名为.HEX目标代码文件(.HEX)。列表输出文件包含源程序语句所汇编成代码,以及关于地址,语句和符号表等。目标代码文件包含源程序语句所汇编成代码,不包含任何符号信息或助记符。进行模拟/调试,或直接用于硬件仿真器上运行。1、3语句汇编语言可分为两类语句:指令性语句和指示性语句。(1)指令性语句这一类语句是指在汇编过程中能生成指令代码语句(如MOV,DEC等)。其格式为:[标号:][指令助记符][操作数][;注释]其中方括号[]中为选择项。下同。(2)指示性语句这一类语句即通常所说伪指令,它指示汇编程序后面指示性语句怎样产生代码。ASM-51宏汇编完全支持Inter助记符汇编语言,所以汇编程序格式,指令完全与8051汇编语言一样,这里不再介绍它们指令系统。1、4常量与数值运算(1)常量及其表示常量,就是在汇编时已经确定值。在汇编语言中,常量主要用作指令性语句中直接操作数,也可用于存放器操作组成部分(如位移量),或者为伪指令中变量输初值。为便于程序设计,常量有多个表示形式:二、十、十六进制数和字符串等,它们格式各不相同,并采取不一样基数标识加以区分。表--1列出其格式。表--1数据形式格式取值范围例如备注2进制********B0,110011100B10进制******0,1,2...945723缺省基数标识16进制****H0,1...E,F0CDE3H最前面一个字符应是0--9ASCII‘**‘ASCII‘AD‘只有DB命令中使用常量以数值形式直接写在汇编语言语句中称为字面常量,若预先为它定义一个符号名,然后在语句中用符号名来表示该常量称符号常量。使用符号常量优点可改进程序可读性,它定义需要使用伪操作命令"EQU"或“=“。(2)数值运算宏汇编中,全部参数值均被认为是整数,并以16位形式存放,表示范围是065535,全部算术操作均对整数以补码形式运算。(1)基本运算汇编语言对常量允许进行算术运算,逻辑运算,分离运算等三种类型运算。如表--2所表示。表--2基本运算运算操作含义以ADD为例算+加操作ADDA,R1+36减操作ADDA,R1-2EH乘操作ADDA,R1*0E3H术/除操作ADDA,R1/23MOD模除ADDA,R1MOD12SHR右移ADDA,R1SHR3SHL左移ADDA,R1SHL2逻AND与操作ADDA,R1AND10000101BOR或操作ADDA,R1OR00110000BXOR异或操作ADDA,R1XOR36H辑NOT非操作ADDA,NOT45H分HIGH高字节分离ADDA,HIGH05E2H离LOW低字节分离ADDA,LOW77F0H说明:R1为符号常量。(2)综合运算综合运算规则1:计算表示式时,全部运算全部从左到右次序进行,碰到操作数就进行运算,不考虑优先关系,括号有利于视觉了解,但不改变表示式?计算次序。比如:R1SETNOT(0C5FHOR000CH)其结果应为0F3ACH。综合运算规则2:当两个操作数之间没有参数相隔时,第二个操作符优先于第一个操作符计算。比如:R1SETNOT10011010B其结果应为65H。1、5程序分段8051系列处理器结构,把内存分成五个独立内存段,即代码段(段名CSEG),数据段(段名DSEG),外部段(段名XSEG),功效段(段名FSEG)和位段(段名BSEG)等。各个段在源程序中次序能够任意,段数目能够依照需要确定,标准上不受限制。程序中全部段都必须用段名开头,段结束语句ENDS结束。1、6源文件源文件是由汇编语言代码和汇编程序指令组成ASCII字符文件,扩展名为。ASM。源文件每一语句行,最多有四个域。每一行长度不超出80个字符,且以“回车“键结束。1、7列表输出文件和目标代码文件(1)目标代码文件(.HEX)目标代码文件(.HEX)是ASCII文件,它只包含由各种程序语句所生成代码,而不包含任何信息或助记符。该文件是能够在处理器上运行实际机器指令码。目标代码文件格式以下::ccaaaattddaaddss<CR>计数器数据类型统计地址回车统计地址代码字节和校验目标代码文件(.HEX)每一行以一个冒号开始,后面跟着数字和符号分别表示十六进制数据计数器(cc),统计第一个数据字节16位地址(aaaa),目标统计数据类型(tt),代码实际字节(dd),计数器从第一个数据字节到最终全部字节值累加和相反数即和校验(ss)等等。(2)列表输出文件(.LST)列表输出文件也是个ASCII文件,它由源程序和目标代码文件组成,可作为程序文档也可被打印。列表输出文件是分页显示,打印,其长度由缺省值或伪指令$PAGE决定。每页一开始指出汇编程序类型,版本以及页号等。2、伪操作指令汇编语言中指示性语句(伪指令),不象指令性语句会产生目标代码,它主要是用来“控制指挥“汇编程序怎样把指令性语句翻译成目标代码。除本身伪指令申请分配一部分存贮空间作数据区和堆栈区外,不产生任何目标代码。按照它们功效,大致分成七类:符号定义伪操作,段定义伪操作,数据定义崐伪操作,列表伪操作,条件伪操作,宏处理伪操作以及其它操作等。如表--3所表示。表--3伪操作指令序号分类伪操作指令符号定义伪操作EQU,=,DATA,BYTE,WORD,BIT,SET段定义伪操作ORG,END,CSEG,DSEG,XSEG,FSEG,ENDS数据定义伪操作DB,DW,DS列表伪操作$TITLE,$SUBTTL,$PAGE,$LIST,$NOLIST,$NOCODE条件伪操作IF,ELSE,ENDIF宏处理伪操作MACRO,ENDM其它ALTNAME,INCLUDE2、1符号定义伪操作符号定义伪操作及其格式:符号名符号定义名常量或表示式其中符号定义名能够为EQU,=,DATA,BYTE,WORD,BIT,SET等。下面就是这些符号定义伪操作使用方法及说明。如表--4所表示。表--4符号定义伪操作符号定义名用法说明EQU为常量,符号名等定义符号化常量名符号名不能重名定义=为常量,符号名等定义符号化常量名符号名不能重名定义DATA用来为一个字节类型符号定值符号名不能重名定义BYTE用来为一个字节类型符号定值符号名不能重名定义WORD用来为一个字类型符号定值符号名不能重名定义8051中没有字操作BIT用来定义一个字位类型SET用来定义整数类型符号名符号名可重名定义DATA与BYTE区分:DATA与BYTE是相类似伪指令。当程序运行到DATA伪指令定义符号名时,该符号名将被显示;而由BYTE定义符号名不被显示。2、2段定义伪操作(1)ORG用于设置或改变程序计数器值。其格式为:ORG常数或表示式比如:ORG0008HORG$+5其中$表示程序计数器当前值。(2)END表示源代码结束。其格式为:END常数或表示式汇编程序碰到END语句即停顿运行。若程序中没有END,则在汇编源程序时显犯错(3)8051系列处理器把内存结构分成五个段,代码段CSEG,数据段DSEG,外部段XSEG,功效段FSEG和位段BSEG等,其使用方法及区分如表--5所表示。在汇编以上各段所定义符号时,系统依照符号所在不一样段,赋与不一样类型字母,如表--6所表示。2、3数据定义伪操作数据定义伪操作格式:[标号:]数据定义名[表示式1,表示式2,。。。]其中数据定义名可为DB,DW,DS等。如表--7所表示,数据定义伪操作含义及说明。表--5段定义伪操作段用法及区别代码段(CSEG)包含由处理器所执行程序。段名可缺省。有目标代码生成。数据段(DESG)由内部工作存放器处理器RAM组成。用来对程序使用数据地址赋符号名,大多以ORG,DATA,BYTE,WORD,EDNS等组成。无目标码生成。外部段(XSEG)由外部工作存放区和RAM组成。使用方法同数据段。无目标码生成。功效段(FSEG)由特殊存放器位置组成(如:输入/输出部件,计时器,中止控制和连续存放器部件接口等)。无目标代码生成。位段(BSEG)由一些独立位组成,能够用布尔函数实现。该段地址被解释为位地址。无目标代码生成。表--6程序分段类型符号段标号(Label)字节型操作数(Byte)字型操作数(Word)代码段CSEGLDW数据段DSEGDDW外部段XSEGXXE功效段FSEGFFG位段BSEGBBB说明:(1)在不一样段中类型符号不一样;(2)字节型操作数(Byte)通常经过DATA指令赋给符号;字型操作数通常经过WORD指令赋给符号;(3)假如各段中用BYTE赋值,则在各段中符号全以S表示;在SIM51模拟/调试中符号区显示功效中,对BYTE赋值将被跳过。(4)在各段中,位类型能够用BIT指令赋给。表--7数据定义伪操作数据定义名含义说明DB用于定义一个字节包含值表示式不是字符串时,每个表示式赋给一个字节,是字符串时,用单引号“‘“作为分隔符。DW用于定义一个字(16位)每个表示式占16位。假如表示式中存贮内容为字符串,只取最终两个字符。若字符串只有一个字符,高字节置“0“。DS定义一个存贮区通惯用在代码段中,作为程序一部分。若用在数据段,外部段,则作为位置标志使用。表--8列表伪操作伪指令含义及格式说明$TITLE给源程序指定一个标题标题不加““,其最大长度格式:$TITLE[标题行]60个字符。若标题行省略,原来定义标题行作废。$SUBTTL给源程序指定一个副标题副标题不加““,其最大长格式:$SUBTTL[副标题行]度60字符。若副标题行省略,原来定义副标题行作废。$PAGE用于形成或定义新一页或行数汇编时页长为66行(适合于格式:$PAGE[表示式]标准打印纸)。表示式最大为65535,最小为12,表示式缺省,则从新一页开始。$LIST使源程序汇编时,产生程序清单汇编时无此指令照样产生清单。格式:$LIST$NOLIST使源程序汇编时不产生程序清单格式:$NOLIST$NOCODE源程序汇编时,条件汇编程序值没有此指令汇编时,不论其值是为假不产生清单。真、假条件都不产生目标码。格式:$NOCODE2、4列表伪操作如表--8所表示,列表伪操作含义,格式及说明。2、5条件伪操作条件伪操作格式:IF表示式[程序块1][ELSE][程序块2]ENDIF当IF指令中表示式为真时,被汇编代码段是程序块1;当IF指令中表示式为假时,被汇编代码段是程序块2。在一个条件结构中,仅有一个代码段被汇编,其它则被忽略。2、6宏处理操作在源程序中,假如有一段程序需要数次使用,为使程序不重复书写这段程序,可用宏定义把所需要重复出现程序块定义成宏指令,今后在宏指令出现地方,宏汇编程序总是自动地把它们替换成对应代码段。(1)宏指令格式[宏指令名]MACRO[形式参数,。。。]代码段ENDM在宏定义中,使用了“形式参数“,它们引用宏指令时被给出一些名字或数值(实在参数)所替换。使用形式参数给宏指令带来了很大灵活性。(2)宏调用格式[宏指令名][实在参数,。。。]注意:1、当有两个以上实参数时,它们之间要用逗号,空格或列表符隔开。2、实参数项将对应替换宏指令中形式参数。假如形式参数为标号时,则在宏调用中,实参也应为标号,且要求实参是唯一。假如宏定义中有自己标号,则在宏调用时,汇编程序自动地把标号变成唯一标号。2、7其余(1)替换名ALTNAME功效:这一伪指令用来自定义名字,以替换源程序中原来保留字,替换保留字均可等效地用于子程序中。格式:ALTNAME保留字自定义名注意:自定义名与保留字之间首字符必须相同。(2)附加文件链结INCLUDE功效:利用此伪指令可将一个源文件插入到当前源文件中一起汇编,最终成为一个完整源程序。格式:INCLUDE[驱动器名:][路径名]文件名注意:1、文件名中若没有扩展名,则系统默认是。ASM(该文件必须是能打开)。2、被插入源程序中不能包含END伪指令,不然汇编会停顿运行。被链接文件每一行,在程序清单中以“I“开头。3、链接伪指令可有8级嵌套,若要求嵌套多,则要修改DOS中CONFIG。SYS文件FILES参数。宏汇编运行3、1系统运行环境ASM-51宏汇编要在IBM-PC及其兼容机上运行(最少128K字节RAM);具备一个软驱动器或硬驱动器,采取ANSI标准终端(包含键盘,显示控制器,打印机,最少一个RS-232异步通讯接口)。软件有PC-DOS,MS-DOS2。0以上版本,ASM_51系统。3、2宏汇编程序运行以8051宏汇编为例,在DOS系统提醒符下键入A>ASM51文件名。ASM<CR>等错误个数出现后,键入<CR>变返回到DOS提醒符下。8051宏汇编与此相同。汇编使用使用ASM-51宏汇编是将8051源程序汇编生成列表输出文件和目标代码文件,供模拟/调试时使用。我们使用宏汇编完全采取Inter标准助记符和行格式,所以在编写源程序时,能够使用宏汇编中伪指令,以增加源程序运行速度和可读性。也能够直接用Inter标准助记符来编写源程序。再经过ASM-51宏汇编进行汇编,便可得到列表输出文件和目标代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西事业单位笔试真题2025
- 公考安徽真题2025
- 2025年宜兴市事业单位考试真题
- 农发行抚州市临川区2025秋招小语种岗笔试题及答案
- 2025年乡村旅游发展报告:文旅融合视角下的乡村旅游与乡村旅游与乡村旅游规划
- 2025年食品安全追溯技术在食品行业食品安全信用体系建设中的应用报告
- 平硐盲竖井开拓课件
- 2025年新能源汽车充电桩智能化升级改造技术报告
- 往年统招试卷真题及答案
- 2025网络文学IP产业链全链路开发模式创新与价值实现路径研究
- 如何为幼儿创造安全感减轻分离焦虑症状
- 梁湘润《子平基础概要》简体版
- 基金考点大全及详解双色考点
- 全文版曼娜回忆录
- 慢性病的健康生活方式知识讲座
- 企业文化与价值观培训课件
- 能源托管服务投标方案(技术方案)
- 心梗支架术后护理查房
- 人工智能助力政务服务
- 我的家乡湖北孝感介绍
- 全科医学的诊疗思维模式介绍
评论
0/150
提交评论