




免费预览已结束,剩余46页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0,主讲人刘,汇编语言程序设计,汇编语言程序设计,1,课程简介,汇编语言程序设计课程是国家教育部高等院校计算机软硬件专业的基础课、必修课。汇编语言作为一种低级语言,是高级语言编程的基础,通常被认为是微机的另一个核心内容。虽然现在高级语言编程可以应用于大量的问题,但是汇编语言是唯一可以利用计算机所有硬件特性并可以直接控制硬件的语言。对于直接控制硬件的应用程序或实时处理和控制的几个应用程序开发项目,汇编语言具有明显的优势。2,利用教材,沈梅明,文东灿主编,IBM-PC汇编语言程序设计(第2版)清华大学出版社,2001参考:1王爽主编,汇编语言清华大学出版社,2003 2钱晓杰主编,汇编语言程序设计电子工业出版社,2003,3,教学内容。第1章汇编语言基础知识第2章80 x86指令系统第3章汇编语言程序格式第4章基本汇编语言程序设计第5章高级汇编语言程序设计第4章第1章汇编语言基础知识1.1汇编语言和含义1.2数据编码和计算1.3数据代表1.480 X86中央处理器和寄存器组1.5存储器和端口,5,1.1.1可由机器语言计算机直接识别的数据是由二进制数0和1组成的代码。机器指令是由二进制代码组成的指令。机器指令控制计算机完成基本操作。用机器语言编写的程序是唯一能被计算机直接识别和执行的程序,而用其他语言编写的程序必须被翻译成机器语言程序。1.1汇编语言及其含义,回到本章,6,1.1.2汇编语言汇编语言是一种用符号编写的计算机语言,其基本操作对应于机器指令并遵循一定的语法规则。汇编语言是一种符号语言,比机器语言更容易理解和掌握,也更容易调试和维护。然而,用汇编语言编写的程序在计算机上执行之前,必须先进行汇编和连接。用汇编语言编写的程序称为汇编源程序。使用微型计算机中的任何文本编辑器编写汇编语言源程序。汇编程序可以将汇编语言源程序翻译成机器码目标模块。8086 CPU的汇编程序主要包括微软宏汇编程序MASM。更著名的是博兰的TASM,没有实质性的区别。返回到本节,返回到本章,8,链接器将组装好的目标模块转换成可执行程序。连接程序的文件名通常是:LINK.EXE。回到这一节,回到这一章,9,1.1.3高级语言高级编程语言接近人类自然语言的语法习惯,与计算机硬件无关,便于用户掌握和使用。1.1.4汇编语言特性汇编语言程序与处理器指令系统密切相关。程序员可以直接有效地控制系统硬件。生成的可执行文件运行速度快,占用的主内存少。回到本节,回到本章,10,1.2数据编码和操作,1.2.1各种进位计数系统(1)十进制计数的基数十进制数是10,而10位数是用来计数的。每个数字的10k是该数字的权重。例:(795.412)10=7102 9101 5100 410-1 1 10-2 210-3,回到本章,11,(2)二进制数的基数是二进制数,只有两位数0和1,它遵循每个二进制数1的规则,其权重用2k表示。例如:(11.1001)2=121 120 12-1 02-2 02-3 12-4N位二进制数可以代表2n个数字,例如,3位二进制数可以代表8个数字,即000-111。4位二进制数表示16个数字,即0000-1111。为了便于读写,八进制数和十六进制数通常用来表示二进制数。八进制的基数是8,数字是0、1、2、3、4、5、6和7。十六进制数的基数是16,数字是0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f。按照同样的方法,很容易掌握八进制和十六进制的表示。十进制数通常以d结尾,二进制数以b结尾,八进制数以o结尾,十六进制数以h结尾。例如:117D,1010B,67O,1ABH,返回到本节,返回到本章,13,1.2.2数字转换(1)十进制和二进制、八进制、十六进制的转换方法将十进制数字转换成二进制、八进制、十六进制数字:数字分为整数部分和小数部分,整数部分分为基数余数法,小数部分分别采用乘基数舍入法进行转换。示例:76.425D=1001100.011011B,商余数762=380382=190192=9192=4142=2022=1012=01,乘积整数0.4252=0.85000.852=1.7010.72=1.410.42=0.800.82=1.610.62=1.01商余数积的整数部分7616=4C(12)0.12516=2.02416=04转换结果是:76.125=4C.2H,返回本节,返回本章,15,将二进制数、八进制数和十六进制数转换成十进制数的方法:将每个数字的乘积及其相应的权重再次求和,以获得与十进制数相对应的十进制数。示例:101.11 b=5.75 db56 . d7h=2902.839844d .计算过程:101.11 b=122 021 120 12-1 12-2=410 . 50 . 25=5.75 db56 . d7h=b 162 5161 6160 d16-1 716-2=2816 80 6 0.8125 0.027344=299相反,八进制(十六进制)数的每一位都由3位(4位)二进制数表示,并形成相应的二进制数。例如:101111010.0111001 b=17a . 72 HB 56 . d7h=101101010110.11010111 b,返回本节,返回本章,17,1.2.3数据运算(1)二进制数运算二进制加法运算规则:每二进制1。即:0 0=00 1=11 0=11 1=0生成进位1二进制减法规则:借1为2。也就是说,0-0=00-1=1生成借用位11-0=11-1=0,返回到本节,返回到本章,18,二进制乘法类似于十进制乘法,即00=001=010=011=1 (2)十六进制加法:当两个单数字之和小于16时,它被视为与十进制相同。如果S大于或等于16,则应用S-16和进位1代替S。减法:类似于十进制,当减法足够时,可以直接执行减法。如果减法不够,则遵循从高位借用1到16的规则。乘法:可以用十进制乘法规则计算,但结果必须用十六进制数表示。返回到本节,返回到本章,19,示例:05 C3H3D 25H 3D 25H-05 C3 H 42E 8H 3762H 05 C3 H 00 A1 H 05 C 3 399E 39 FA3 H,返回到本节,返回到本章,20,1.3数据表示,1.3.1数值数据数值数据分为有符号数和无符号数。无符号数的最高位代表一个数值,而有符号数的最高位代表一个符号。符号数字有不同的编码方法,常用补码。返回到本章,21,(1)原始代码:最高位表示符号(正数使用0,负数使用1),其他位是数字的二进制值,这称为有符号数字的原始代码表示。示例X=45D=00101101 BXOriginal=00101101 BX=-45DXOriginal=10101101 B原始代码简单易懂,但如果添加了两个不同的数字(或减去了两个相同的数字),则需要减法。为了将减法运算转化为加法运算,引入了逆码和补码。返回到本节,返回到本章,22,(2)逆码:正数的逆码与原始码相同,符号位由0表示,值位保持不变。负数的符号位由1表示,值位由原始代码值逐位反转而成,即0到1,1到0。示例 X=45D=00101101B,X逆=00101101BX=-45DX逆=11010010B(3)补码:正数的补码与原始代码相同,即符号位由0表示,值位不变。负数的补数是通过在负数上加1而形成的。示例 X=45D=00101101BX补码=00101101BX=-45DX补码=11010011B,返回本章,23,(4)符号扩展:在数据中,返回到本节,返回到本章,24,(5)数据表示的范围和n位二进制数可以表示的无符号整数的范围是:0I2n-1;n位二进制数可以表示的有符号整数范围是:-2n-1 I 2n-1-1 (6)补码加减补码特征:x补码=-x补码=x补码加法规则:x y补码=x补码y补码减法规则:x-y补码=x补码-y补码,返回本节,返回本章,查找补码,查找补码,25,1.3.2字符数据3333ASCII码的最高位通常是0。在通信中,最高位用作奇偶校验位。常用字符的ASCII码:位0 9: 30h 39h字母A Z: 41h 5ah字母A Z: 61h 7ah空格:20H回车符CR: 0d回车符LF: 0ah注意回车符和回车符的区别:回车符用于控制光标返回到当前行的最左端;LF用于在不改变列的情况下将光标移动到下一行。(2) BCD码:二进制数虽然容易实现,但不符合人们的使用习惯,也不便于读写,所以计算机输入输出时通常用十进制来表示数字,这就需要十进制和二进制之间的转换。为了便于转换,通常使用二进制编码的十进制系统,简称为BCD码。返回到本节,返回到本章,27,压缩BCD码:4个二进制位为1个十进制位,0000 b 1001 b为0 9。例如,十进制数6429的压缩BCD码表示为0110010000101001B(即6429H)未压缩BCD码:8个二进制位表示1个十进制位,低4位与压缩BCD码相同,高4位无意义。例如,十进制数6429的未压缩BCD码表示为XXXX 0110 XXX 0100 XXXX 0010 XXX 1001 B。有时,要求未压缩BCD码的高4位为0。此时,6429的未压缩BCD代码是06040209H。回到这一节,回到这一章,28、1.480 X86的中央处理器和寄存器组,计算机硬件:的中央处理器(Intel80 x86)交给汇编语言程序员,最关心的寄存器存储器(主存储器)是外部设备(接口电路)的存储器地址汇编语言程序员看到的端口(I/O地址)。当回到本章时,29,1 . 4 . 180 X86的计算机执行程序,它必须首先装入内存,然后由中央处理器执行程序指令。中央处理器的作用是执行算术和逻辑运算,并控制指令的执行。通常,英特尔生产的8086/8088、80286、80386、80486、奔腾、奔腾、奔腾II、奔腾III、奔腾4及其兼容的中央处理器统称为80 x86中央处理器或x86中央处理器,基于这些中央处理器的计算机称为80 x86计算机或x86计算机。其中,8086中央处理器是英特尔于1978年推出的16位微处理器,时钟频率为5兆赫兹,16位数据信号线,20位地址信号线,可寻址存储器地址空间为1兆字节。返回本章,30,80 x86CPU 3操作模式1。实模式:与8086操作模式兼容,只有较低的20位地址线工作,只能寻址前1MB的内存空间。MSDOS正在真实模式下运行。2.保护模式是:32位80 x86CPU的主要工作模式,为程序和数据的安全检查提供保护机制。Windows9x/NT/2000正在受保护模式下运行。3.虚拟8086模式:在窗口9x下,如果一个MSDOS窗口被打开并且一个DOS应用程序正在运行,那么该程序在虚拟8086模式下运行。返回本节,返回本章,31,1.4.280 x86寄存器组,8086寄存器组,返回本节,返回本章,32,1 .通用寄存器,(1)数据寄存器8位数据寄存器8:a1,AH,BL,BH,CL,ch,DL,DH。4个16位数据寄存器:AX、BX、CX、DX。4个32位数据寄存器:EAX、EBX、ECX、EDX。a1和AH、B1和BH、C1和CH、D1和DH分别对应于AX、BX、CX和DX的低8位和高8位。AX、BX、CX和DX分别对应于EAX、EBX、ECX和EDX的低16位。33,AX寄存器被称为累加器。它使用最频繁,用于算术和逻辑运算以及与外设的信息传输。BX寄存器被称为基址寄存器。用于存储内存地址。CX寄存器被称为计数器。它通常在循环或字符串操作等指令中用作隐式计数器。DX寄存器被称为数据寄存器。它通常用于存储双字数据的高16位或存储外设端口地址。返回到本节,返回到本章,34、索引和指针寄存器包括SI、DI、SP、bp4 16位寄存器和e SI、EDI、ESP、EBP4 4 32位寄存器,它们主要用于存储一个存储单元的偏移地址。其中,国际单位制、国际单位制、国际单位制和特殊单位制分别对应于国际单位制、国际单位制、EBP单位制和特殊单位制的较低16位。SI是源索引寄存器,DI是目的索引寄存器。在字符串操作中,符号1和符号2都有自动递增或递减功能。SP是堆栈指针寄存器,用于存储当前堆栈段中堆栈顶部的偏移地址;BP是基地址指针寄存器,用于存储堆栈段中存储单元的偏移地址。(2)索引和指针寄存器,返回本节,返回本章,35,2。段寄存器,8086 CPU的6个16位段寄存器分别称为代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、从80386添加的附加数据段寄存器es、FS和GS。段寄存器用于确定段在存储器中的起始地址。代码段用于存储程序的指令序列。CS存储代码段的头地址,指令指针寄存器IP指示代码段中指令的偏移地址。回到这一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全国矿山安全管理人员理论考试题库(含答案)
- 难点详解自考专业(行政管理)及完整答案(有一套)
- 宁夏财经职业技术学院病理与病理生理期末考试历年机考真题集完整附答案详解
- 2025自考专业(护理)考前冲刺练习试题及完整答案详解(历年真题)
- 无人机资格证经典例题【典优】附答案详解
- 达标测试人教版8年级数学上册《轴对称》专题练习试卷(详解版)
- 康复医学治疗技术副高级职称考前冲刺练习含答案详解【突破训练】
- 2025年烟草职业技能鉴定题库试题及参考答案详解【培优】
- 2024医师定期考核每日一练试卷附答案详解(黄金题型)
- 2024年中医助理医师经典例题及参考答案详解【黄金题型】
- 期货技术指标培训课件
- 项目融资合同及还款计划安排说明
- 杜仲种植深加工项目可行性研究报告-备案立项
- 2025年乡村文化旅游发展报告:文旅融合下的乡村旅游生态旅游规划与实施研究
- 咖啡知识培训课件
- 施工进度管理的措施
- 英语教学课件Unit 2 Different families课件9
- 2025春 新人教版美术小学一年级下册致敬平凡
- 富时新加坡海峡时报指数历史行情(1999年08月31日-2025年3月28日)
- 危险废物分析制度
- 换药室工作制度
评论
0/150
提交评论