汇编语言期末复习要点

上传人:tian****1990 文档编号:74514987 上传时间:2019-01-28 格式:PPT 页数:27 大小:717.81KB
返回 下载 相关 举报
汇编语言期末复习要点_第1页
第1页 / 共27页
汇编语言期末复习要点_第2页
第2页 / 共27页
汇编语言期末复习要点_第3页
第3页 / 共27页
汇编语言期末复习要点_第4页
第4页 / 共27页
汇编语言期末复习要点_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《汇编语言期末复习要点》由会员分享,可在线阅读,更多相关《汇编语言期末复习要点(27页珍藏版)》请在金锄头文库上搜索。

1、8086汇编语言程序设计,1,一、数和编码 1. 汇编语言的数; 计算机认识的数和汇编语言认识的数; 常用进制数及之间的转换(2 / 10); 用“心”区分带符号数和无符号数; 补码和溢出判断。 2. 二进制位串、计算机编码和手指 ASC 码、BCD 码、汉字内码和 UNICODE; 数 / 码之间的转换。,汇编语言期末复习提要,8086汇编语言程序设计,2,8086汇编语言程序设计,3,带符号数的溢出判断: 同符号数相加当符号发生变化时即为溢出,此时OF=1。如: (A)10110011+11111101 (B)01110000+10111111 (C)00110001+00000100 (

2、D)00101111+01101111,8086汇编语言程序设计,4,如果(AL)=80H,执行指令CMP AL,24H后,以下结果中正确的是? (A)OF=0,SF=0 (B)OF=0,SF=1 (C)OF=1,SF=0 (D)OF=1,SF=1,8086汇编语言程序设计,5,又如(AL)=94H, 执行 ADD AL, 0A2H后,以下结果正确的是? (A)(AL)=36H,OF=0 (B)(AL)=36H,OF=1 (C)(AL)=94H,OF=0 (D)(AL)=94H,OF=1,8086汇编语言程序设计,6,无符号数的溢出判断: 有进位导致CF=1即为溢出,如: (A)0101001

3、1+01001100 (B)10110111+00100101 (C)11110011+00001101 (D)00110011+11001000,8086汇编语言程序设计,7,二、程序员眼中的计算机 1. 冯.诺伊曼计算机的内核模型:,8086汇编语言程序设计,8,2. 汇编语言研究起点的思维模型: 从 char 及字节型存储单元出发; 数字电路的寄存器和 CPU 的寄存器 和单纯用于数据暂存的寄存器不同,CPU 的寄存器带有各种“附加”功能,这些“附加”功能是通过机器指令的执行来实现的。,8086汇编语言程序设计,9,3. 8086/8088 CPU 的寄存器,8086/8088 CPU

4、的内部结构,8086汇编语言程序设计,10,可在存储器寻址中用作地址(偏移量)指针寄存器有: BX、SI、DI、BP 而: mov al,dx add ah,cx 等都是错误的。,8086汇编语言程序设计,11,关于标志寄存器: 不可能直接访问; 16位寄存器,但只有9位有定义; 其中:CF、OF、ZF、PF、SF、AF是真正意义上的“状态标志位”,而TF、IF、DF被用作控制; AF没有对应的条件跳转指令。,8086汇编语言程序设计,12,1. 字节单元定位和物理地址,三、存储器寻址方式及堆栈,8086汇编语言程序设计,13,2. CPU 地址信息的两个分量,8086汇编语言程序设计,14,

5、3. 访问内存的三种类型: 指令读取:CS:IP控制器的眼睛,确定程序流向; 堆栈操作:SS:SP以堆栈方式使用内存; 数据段访问变量:DS:偏移量; 4. 寻址方式和常量、变量: 立即数寻址方式与汇编语言的常量; 直接寻址方式与汇编语言的变量; 寄存器间接寻址方式及其扩展形式: 访问变量的“准指针”。,8086汇编语言程序设计,15,5. 寻址方式: 寄存器寻址:xor al,al 立即数寻址方式:mov al,0 mov bx,0 直接寻址方式:sub al,100h add var,al 寄存器间接寻址方式:mov al,si call/jmp ax 相对寄存器寻址方式: 基址寻址 mo

6、v ax,bp+2 变址寻址 shl byte ptr di+2,cl 基址变址寻址:xchg ax,bx+si 相对基址变址寻址:push varbx+si,8086汇编语言程序设计,16,6. 堆栈 堆栈的“生成”和空栈的状态: SP 的初值和堆栈容量、栈顶、栈底的关系; PUSH 和 POP 的行为方式: 栈指针 SP 的变化和数据入、出栈; PUSHF 和 POPF 的默认操作数:标志寄存器; 堆栈对子程序功能的支持:CALL 和 RET; 堆栈对中断功能的支持: 中断响应以非指令方式操作堆栈; IRET 和 RET 的异同。,8086汇编语言程序设计,17,1. 指令分类 传送类 算

7、术运算类 逻辑运算类 移位及循环移位类 流程控制指令 标志位操作指令 2. 快捷查询 汇编指令学习.chm 8086 instructions 3. 掌握用 debug 学习、研究指令的方法,四、基本指令集,8086汇编语言程序设计,18,假设(AL)=8,执行ADD AL,3后,再执行指令AAA,以下结果正确的是? (A)(AL)=0BH,CF=0 (B)(AL)=0BH,CF=1 (C)(AL)=01H,CF=0 (D)(AL)=01H,CF=1,8086汇编语言程序设计,19,4. 特别提示: 目标操作数不能为立即数; 除了串操作指令外,双操作数不能同为存储器操作数; 段寄存器只能: m

8、ov ax,ds mov ds,ax push ds pop ds PF 只反映运算结果低 8 位 “1” 的奇偶情况; JCXZ 的跳转仅取决于 CX 值是否为零,和标志位无关。,8086汇编语言程序设计,20, MUL/IMUL/DIV/IDIV 隐含使用 AL/AX/DX: 被乘数或被除数; 乘积或商及余数。 SCAS/LODS/STOS 隐含使用AL和AX寄存器: AL 配合字节串指令使用; AX 配合字串指令使用。 IN/OUT 只能使用 AL/AX 与外设交换数据。,8086汇编语言程序设计,21,5. 指令对标志位的特别影响 除了 POPF 和 SAHF,数据传送指令不影响标志位

9、; INC、DEC 不影响 CF; AND / OR / XOR 强制 CF = OF = 0,AF不确定; NOT、NOP 不影响任何标志位; 移位和循环移位指令仅影响 CF 和 OF; MUL/IMUL 影响 CF 和OF:CF=OF=1表明高位包含有效数据; DIV/IDEV 不影响标志位; 当发生有效调整时,AAA 和 AAS 使 CF=OF=1; AAD/AAM 只影响 ZF、SF 和 PF。,8086汇编语言程序设计,22,如果(AL)=0FFH,执行指令INC AL后, 以下结果中正确的是? (A)CF=0 有可能,不确定 (B)OF=0 (C)ZF=0 (D)SF=1,8086

10、汇编语言程序设计,23,6. 无条件跳转指令的目标代码操作数和实现跳转的三种方式 单/双字节差值(段内近/远距离直接跳转); 偏移量(段内间接跳转); 逻辑地址(段间直接/间接跳转)。,8086汇编语言程序设计,24,7. 条件转移指令综述 除 AF 外,每个标志位各对应两条单条件转移指令; 任何数相等或不等:JE/JZ、JNE/JNZ; 无符号数大于:JA/JNBE;涉及:CF、ZF 无符号数大等于:JAE/JNB/JNC;涉及:CF 无符号数小等于:JBE/JNA;涉及:CF 、ZF 无符号数小于:JB/JNAE/JC;涉及:CF 带符号数大于:JG/JNLE ;涉及: SF、OF 、ZF

11、 带符号数大等于:JGE/JNL ;涉及:SF、OF 带符号数小等于:JLE/JNG ;涉及: SF、OF 、ZF 带符号数小于:JL/JNGE ;涉及: SF、OF,8086汇编语言程序设计,25,1. 带子程序模板的源程序框架: 容量固定的堆栈段; 空数据段; 代码段的特别框架元素: 段声明语句; DS 指向当前数据段; 4CH DOS 功能调用。 用堆栈传递参数的子程序模板; 循环结构模板; END 伪指令。,五、程序框架、伪指令和功能调用,8086汇编语言程序设计,26,2. 常量和变量定义语句: EQU、=: gain equ 12168 编译程序将符号常量定义语句的定义值作为立即数

12、,取代源程序中所有其他位置的该符号常量; DB、DW、DD及DUP: 编译程序根据各变量的排列顺序和所占用的字节数,计算出各变量的偏移量,以直接寻址方式或作为其他寻址方式中偏移量的位移量,取代源程序中所有其他位置的该变量符号。,8086汇编语言程序设计,27,3. 其他伪指令 ORG 、$:从哪里开始编译和编译到哪里了(偏移量) SEG、OFFSET 、TYPE: 返回段基值、偏移量和变量类型 NEAR、FAR;BYTE、WORD、DWORD: 标号和变量的属性 LABEL(EQU THIS)、PTR:属性设置伪指令 4. 常用功能调用 01H,02H,09H 和 0AH; 各功能使用的寄存器和内存结构; 新行功能串:,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号