- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术 知识_第三章II汇编语言程序设计.ppt
微机原理与接口技术汇编语言程序设计;汇编语言程序设计;汇编语言基本概念;汇编语言基本概念;汇编语言基本概念;汇编语言中的语句;数据传送指令(14条)
;算术运算指令(20条);求反;串操作指令(10条);子程序调用;处理器控制指令(12条);指示性语句
功能:对程序的起止信息、分段情况、变量说明、内存结构等进行说明。
格式:
[名字] 伪操作指令 [参数,……,参数] [;注释]
PC宏汇编的伪指令
段定义伪指令:SEGMENT,ENDS,ASSUME,ORG等
符号定义伪指令:EQU,=
数据定义伪指令:DB,DW,DD,DQ,DT
过程定义伪指令:PROC,ENDP
宏处理伪指令:MACRO,REPT,IRPC
条件汇编伪指令:IF,ENDIF,IFDIF,IFDEF;每个语句由1~4个部分组成,其格式是:
[标识符] 指令助记符 [操作数] [;注释]
标识符:给指令或某一存储单元地址所起的名字。
可由下列字符组成: 字母:A ~ z ; 数字:0 ~ 9 ; 特殊字符:?、· 、@、一、$ 。
数字不能作标识符的第一个字符,而圆点仅能用作第一个字符;
标识符最长为31个字符;
当标识符后跟冒号时,表示是标号。它代表该行指令的起始地址;
当标识符后不带冒号时,表示变量;
伪指令前的标识符不加冒号。
指令助记符:表示不同操作的指令,可以是8086的指令助记符,也可以是伪指令。
操作数: 指令执行的对象。依指令的要求,可能有一个、两个或者没有。
注释:该项可有可无,是为源程序所加的注解,用于提高程序的可读性。 ;常量与数值表达式
常量
在汇编时已经确定的值。在指令中作为直接操作数,或者给变量赋初值
类型
数值常量:以数值的形式直接写在语句中
符号常量:预先为它定义一个名字,然后在语句中用名字来表示该常量(提高程序的可读性)
用 EQU 或 = 来定义
例:PORT EQU 83H
ALPHT = 35*21;数据形式;标号
标号是为一组机器指令所起的名字,用于程序转移指令、调用指令和循环指令的操作数(转向地址),一般在CS段内定义和使用。
标号的属性:段属性、偏移属性和类型
标号所处的代码段的段基址,称为该标号的段属性
标号所处的位置与段首地址之间的相对地址,称为该标号的偏移属性
形???一:标号
形式二:OFFSET 标号;汇编语言语句格式及组成;汇编语言语句格式及组成;变量——变量的定义及格式
变量是内存中一个数据区的名字,可以作为指令的存储器操作数来引用
变量定义的格式:
[变量名] 变量类型定义符 表达式 [,……] ;表达式——操作数和运算符组成的式子
算术运算符:+,-,*,/
逻辑运算符:NOT, AND, OR, XOR
关系运算符:
EQ ---- 相等
NE ---- 不相等
LT ---- 小于
GT ---- 大于
LE ---- 小于或等于
GE ---- 大于或等于;例: ARRAY DW 1, 2, 3
ADD SI, TYPE ARRAY;例: FEES DW 100 DUP (0)
MOV CX, LENGTH FEES;例: MOV BX, OFFSET OPR
汇编程序将OPR的偏移地址回送给BX,将该偏移地址装入BX寄存器中;汇编语言语句格式及组成;汇编语言语句格式及组成;指示性语句(说明性语句)
存储分配(数据定义)语句
数值表达式
如 3*20
? – 保留存储空间但不存入数据
例: ABC DB 0, ?, ?, 0
DEF DW ?, 52
存储空间分配如图所示
ASCII字符串
例: MESSAGE DB ‘HELLO’
存储空间分配如图所示; N DUP (?) – 重复因子n为正整数,表示数据项重复n次
例: ARRAY1 DB 2 DUP (0, 1, 2, ?)
ARRAY2 DB 100 DUP (?)
内存分配如图所示
N DUP ( 表达式 [表达式,……] )
例:
ARRAY3 DB 100 DUP ( 0, 2 DUP (1, 2), 0, 3);定义数据伪指令
DATA1 DB 20H
DATA2 DW 0240H,1000H
DATA3 DB (-1*3),(15/5)
DATA4 DD 12345H
DATA5 DB 0123
DATA6 DW AB,C,D
DATA7 DB ?
DATA8 DD ?
DATA9 DB 5DU
文档评论(0)