微机原理 第五章-汇编语言程序设计.ppt
文本预览下载声明
《微机原理与接口技术》;第5章 汇编语言程序设计;§5.1 汇编语言的特点;§5.2 汇编语言程序结构和基本语法;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 ;整个源程序结束; 汇编语言源程序由若干个段组成(完整的汇编语言源程序由
数据段、代码段、附加段、堆栈段组成,其中代码段是不可缺少
的),在代码段中用ASSUME伪指令将段地址与段寄存器的对应
关系告诉汇编程序,每个段以SEGMENT语句开始,以ENDS语
句结束,整个源程序以END结束。
段由若干语句组成,一条语句一般写在一行上,书写时语
句的各部分应尽量对齐。
汇编语言程序中至少要有一个启动标号,作为程序开始执
行时目标代码的入口地址。启动标号常用START、BEGIN等命
名。
为增加程序的可读性,可在汇编语言语句“;”后加上注释。
为保证在执行过程中数据段地址的正确性,在源程序中需要
对DS寄存器进行初始化。
为了在程序结束时返回DOS,一般通过调用DOS中断的4CH
子功能来实现。;§5.2 汇编语言程序结构和基本语法; 即可执行语句(即第4章中介绍的处理器指令系统),在汇编后要产生对应的目标代码,CPU根据这些代码执行相应的操作。
格式:
[标号:] 指令助记符 [操作数] [;注释]
举例:
START: MOV AX,DATA ;用标号START指明程
;序执行的起始点; 即不可执行语句,在汇编中不产生目标代码,用于指示汇编程序如何汇编源程序,利用它定义和说明常量和变量的属性及存储器单元的分配等。
格式:
[名字] 伪指令助记符 [操作数] [;注释]
举例:
A DB 12H ;定义变量A,其值为12H; 即以一个宏名定义的一段指令序列,在汇编中凡是出现宏指令语句的地方,都会有相应的指令语句序列的目标代码插入。
格式:
[标号:] 宏名 [实参表] [;注释];标号和名字称为标识符,汇编语言中标识符的组成规则如下:
标识符由字母、数字及规定的特殊符号(如 _、$、?、@)组成;
标识符必须以字母打头;
标识符字符长度不得超过31;
默认情况下,汇编程序不区别标识符中字母的大小写;
用户定义标识符必须是唯一的,且不能与汇编语言专用的保留字重名。
标号用来指向一条指令或宏指令,表示后面的指令第一个字节存放的内
存地址,标号常作为转移指令的操作数,确定程序转移的目标地址;名字用
来指向一条伪指令,用作变量名时,表示变量存放在内存中首字节的地址。
指令的操作数可以是立即数、寄存器和存储单元;伪指令的操作数可以
是常数、变量名、表达式等;若有多个操作数时,操作数之间用逗号间隔。
由分号“;”后的部分为注释内容,用以增加源程序的可读性,汇编程序
在翻译源程序时将跳过该部分,对它们不做任何处理。 ; 名字和标号都具有3种属性:
段属性:表示标号或变量所在段基址,标号的段基址在CS
段寄存器中,变量的段基址在DS或ES中。
偏移属性:表示标号或变量所在的段内偏移地址,它代表
从段的起始地址到定义标号或变量的位置之间的字节数,段基址
显示全部