资源预览内容
第1页 / 共68页
第2页 / 共68页
第3页 / 共68页
第4页 / 共68页
第5页 / 共68页
第6页 / 共68页
第7页 / 共68页
第8页 / 共68页
第9页 / 共68页
第10页 / 共68页
亲,该文档总共68页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
29.10.2020,1,谢晓东,手机 13955337841 E-mail 各位同学和我联系时,请一定要告诉我您的姓名,谢谢!,29.10.2020,2,8086/8088和ARM核汇编语言程序设计,第1章 汇编语言基础知识,29.10.2020,3,汇编语言程序设计课程简介,汇编语言是计算机系统提供给用户的最快、最有效的语言,也是能对硬件直接编程的语言。因此,对空间和时间要求很高的程序,或需要直接控制硬件的程序,必须使用汇编语言进行程序设计。 汇编语言程序设计是计算机专业基础课程。本课程结合PC机来进行教学。第一、二章为基础知识,包括计算机中数和字符的表示方法,计算机的编程结构及工作方式等。第三章介绍指令系统和寻址方式。第四章介绍伪操作和汇编语言程序格式。第五、六章说明循环、分支、子程序结构和程序设计的基本方法,并介绍起泡排序、折半查找等多种算法的程序实例。第七章说明BIOS和DOS系统功能调用的使用方法。第八章介绍宏、重复和条件汇编等高级汇编语言技术。第九章介绍I/O程序设计方法,重点说明中断原理、中断过程及中断程序设计方法。第十章主要说明多模块程序设计技术以及汇编语言程序与高级语言程序的连接技术。最后简单介绍80X86新增加的指令、寻址方式以及编程模式。,29.10.2020,4,学习目标,通过学习本课程要求同学们了解Intel系列微型机的基本组成以及计算机中数和字符的表示方法;熟练掌握Intel8086指令系统及寻址方式,伪指令及汇编语言程序格式;掌握基本程序设计方法、I/O程序设计方法以及DOS和BIOS调用;掌握宏汇编的基本概念和方法;了解汇编语言程序与高级语言程序的连接方法,熟悉上机操作和程序调试技术,初步具备软件设计的能力。,29.10.2020,5,词汇表,1机器语言计算机能够直接识别由0和1组成的二进制代码,机器指令就是用二进制编码的指令,每种处理器都有各自的机器指令集,指令集及使用它们编写程序的规则被称为机器语言。,29.10.2020,6,词汇表,2汇编语言汇编语言是一种符号语言,几乎和机器语言一一对应,它采用便于记忆、并能描述指令功能的符号来表示机器指令,比机器语言容易理解和掌握。,29.10.2020,7,词汇表,3汇编语言源程序用汇编语言编写的程序称为汇编语言源程序,简称源程序。,29.10.2020,8,词汇表,4汇编程序masm汇编语言源程序要翻译成机器语言程序后才能由处理器执行,这个翻译的过程称为汇编,完成汇编工作的程序就是汇编程序。,29.10.2020,9,词汇表,5二进制位计算机存储信息的基本单位,一位可存储一个二进制数:0或1。 6字节8位二进制数组成一个字节,在存储器中以字节为单位存储信息。 7字2个字节组成一个字。 8双字2个字组成一个双字。,29.10.2020,10,词汇表,9ASCII码ASCII码是美国信息交换标准代码的简称,它用一个字节来表示一个字符,其中低7位为字符的ASCII值,最高位一般用作校验位。 10BCD码是一种用二进制编码的十进制数,又称为二十进制数,它用4位二进制数表示一个十进制数码,由于这4位二进制数的权为8421,所以BCD码又称8421码。 11机器数 计算机中的数用二进制表示,数的符号也用二进制表示,一般用最高有效位来表示数的符号,正数用0表示,负数用1表示。把一个数连同其符号在内在机器中的表示加以数值化,这样的数称为机器数。,29.10.2020,11,词汇表,12补码机器数可用不同的码制来表示,补码表示法是最常用的一种,正数采用符号:绝对值表示,即数的最高有效位为0,数的其余部分则表示数的绝对值;负数的表示要麻烦一些,先写出与该负数相对应的正数的补码表示,然后将其按位求反,最后在末位加1,就可以得到该负数的补码表示了。,29.10.2020,12,词汇表,13中央处理单元CPU中央处理单元包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令;寄存器组用来存放计算过程中所需要或所得到的各种信息。,29.10.2020,13,词汇表,14存储器存储器是计算机的记忆部件,可分为主存储器和辅助存储器,分别简称为主存(内存)和辅存(外存)。主存存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成,成本高,容量小,但速度快;辅存可用于长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,成本低,容量大,但速度较慢。,29.10.2020,14,词汇表,15外部设备外部设备是实现人机交互和机间通信的一些机电设备,在微机系统中,常用的输入设备有键盘、鼠标等,输出设备有显示器、打印机等。 16指令系统计算机是通过指令序列来解决问题的,每种计算机都有它支持的指令集合,计算机的指令系统就是指该计算机能够执行的全部指令的集合。,29.10.2020,15,词汇表,17寻址方式计算机中的指令由操作码字段和操作数字段两部分组成,操作码字段指示计算机所要执行的操作,操作数字段指出在指令执行操作的过程中所需要的操作数。操作数可以是一个具体的数值,也可以是存放数据的寄存器或存储器地址,寻找操作数的方式称为寻址方式。 18存储器地址在存储器里以字节为单位存储信息,为了能正确地存取信息,每一个字节单元被赋予一个地址,即存储器地址。地址编号从0开始,顺序加1,是一个无符号二进制整数,常用十六进制表示。,29.10.2020,16,词汇表,19段地址8086CPU将1MB的存储器空间分成许多逻辑段,每个段最大限制为64KB,段地址就是逻辑段在主存中的起始位置。为了能用16位寄存器表示段地址,8086规定段地址必须是模16地址,即为xxxx0H形式,省略低4位0,段地址就可以用16位数据表示,它通常被保存在16位的段寄存器中。 20偏移地址主存单元距离段起始位置的偏移量简称偏移地址,由于限定每段不超过64KB,所以偏移地址也可以用16位数据表示。,29.10.2020,17,词汇表,21物理地址在1M字节的存储器里,每一个存储单元都有一个唯一的20位地址,称为该存储单元的物理地址,把段地址左移4位再加上偏移地址就形成物理地址。 22代码段程序员在编制程序时要把存储器划分成段,代码段用来存放程序的指令序列,代码段的段地址存放在CS中,指令指针寄存器IP指示代码段中指令的偏移地址,处理器利用CS:IP取得下一条要执行的指令。,29.10.2020,18,词汇表,23数据段数据段存放当前运行程序所用的数据,数据段的段地址存放在DS中。 24附加段附加段是附加的数据段,也用于数据的保存,另外,串操作指令将附加段作为其目的操作数的存放区域。附加段的段地址存放在ES中。 25堆栈段堆栈段是堆栈所在的主存区域,堆栈段的段地址存放在SS中,堆栈指针寄存器SP指示堆栈栈顶的偏移地址,处理器利用SS:SP操作堆栈中的数据。,29.10.2020,19,词汇表,26堆栈堆栈是一个“后进先出”的主存区域,位于堆栈段中,使用SS段寄存器记录其段地址。它只有一个出入口,即当前栈顶,栈顶是地址较小的一端(低端),它用堆栈指针寄存器SP指定。堆栈有两种以字为单位的基本操作,对应两条基本指令:进栈指令PUSH和出栈指令POP。 27伪指令汇编语言程序的语句除指令外还包括伪指令和宏指令,伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编期间由汇编程序处理的操作,完成诸如数据定义、分配存储区、指示程序结束等功能。 28宏指令宏是源程序中一段有独立功能的程序代码,它只需要在源程序中定义一次,就可以多次调用,调用时只需要用一个宏指令语句就可以了。宏指令是用户自定义的指令,在编程时将多次使用的功能用一条宏指令来代替。,29.10.2020,20,词汇表,29子程序子程序又称为过程,它相当于高级语言中的过程和函数。在一个程序的不同部分,往往要用到类似的程序段,这些程序段的功能和结构形式都相同,只是某些变量的赋值不同,此时就可以把这些程序段写成子程序形式,以便需要时可以调用它;某些常用的特定功能的程序段也可编制成子程序的形式供用户使用。 30中断中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操作,这些引起中断的事件称为中断源,它们可能是来自外设的输入输出请求,也可能是计算机的一些异常事故或其它内部原因。,29.10.2020,21,词汇表,31中断处理程序当中断发生时,处理器中止当前正在运行的程序,而转到处理特殊事件的程序段中去执行,这种处理中断的子程序就是中断处理程序,又称为中断服务程序。中断处理程序的入口地址被安排在中断向量表中。 32BIOS中断在存储器系统中,从地址0FE000H开始的8K ROM中装有BIOS(Basic Input/Output System)例行程序。驻留在ROM中的基本输入输出程序BIOS提供了系统加电自检、引导装入、主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。BIOS中断给程序员编程带来很大方便,程序员不必了解硬件I/O接口的特性,可直接用指令设置参数,然后中断调用BIOS中的程序。,29.10.2020,22,课前思考,(1) 计算机内部是采用什么计数制来表示数和信息的? (2) 二进制数和十六进制数是如何相互转换的? (3) 十进制数转换为二进制数有几种方法? (4) 计算机中如何表示正负数的? (5) 计算机中的整数有几种表示方法?最常用的是哪一种码制? (6) 基本的逻辑运算包括哪几种运算?为什么说逻辑运算是按位操作的? (7) 求补的运算规则是什么? (8) 计算机中是采用什么代码来表示字符的?,29.10.2020,23,教学目的:了解计算机中数和字符表示方法;了解不同基数的数之间的转换方法;熟悉计算机中补码数的算术运算和逻辑运算规则。 教学重点:计算机补码表示;求补运算和补码加减运算。 教学难点:计算机补码表示;求补运算和补码加减运算。 教学方法及手段:课堂讲授、小结讲评 课外作业: 学时分配: 2 教学内容:本章主要介绍了计算机的数制及其相互转换;计算机数的补码表示;求补运算;计算机中补码加减运算;基本逻辑运算。,1.1、汇编语言的主要特点有哪些? 1.2、汇编语言适用于哪些领域,在哪些领域使用不太方便? 1.3、在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值? 1.4、在计算机中,如何表示正、负数?在保持数值大小不变的情况下,如何把位数少的二进制数值扩展成位数较多的二进制数值? 1.5、在ASCII表,字符09与数值09之间编码规律是什么?大写字母和小写字母之间的编码规律是什么? 1.6、汇编语言中的基本数据类型有哪些?它与高级程序设计语言(如:C语言)中的数据类型的对应关系是什么?,29.10.2020,24,1.1 汇编语言概述,1.2* 进位计数制及其转换,1.3 计算机中数和字符的表示方法,第1章 汇编语言基础知识,29.10.2020,25,自然语言是具有特定语音和语法等规范的、用于人类表达思想并实现相互交流的工具。人与人之间只有使用同一种语言才能进行直接交流,否则就必须通过翻译。要使计算机为人类服务,人们就必须借助某种工具,告诉计算机“做什么”,甚至“怎么做”,这种工具就是程序设计语言。 程序设计语言通常分为三类:机器语言、汇编语言和高级语言。而前两种语言与机器密切相关,统称为低级语言。,1.1.1 汇编语言基本概念,1.1 汇编语言概述,29.10.2020,26,计算机语言的发展,机器语言,FORTRAN BASIC COBOL PASCAL C/C+ JAVA .,高级语言,1.1 汇编语言概述,1.1.1 汇编语言基本概念,29.10.2020,27,计算机能够直接识别的数据是由二进制数0和1组成的代码。机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。 用机器语言编写的程序是计算机
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号