微机原理与接口技术-电子教案-李云强 第5章 汇编语言程序设计.ppt

微机原理与接口技术-电子教案-李云强 第5章 汇编语言程序设计.ppt

  1. 1、本文档共190页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术 主 编 李云强 第5章 汇编语言程序设计 5.1 汇编语言的特点 1 汇编语言: 汇编语言(ASSEMBLY LANGUAGE)是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符来表示操作码,用标识符号来表示操作数地址码。 2 汇编语言程序特点: (1)与机器相关 (2)执行效率高 (3)编程复杂 5.2 汇编语言程序结构和基本语法 5.2.1 示例程序 例5-1: 这是一个完整的汇编语言程序,功能:求C=A+B(A、B、C均为字节数据)。 DATA SEGMENT ;定义段DATA A DB 12H ;定义变量A,其值为12H B DB 34H ;定义变量B,其值为34H C DB ? ;定义变量C,但没有赋值 DATA ENDS ;DATA段定义结束 CODE SEGMENT ;定义段CODE ASSUME CS:CODE, DS:DATA ;规定DATA、CODE分别为数据段和代码段 START: MOV AX,DATA ;用标号START指明程序执行的起始点 MOV DS,AX ;给数据段寄存器DS赋值 MOV AL,A ;将变量A的值送入寄存器AL ADD AL,B ;将AL的值与变量B的值相加,并将其和存入AL MOV C,AL ;将AL的值送给变量C MOV AH,4CH INT 21H ;调用DOS中断,退出程序并返回DOS状态 CODE ENDS ;CODE段定义结束 END START ;整个源程序结束 从上例中可看出汇编语言源程序具有以下特点: 1. 汇编语言源程序由若干个段组成(完整的汇编语言源程序由数据段、代码段、附加段、堆栈段组成,其中代码段是不可缺少的),在代码段中用ASSUME伪指令将段地址与段寄存器的对应关系告诉汇编程序,每个段以SEGMENT语句开始,以ENDS语句结束,整个源程序以END结束。 2. 段由若干语句组成,一条语句一般写在一行上,书写时语句的各部分应尽量对齐。 3. 汇编语言程序中至少要有一个启动标号,作为程序开始执行时目标代码的入口地址。启动标号常用START、BEGIN等命名。 4. 为增加程序的可读性,可在汇编语言语句“;”后加上注释。 5. 为保证在执行过程中数据段地址的正确性,在源程序中需要对DS寄存器进行初始化。 6. 为了在程序结束时返回DOS,一般通过调用DOS中断的4CH子功能来实现。 5.2.2 基本概念 2.汇编语句使用说明 ⑴标号和名字称为标识符,汇编语言中标识符的组成规则如下: 1)标识符由字母、数字及规定的特殊符号(如 _、$、?、@)组成; 2)标识符必须以字母打头; 3)标识符字符长度不得超过31; 4)默认情况下,汇编程序不区别标识符中字母的大小写; 5)用户定义标识符必须是唯一的,且不能与汇编语言专用的保留字重名。 ⑵标号用来指向一条指令或宏指令,表示后面的指令第一个字节存放的内存 地址,标号常作为转移指令的操作数,确定程序转移的目标地址;名字用 来指向一条伪指令,用作变量名时,表示变量存放在内存中首字节的地址。 ⑶名字和标号都具有3种属性: 1) 段属性:表示标号或变量所在段基址,标号的段基址在CS段寄存器中, 变量的段基址在DS或ES中; 2) 偏移属性:表示标号或变量所在的段内偏移地址,它代表从段的起始地址 到定义标号或变量的位置之间的字节数,段基址和偏移地址组成标号或变 量的逻辑地址; 3) 类型属性:当标号作为转移类指令的操作数时,可在段内或段间转移,其 属性有NEAR(段内转移)和FAR(段间转移)2种,若没有对标号进行 类型说明,就默认为NEAR属性;对于变量,类型属性说明变量在内存中 占多少个字节,其属性有BYTE(字节)、WORD(字)、DOUBLE WORD(双字)3种。 ⑷ 指令的操作数可以是立即数、寄存器和存储单元;伪指令的操作数可以是 常数、变量名、表达式等;若有多个操作数时,操作数之间用逗号间隔。 ⑸ 由分号“;”后的部分为注释内容,用以增加源程序的可读性,汇编程序在翻 译源程序时将跳过该部分,对它们不做任何处理。 3.汇编语言中的常量与变量   ⑴常量:汇编中允许的常量有整数常量和字符串常

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档