第4章:)汇编语言程序设计分解.pptx

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口 汇编语言程序设计 汇编语言 使用指令的助记符、符号地址和标号等编写的程序设计语言称为汇编语言 实际上是机器语言的符号表示(一一对应) 应用系统提供的汇编语言,按照规定的语法规则编写的程序称为汇编语言源程序(ASM) 将汇编语言源程序经过汇编得到目标程序(OBJ) 目标程序经过连接程序连接后才能转换成机器上可执行的程序(EXE) 分为:指令语句和伪指令语句 指令语句 标号:指令助记符 操作数 ;注释 标号表示该指令的符号地址,常作为转移指令的操作数,标号后必须加“:” 可以用作标号的字符包括英文字母、数字或某些特殊字符 第一个字符必须为英文字母或某些特殊字符 圆点“.”只能用作第一个字符 特殊字符不能单独用作标号 系统中已定义的保留字不能作标号 指令助记符是指令语句中唯一不可缺少的部分,它表示指令系统中指令的操作码 操作数:可以有1个或2个或没有 可以由常数、字符或字符串、变量、标号、寄存器和表达式等组成 使用BCD码做操作数的指令,其后面一定要紧跟一条调整指令,以便将运算结果调整成BCD数 不加后缀的数默认为10进制 A~F开头的数前面要加数字0 字符串和字符要用单括号括起来 注释:前面必须加“;” 6 标号:是机器指令语句存放地址的符号表示,也可以是子程序名,即子程序入口地址的符号表示;在代码段中定义和引用。 标号的属性: ①标号的段属性:标号的段属性是指定义该标号所在段 的段首址。 ②标号的偏移地址:标号的偏移地址是指它所在段的段 首址到该标号所代表存储单元的字节距离。 ③标号的类型: 分NEAR(近)和FAR(远)两类型,近 标号在定义该标号的段内使用,远标号无此限制。 伪指令语句 又称指示性语句,没有对应得机器码,不能让CPU执行,仅在汇编过程中完成某些特定的功能 格式:名字 伪指令指示符 操作数 ;注释 名字是给伪指令语句起的名称,用符号地址表示,名字的格式要求与标号类似,也可以省略,有些语句不能省略,名字后面不能跟“:” 伪指令指示符: ·变量定义伪指令: DB, DW, DD,… ·符号定义伪指令: EQU, =, NAME ·段定义伪指令: SEGMENT, ENDS ·段分配伪指令:ASSUME ·过程定义伪指令: PROC … ENDP ·程序结束语句:END 8 常量 C语言中的常量定义:#define pi=3.1415926 常量的基本概念:汇编时已有确定的数值的量(不是程序运行的时候才能确定的) 。 ●用途: . 机器指令语句中的立即操作数; . 也可作存贮器操作数的组成部分(位移量V); . 在数据定义伪指令语句中给变量赋初值; ● 分类: 数值常量、符号常量 9 符号常量的定义: 等价伪指令 EQU 等号伪指令 = 使用:定义后直接引用符号名。 注意: ①符号常量不分配存贮单元,只建立等价代换关系, 可出现在任何段。 ②用EQU语句定义的符号常量在该程序中不能再重新赋值,而用“=”定义的符号常量可多次重新赋值,使用时,以最后一次定义的值为准。 特点: ① 在汇编期间被代换成相应等价的数据; ② 提高程序的可读性; ③ 便于随时修改程序中的参数。 10 数值表达式:常量与运算符(算术运算、逻辑运算、关系运算)组成的有确定意义的式子。 ①算术运算 +、–、*、/、MOD(模除, 取余数)、SHR(右移)、SHL。 移位的特别说明:表示将二进制常量右移或左移运算符右边所规定的次数(正整数),所空出的位数均补0。 ②逻辑运算 逻辑乘:AND (与) 逻辑加:OR (或) 按位加:XOR (异或) 逻辑非:NOT (非) ③关系运算 相等: EQ 不等: NE 小于: LT 大于: GT 小于等于: LE 大于等于: GE 结果为:0 (关系不成立)或者0FFFFH (关系成立) 数值表达式的运算时机 汇编期间进行,运算的结果为一数值常量,汇编程序将数值表达式直接替换为结果数值常量。 MOV AX, 1+2 变量的定义 一般在数据段或附加数据段中使用数据定义伪指令 DB、DW、DD、DQ和DT来定义 格式: [变量名] 数据定义伪指令 表达式[,…] 功能: 定义了一变量,

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档