- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
惠州学院215汇编语言复习
汇编语言(教材 王爽)期末考试复习:
考试题型:选择、填空、程序分析、编程题
重点复习课本的检测点1.1-3.2与课后实验1-14:
需要掌握的指令见后面附录
汇编语言主要知识点:
寄存器与存储器
1. 寄存器功能
. 寄存器的一般用途和专用用途
. CS:IP 控制程序执行流程
. SS:SP 提供堆栈栈顶单元地址
. DS:BX(SI,DI) 提供数据段内单元地址
. SS:BP 提供堆栈内单元地址
. ES:BX(SI,DI) 提供附加段内单元地址
. AX,CX,BX和CX寄存器多用于运算和暂存中间计算结果,但又专用于某些指令(查阅 指令表)。
. PSW程序状态字寄存器只能通过专用指令(LAHF, SAHF)和堆栈(PUSHF,POPF)进行存取。
2. 存储器分段管理
. 解决了16位寄存器构成20位地址的问题
. 便于程序重定位
. 20位物理地址=段地址 * 16 + 偏移地址
. 程序分段组织: 一般由代码段,堆栈段,数据段和附加段组成,不设置堆栈段时 则使用系统内部的堆栈。
3. 堆栈
. 堆栈是一种先进后出的数据结构 , 数据的存取在栈顶进行 , 数据入栈使堆栈向地址减小的方向扩展。
. 堆栈常用于保存子程序调用和中断响应时的断点以及暂存数据或中间计算结果 。
. 堆栈总是以字为单位存取
指令系统与寻址方式
1. 指令系统
. 计算机提供给用户使用的机器指令集称为指令系统,大多数指令为双操作数指令。执行指令后,一般源操作数不变,目的操作数被计算结果替代。
. 机器指令由CPU执行,完成某种运算或操作,8086/8088指令系统中的指令分为6类: 数据传送,算术运算,逻辑运算,串操作,控制转移和处理机控制。
2. 寻址方式
. 寻址方式确定执行指令时获得操作数地址的方法
. 分为与数据有关的寻址方式(7种)和与转移地址有关的寻址方式(4)种。
. 与数据有关的寻址方式的一般用途:
(1) 立即数寻址方式--将常量赋给寄存器或存储单元
(2) 直接寻址方式--存取单个变量
(3) 寄存器寻址方式--访问寄存器的速度快于访问存储单元的速度
(4) 寄存器间接寻址方式--访问数组元素
(5) 变址寻址方式
(6) 基址变址寻址方式
(7) 相对基址变址寻址方式
(5),(6),(7)都便于处理数组元素
. 与数据有关的寻址方式中,提供地址的寄存器只能是BX,SI,DI或BP
. 与转移地址有关的寻址方式的一般用途:
(1) 段内直接寻址--段内直接转移或子程序调用
(2) 段内间接寻址--段内间接转移或子程序调用
(3) 段间直接寻址--段间直接转移或子程序调用
(4) 段间间接寻址--段间间接转移或子程序调用
汇编程序和汇编语言
1. 汇编程序
. 汇编程序是将汇编语言源程序翻译成二进制代码程序的语言处理程序,翻译的过程称为汇编。
2. 汇编语言
. 汇编语言是用指令助记符,各种标识变量,地址,过程等的标识符书写程序的语言, 汇编语言指令与机器指令一 一对应。
. 伪指令,宏指令不是由CPU执行的指令,而是由汇编程序在汇编期间处理的指令。
. 伪指令指示汇编程序如何完成数据定义,存储空间分配,组织段等工作。
. 宏指令可简化程序并减少程序书写量。
. 条件汇编伪指令的功能是确定是否汇编某段源程序,而不是实现程序分支,对未汇编的程序将不产生相应的目标代码。
. 结构作为一种数据结构可将一组类型不同但有逻辑关联的数据组织在一起,便于 整体处理数据。
. 记录可用于提高存储单元的利用率,将若干不足一个字节或字且有逻辑关联的信 息压缩存放在一个字节或字中。
. 指令中的表达式在汇编期间计算,并且只能对常量或地址进行计算。
程序设计基础
1. 分支程序设计
. 程序分支由条件转移指令或无条件转移指令实现
. 存放若干目的转移地址或跳转指令的跳转表常用于实现多路分支
. 条件转移指令只能实现偏移量为-128至+127字节范围的转移
. 无条件转移指令根据寻址方式可实现短转移(偏移量为-128至+127字节),段内转 移,段间转移。
2. 循环程序设计
. 可由循环控制指令或条件转移指令组织循环结构
. 内层循环结构必须完全包含在外层循环结构内,并不能发生从循环结构外向循环 结构内的转移。
3. 子程序设计
. 子程序中应保护寄存器内容,并正确使用堆栈, 成对执行PUSH和POP指令,保证执行RET指令时堆栈栈顶为返回地址。
. 主程序可通过寄存器,参数表,或堆栈传递参数给子程序
4. EXE文件和COM文件
. 二者都是可执行文件
. COM文件源程序的特点是: 第一条可执行指令的起始存放地址必须是100H,不能分段,不用定义堆栈,所有过程为NEAR类型,直接用INT 20H 指令返回DOS。
5. DOS功能调用与B
文档评论(0)