汇编语言程序设计 王向慧 教学课件 ppt 作者 6563

上传人:E**** 文档编号:89361650 上传时间:2019-05-24 格式:PPT 页数:298 大小:6.69MB
返回 下载 相关 举报
汇编语言程序设计  王向慧  教学课件 ppt 作者 6563_第1页
第1页 / 共298页
汇编语言程序设计  王向慧  教学课件 ppt 作者 6563_第2页
第2页 / 共298页
汇编语言程序设计  王向慧  教学课件 ppt 作者 6563_第3页
第3页 / 共298页
汇编语言程序设计  王向慧  教学课件 ppt 作者 6563_第4页
第4页 / 共298页
汇编语言程序设计  王向慧  教学课件 ppt 作者 6563_第5页
第5页 / 共298页
点击查看更多>>
资源描述

《汇编语言程序设计 王向慧 教学课件 ppt 作者 6563》由会员分享,可在线阅读,更多相关《汇编语言程序设计 王向慧 教学课件 ppt 作者 6563(298页珍藏版)》请在金锄头文库上搜索。

1、,汇编语言程序设计,王向慧 马海波 编著,中国水利水电出版社 ISBN 978-7-5084-6563-0,目录,第1章 学习目标,本章介绍了二进制数及其与十进制、十六进制数的相互转换,介绍了计算机内部数据和字符的表示形式,概述了二进制数的算术、逻辑运算规则。对汇编语言本章仅作简单的介绍,详细的学习留待后续各章中。通过本章的学习,读者应对汇编语言有初步的了解,认识二进制数,理解计算机内部BCD码、ASCII及有符号数补码的编码规则,掌握二进制数与十进制数、十六进制数的相互转换方法,并能快速、准确地相互转换,从而为后续内容的学习打下良好的基础。,1.1 认识汇编语言,1.1.1 指令与程序,指令

2、是规定处理器完成某种特定操作的命令代码,指令一般包含操作码和操作数两部分 操作码说明该指令的功能及所要完成的操作 操作数指出该操作对象及结果的存储位置,程序,程序是让计算机完成某些操作、实现某种功能的有序的指令集合,指令,1.1.1 指令与程序,MOV AL, 3 ADD AL, 2,1.1 认识汇编语言,操作码,指令功能:,操作数,(AL) 3 (AL)(AL)+2,初识两条汇编指令,1.1.2 机器语言、汇编语言和高级语言,1.1.3 为什么学习和使用汇编语言,1为什么学习汇编语言,汇编语言是理解整个计算机系统的最佳起点和最有效途径 汇编语言程序的执行效率高 汇编语言能够充分发挥计算机的硬

3、件功能,1为什么学习汇编语言,2汇编语言的应用场合,要求程序执行效率高,运行速度快的场合 受存储容量限制的应用场合 需要提高大型软件性能的场合 程序与计算机硬件密切相关的场合 没有合适的高级语言或只能采用汇编语言的场合,1.1.3 为什么学习和使用汇编语言,1为什么学习汇编语言,3学习汇编语言应掌握的预备知识,掌握二进制数与其他进制数的等值转换 掌握ASCII码、BCD码、补码等编码规则 熟悉计算机的内部结构以及与编程有关的硬件知识 掌握各种汇编指令的用法以及编程规则 可以在学习8086指令集的基础上,再拓展学习80x86汇编语言指令系统,1.1.3 为什么学习和使用汇编语言,2汇编语言的应用

4、场合,1.2 汇编语言中的计数制,1.2.1 进位计数制,1.2.2 十进制数与二进制数之间的相互转换,1二进制,十进制,2十进制,二进制,例如:,= 122 +121 + 020 + 02-1 + 12-2 D,= 6. 25 D,110.01B,例如:,6. 25 D = 110.01B,6/2 商3 余0 3/2 商1 余1 1/2 商0 余1,0.252 积 0.5整数部分为0 0.52 积 1.0 整数部分为 1 0.0,1.2.3 十进制数与十六进制数之间的相互转换,1十六进制,十进制,2十进制,十六进制,例如:,例如:,= 5161 + 11160 + 1216-1D,= 91.

5、 75 D,5B.CH,91.75 D= 5B.CH,91/16 商5 余11即B 5/16 商0 余 5,0.7516 积 12.0 整数部分为C 0.0,1.2.4 二进制数与十六进制数之间的相互转换,例如:,= 0110.0100B,5 B.CH,110.01B,= 6. 4H,= 0101 1011.1100B,= 1011011.11B,1.3 计算机中数和字符的表示,1.3.1 无符号数与有符号数,1.3.2 有符号数的补码表示,2补码的表数范围,1补码的编码规则,正数补码的表示,负数补码的表示,最高位为0,其余各位表示数的绝对值大小,将该负数的绝对值的补码按位取反再加1,3补码与

6、真值的转换,1.3.3 ASCII码和BCD码,1ASCII码,ASCII编码表包括26个大、小写字母,10个数字,及一些专用符号、和一些控制符号,一个字节长的ASCII码只有7位长,最高一位空闲,用0补充,2BCD码,BCD码(十进制数的二进制码)是用4位二进制数表示1位十进制数的一种编码,1.3.3 ASCII码和BCD码,1.4 基本的二进制运算规则,1.4.1 算术运算,1.4.2 逻辑运算,1.4 基本的二进制运算规则,二进制逻辑运算规则,1.4.3 补码的加减法运算,1.4 基本的二进制运算规则,补码的加、减法运算公式,第2章 学习目标,本章概述了微型计算机硬件系统的组织结构,简单

7、介绍了80x86微处理器的三种工作模式,着重介绍了实模式下的8086微处理器的功能结构,以及8086汇编语言程序可见的寄存器组和内存储器组织。通过本章的学习,读者应了解微型计算机内部的组织结构,掌握8086微处理器内部各寄存器在计算机工作过程中的作用,掌握实模式下内存储器是如何组织和管理的。以此为基础,就可以深入学习汇编语言编程技术了。,第二章,2.1 微型计算机硬件系统,微型计算机硬件系统结构,第二章,2.2 Intel 80x86系列微处器简介,2Intel 80x86微处理器的几种工作模式,1Intel 80x86系列微处理器的发展,16位微处理器 32位微处理器 增强型32位微处理器,

8、实模式 保护模式 虚拟8086模式,第二章,2.3 8086微处理器的功能结构,8086微处理器内部结构图,第二章,位(bit) 字节 (Byte) 存储容量单位: B、KB、MB、GB、TB 线性编址,2.4 实模式下的内存组织,2数据存储,1线性编址,2.4.1 内存的线性编址和数据存储,字节数据存储:例如(01508H)= 22H 规则字存储: 例如(01508H)= 1122H 不规则字存储:例如(0150BH)= 3344H,第二章,2.4.2 内存的分段管理,逻辑段的划分规则: 每个段的容量不超过64KB 段的起始地址必须能被16整除,内存地址: 物理地址(20位) 逻辑地址(段基

9、址:偏移地址)(16位),4种性质的逻辑段: 代码段 数据段 堆栈段 附加段,逻辑段示例,第二章,2.4.3 逻辑地址到物理地址的转换,8086指令系统中给出的地址码为16位,CPU内部存放内存单元地址的寄存器也只有16位 CPU访问内存时,先要把逻辑地址转换为物理地址,方可对内存单元进行访问,第二章,转换方法:物理地址 = 段基址16 + 偏移地址,2.4.3 逻辑地址到物理地址的转换,16位段基址,0 0 0 0,+,20 位 物 理 地 址,16位偏移地址,逻辑地址1234H:0002H转换为物理地址:,0001001000110100,0000 B,+,0000000000000010

10、 B,00010010001101000010 B,1234,0 H,0002 H,12342 H,即:,例如:,+,12342H,第二章,2.4.4 多个逻辑段的数据管理,各逻辑段之间的位置关系可以是: 独立的、连续的、部分重叠、全部重叠,20000,20FFF,4KB,3100,2KB,1FFF,31000,32FFF,不同的逻辑段存储不同性质的信息: CS段存储指令代码,DS、SS、ES段存储数据,07FF,第二章,2.5 8086寄存器组,8086内部寄存器组,第二章,2.5.1 通用寄存器,16位:AX、BX、CX、DX 8位: AH、BH、CH、DH AL、BL、CL、DL,AX、

11、AL 称为累加器,多用于各种运算、传送和I/O指令中 BX 称为基址寄存器,常用于存放存储器间接寻址时的偏移地址 CX 称为计数寄存器,在循环指令和串操作指令中作为隐含的计数器,在移位指令中约定使用CL存放移位次数 DX 称为数据寄存器,在间接寻址的I/O指令中用于存放端口地址,在双字乘法/除法指令中约定使用DX存放双字型数据的高字部分,数据寄存器,第二章,指针及变址寄存器(16位),BP 称为基址指针寄存器,常用于存放存储器间接寻址时堆栈段内的偏移地址 SP 称为堆栈指针寄存器,一般用于存放堆栈段中栈顶的偏移地址,以实现对栈顶单元的数据入栈/出栈操作 SI 称为源变址寄存器,在串操作指令中用

12、来存放源串操作数的偏移地址 DI 称为目的变址寄存器,在串操作指令中用来存放目的串操作数的偏移地址,2.5.1 通用寄存器,第二章,2.5.2 段寄存器 (16位),代码段寄存器CS,代码段用来存放程序代码,其段基址存放于CS中 数据段寄存器DS,数据段是主要用于存放程序运行时所需的数据或处理的结果,其段基址存放于DS中 堆栈段寄存器SS,堆栈段也是保存数据的区域,其段基址由SS给出,处理器根据SS:SP对堆栈(“后进先出”的数据结构)的栈顶单元读/写操作,也可以根据SS:BP访问堆栈段内任意单元 附加段寄存器ES,附加段也用于数据的存储,段基址存放于ES中,第二章,2.5.3 指令指针寄存器

13、IP(16位),指令代码存放于代码段中,处理器取指令时,CS中存放代码段的段基址,IP中存放该指令在代码段内的偏移地址,CS:IP指到哪里,处理器就到哪里取指令,程序运行时,每取一次指令,IP就自动“增1”,指向下一条指令,从而保证处理器自动、连续地取出并执行指令序列,CS和IP与程序的执行顺序有关,所以程序员不能在程序中随意使用指令来修改CS或IP的值,IP,IP,IP,指令2,指令1,第二章,2.5.4 标志寄存器,8086标志寄存器的状态标志位,第二章,2.5.4 标志寄存器,8086标志寄存器的控制标志位,第二章,第3章 学习目标,本章从常用的几条指令入手,介绍了汇编指令的基本格式、指

14、令的功能和应用实例,简单地介绍了顺序结构、分支结构和循环结构的程序设计思想,并通过调试工具软件DEBUG深入剖析了指令的执行过程,指令中操作数的寻址方式也在本章中作了详细介绍。通过本章的学习,读者应对汇编语言程序有初步的认识,应熟练掌握MOV、INC、DEC、CMP、JMP、JE、JNE、LOOP等常用指令的功能和用法,正确使用与数据有关的几种寻址方式,培养顺序、分支、循环结构的程序设计思想,应具备简单程序的分析和设计能力,并掌握使用调试工具软件调试程序的方法。,第三章,每条指令由操作码和操作数两部分构成,3.1 汇编指令基本格式,例如:,操作码用于指明处理器应执行的具体操作,采用表明该指令功

15、能的英文单词或其缩写表示,第三章,MOV,AX , CX,操作数指明该操作的对象及结果的存储位置,也使用易于记忆的符号表示,8086汇编指令示例:,3.1 汇编指令基本格式,MOV AL, 3 ; 双操作数指令,两操作数间用逗号分隔,MOV AX, DX ; 双操作数指令,左边的称为目的操作数 ; 右边的称为源操作数,MOV CL, AL ; 指令功能:(CL)(AL),ADD DL, AL ; 指令功能:(DL)(DL)+(AL),MOV DX, SI ; 指令功能:(DX)SI,INC DI ; 指令功能:(DI)(DI)+1,CBW ; 指令功能:(AX)(AL),第三章,3.2 开始设

16、计汇编语言程序,在8086汇编语言指令系统中提供了百余条指令,在程序设计过程中,有部分指令是常用的 在汇编语言学习之初,有必要先了解几条常用指令:MOV、INC、DEC、CMP、INT、JMP、JZ/JE、JNZ/JNE和LOOP,第三章,3.2.1 几个常用的汇编指令,1数据传送指令MOV,格式:,功能:,用法:,MOV dst , src,(dst)(src),MOV指令不影响标志寄存器FLAGS的任何标志位 目的操作数不可以是CS或立即数 不允许立即数直接送段寄存器 两个操作数不允许同时为段寄存器,也不允许同时为存储器操作数 两个操作数类型要一致 两个操作数类型不明确时,应该说明其类型,说明:,第三章,格式:,功能:,INC dst,(dst)(dst)+ 1,说明:,INC指令不影响CF状态,只影响ZF、SF、OF、AF、PF状态 单操作数dst只可以是通用寄存器或存储器操作数,不允许是段寄存器或立即数 若为存储器操作数,应该明确其操作

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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