微机原理与接口技术 知识_第三章II汇编语言程序设计.ppt

微机原理与接口技术 知识_第三章II汇编语言程序设计.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

youngyu0329 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档