已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲教师:陈宏 联系方式:,汇编语言程序设计,1. 沈美明, 温冬婵. 80X86汇编语言程序设计M. 北京:清华大学出版社. 2. Peter Abel. IBM PC Assembler Language and Programming M. PrenticeHALL, Inc. 3.温冬婵, 沈美明. IBM PC 汇编语言与程序设计例题习题集M 北京:清华大学出版社. 4. 王成端. 汇编语言程序设计M. 北京:高等教育出版社.,参考书目,1.熟悉数制的基本概念和计算机中常用进位计数制,掌握r进制的表达和相互转换; 2.理解机器数和带符号数的原码、反码、补码表示,掌握ASCII码和BCD码的表达及应用; 3.理解汇编语言和汇编程序的基本概念。,本章要求,1.计算机中数制基本概念、数制之间相互转换; 2.计算机中的数据表示、数据的基本类型等; 3.汇编语言基础知识。,本章主要内容,计划学时: 2学时,1.1 数据表示方法,一个任意的r进制数N,都可写成: Nanan-1a1a0 . a-1a-2a-m anrn+an-1rn-1+a0r0+a-1r-1+a-mr-m 式中m、n为正整数; ri是对应位的位权; r为对应进制的基数。,1.1.1 数与数制 计算机中数的表示 数码、基与权 数码:表示数的符号 基: 数码的个数 权: 每一位所具有的值 数制 数可以用不同的计数制表示;常用的有: 十进制、二进制、八进制、十六进制等。,所谓基数,就是指在该计数制中每个数位ai可能用到的数字符号的个数,其系数可为0(r1)。每个数位计满r后就向高位进位,即“逢r进一”,在r进制数中相邻两个数位的权相差r倍,亦即当小数点向左移一位时,数值缩小r倍;而当小数点向右移一位时,数值扩大r倍。,常用进位计数制的基数和符号,二进制、十进制及十六进制对应关系,二进制、八进制对应关系,【解】: 101101.01B=125+123+122+120+12-2=45.2510,权,数制转换,【例】:把101101.01B转换成十进制数。,【例】:将十六进制数3A9.3CH转换成十进制数。 【解】:(3A9.3C)16=3162+10161+9160+3161+1216-2 =768+160+9+0.1875+0.046875 =(937.234375)10,非十进制转换成十进制 方法:按权相加 Nanrn+an-1rn-1+a0r0+a-1r-1+a-mr-m, 降幂法,转换方法: 先给出要转换的十进制数,其次写出所有小于此数的各位二进制权值,然后用要转换的十进制数减去与它最相近的二进制权值,如够减则减去并在相应位记1;否则,该位记0并跳过此位;如此反复,直到该数为0为止。, 乘(小数)除(整数)法,除法:把要转换的十进制的整数部分不断除以2,并记下余数,直到商为0为止。,乘法:把要转换的十进制的小数部分不断乘以2,并记下其整数部分,直到结果小数部分为0或达到精度要求为止。,十进制数转换为二进制数, 降幂法,小于117D的二进制权为: 64 32 16 8 4 2 1,转换结果:,计算过程:,117-26=117-64=53 (a6=1),1,53-25= 53-32=21 (a5=1),53-24= 21-16= 5 (a4=1),1,1,5-22= 5 4 = 1 (a2=1),1-20= 1 1 = 0 (a0=1),(a3=0),(a1=0),0,1,0,1,【例】:把N=117D转换成二进制数。, 除法,117/2 = 58 (a0=1 ),58/2 = 29 (a1=0 ),29/2 = 14 (a2=1 ),14/2 = 7 (a3=0 ),7/2 = 3 (a4=1 ),3/2 = 1 (a5=1 ),1/2 = 0 (a6=1 ),【例】:把N=117D转换成二进制数。, N=117D=1110101B。,【例】: 把N=48956D 转换为十六进制数。, 降幂法,小于N的十六进制权值为: 4096 256 16 1,转换结果: B F 3 C,计算过程: 48956 - 114096 = 3900 3900 - 15256 = 60 60 - 316 = 12 12 - 121 = 0, N = 48956D = BF3CH,十进制数转换为十六进制,【例】: 把N=48956D 转换为十六进制数。, 除法,计算过程: 余 数,48956 / 16 = 3059 (a0=12 C),3059 / 16 = 191 (a1= 3 3),191 / 16 = 11 (a2= 15 F),11 / 16 = 0 (a3= 11 B), N = 48956D = BF3CH,十进制数转换为十六进制,【例】:二进制转换为八进制 1100100.11010=001 100 100. 110 100,=144.64Q,000 0 001 1 010 2 011 3 100 4 101 5 110 6 111 7,八进制转换为二进制,144.64Q= 1 4 4 . 6 4 Q,=1100100.1101B,二、八进制对应关系,二进制与八进制之间的转换 B O(Q):整数从右向左,每3位一组(不足3位左补0),小数从左向右,每3位一组(不足3位右补0); O(Q) B:用3位二进制数代替每一位八进制数。,转换方法: (BH),由于十六进制数是2的幂, 即用4个二进制数表示一个十六进制数。具体方式,以小数点为中心,整数部分从小数点开始往左,4个二进制数为一组,不足位补零。小数部分从小数点开始往右,4个二进制数为一组,不足位补零。,【例】: 把11010110111111.010011B转换成十六进制数。,0011,0101,1011,1111. 0100,1100, 11010110111111.010011B = 35BF.4CH,二进制和十六进制之间的转换,0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F,B、H对应关系,3,5,B,F,4,C,转换方法: (HB),由于十六进制数是2的幂,所以一个十六进制数用4个二进制数表示。具体方式,以小数点为中心,整数部分从小数点开始往左,1个十六进制数符用4个二进制数表示,零不能缺省。小数部分从小数点开始往右, 1个十六进制数符用4个二进制数表示,零不能缺省。转换完成后,整数部分最高位的零可以省略,小数部分最低位的零也可以省略。,【例】: 把7A9.64H转换成二进制数。,7 A 9 . 6 4 0111 1010 1001 0110 0100, 7A9.64H = 11110101001.011001B,二进制和十六进制之间的转换, 机器数: 在机器中,把一个数连同其符号在内数值化表示的数,称为机器数。,一般用最高有效位来表示数的符号(正负),正数用“0”表示,负数用“1”表示。,1.1.2 计算机中的数据表示, 机器数可以用不同的码制来表示,常用的码制有原码、反码和补码。,符号位,原码表示法: 符号 + 绝对值,【例】:设机器字长为n,若n=8,给出+3,-3,+0,-0的原码。,【解】: +3原码= 0 000,0011 = 03H -3原码 = 1 000,0011 = 83H,+0原码= 0 000,0000 = 0H -0原码 = 1 000,0000 = 80H 注意:在原码表示中,零不唯一!,数的表示范围(整数):,反码表示法:正数的反码同原码,负数的反码数值位与原码相反,符号位为”1”。,【例】:设机器字长为n,若n=8,给出+3,-3,+0,-0的反码。,+3反码= 0 000,0011 = 03H -3反码 = 1 111,1100 = FCH,+0反码= 0 000,0000 = 0H -0反码 = 1 111,1111 = FFH 注意:在反码表示中,零不唯一!,数的表示范围(整数):,补码表示法:,正数的表示与原码一样。负数X的表示可以用公式描述:,数的表示范围(整数):,对不同机器字长n = 8,16,32,64,其表数范围为:,n=8 :,n=16 :,n=32 :,n=64 :,负数的补码表示:,处理方法:(1)写出与该负数相对应的正数的补码; (2)按位求反; (3)末位加一。,【例】:机器字长为8位,则-64D的补码表示为:,+64D 的补码: 0100 0000,按位求反: 1011 1111,末位加1: 1100 0000,用十六进制表示: C 0,例:机器字长为16位,则N=-126D的补码表示:,+126D 的补码: 0000 0000 0111 1110,按位求反: 1111 1111 1000 0001,末位加1: 1111 1111 1000 0010,用十六进制表示: F F 8 2,例:机器字长为16位,则N=-117D的补码表示:,+117D 的补码: 0000 0000 0111 0101,按位求反: 1111 1111 1000 1010,末位加1: 1111 1111 1000 1011,用十六进制表示: F F 8 B,求补运算 :对一个二进制数按位求反、末位加一的运算称 为求补运算。,补码数具有的特征:,X补补=-X补,补码的加法和减法,补码的加法规则:,补码的减法规则:,根据补码的这一特性,可以得到补码加法和减法的表示:,设机器字长 n=8,25补=0001 1001 32补=0010 0000 -25补=1110 0111 -32补=1110 0000,25+32=57,0001 1001 + 0010 0000 0011 1001,25+(-32)=-7,0001 1001 + 1110 0000 1111 1001,-25-32=(-25)+(-32)=-57,补码的加法和减法,进位和溢出,进位: 由于运算结果超出了位数,最高有效位向前的进位,这一位自然丢失,一般不表示结果的对错。 溢出:表示结果超出了字长允许表示的范围,一般会造成结果出错。,例: 仍设机器字长为8 (64) 11000000 127 01111111 64 01000000 + 1 00000001 0 1 00000000 128 10000000 进位 溢出,补码的加法和减法,定义:十进制数的二进制编码称为BCD码。 目的:是为解决日常习惯的十进制数与机器内的二进制数之间的矛盾,使十进制数与二进制数之间的转换更为方便。 最常用的是8421BCD码。它对每一位十进制数码用4位二进制编码来表示,十进制数的 09分别对应于00001001。 BCD码有压缩BCD码和非压缩BCD码二种形式: 压缩BCD码的每个字节存放两位BCD码; 非压缩BCD码的每个十进制数字占用一个字节的低4位,其高4位的内容不代表BCD的信息。,BCD码,【例】写出十进制数31的压缩BCD码和非压缩BCD码。,【解】 31的压缩BCD码为: 0011 0001 31的非压缩BCD码为:0000 0011 0000 0001,十进制数字的8421BCD码,标准的ASCII码共128个字符,分为二类:非打印的和可打印的ASCII码。 非打印ASCII码:这类编码用于控制性代码,共33个。如: BEL(响铃,07H), DEL(删除,7FH), CR (回车,0DH), LF (换行,0AH)等。 可打印ASCII码:共有95个。其中有: 数字09的编码 30H39H 大写字母AZ的编码 41H5AH 小写字母az 的编码 61H7AH 空格(Space)的编码 20H,1.1.3 基本数据类型,字节 :8位,高4位称高半字节,低4位称低半字节 字 :2个字节,低8位称低字节,高8位称高字节 双字 :2个字,低16位称低字,高16位称高字 四字 :4个字,8个字节 十字节:10个字节 字符串:由字符构成的一个线性数组,1.2 汇编语言程序设计概述,程序 = 指令序列的集合,1.2.1 程序设计语言,1.指令与程序,每种计算机都有自己固有的指令系统,80X86系列的指令系统是向上兼容的。计算机中的指令是由操作码字段和操作数字段两部分组成。,计算机所要执行的操作,指出在指令执行操作的过程中所需要的操作数,即操作的对象,二进制编码,用助记符表示指令的操作码和操作数,用标号或符号表示地址、常量和变量。,面向机器的语言,面向用计算机求解问题的过程,不依赖具体机器,典型的高级语言有BASIC、C、Fortran语言等。,面向求解问题本身,典型的面向对象的语言有C+、JAVA语言等。,2. 程序设计语言,1.2.2 汇编语言特点和使用场合,1.汇编语言的特点,(1)与处理器密切相关。 (2)程序效率高。 (3)比编写高级语言源程序烦琐。 (4)比调试高级语言程序困难。,2.汇编语言的主要应用场合,(1)执行时间较短,或占用较小存储容量的场合。 (2)程序与硬件密切相关,程序直接控制硬件的场合。 (3)需提高大型软件性能的场合。 (4)没有合适的高级语言的场合。,1.2.3 流程图,名称 :起止框 含义 :算法的开始和结束,名称 :流程线 含义 :表示流程的方向,名称 :连接点 含义 :两个具有同一标记的“连结点”应连接成一个点,名称 :输入输出框 含义 :输入输出操作,名称 :判断框 含义 :对框内的条件进行判断,名称 :注释框 含义 :对某项的解释或说明,名称 :处理框 含义 :对框内的内容进行处理,用途:用来表示算法比较方便。,传统的流程图常用符号如下:,1.2.4 汇编语言程序设计基本步骤,(1) 问题定义 (2) 建立数学模型 (3) 确定解决此数学模型的算法 (4) 画出流程图 (5) 编制程序 (6) 上机调试 (7) 试运行,【例】:数组或向量加减。已知两个大小一样的字数组ARRAY和BUFS,其长度都为100字节,不考虑溢出问题,试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 投融资风险分析与管控措施方案
- 防护墙体材料选择与设计
- 供水管网智能调度系统改造方案
- 机电设备安装项目管理流程优化方案
- SHY-855-生命科学试剂-MCE
- 2025年农村常见传染病防治题库农村霍乱疫情监测及控制措施试题附答案
- 2025年关于心衰用药试题及答案
- Trimetazidine-impurity-10-生命科学试剂-MCE
- 2025年宠物智能喂食器模块化技术突破报告
- Ruscin-Ruscoponticoside-D-生命科学试剂-MCE
- 国防法教学课件下载
- 《“1+X”无人机摄影测量》课件-项目八 无人机倾斜摄影测量
- 骨肿瘤患者的护理常规
- 雪亮工程建设方案-01
- 租车业务提成管理办法
- 客户需求处理管理办法
- 2025年中国烘焙油脂行业市场深度分析及发展前景预测报告
- 超声波透药治疗技术解析与应用
- 反邪教宣讲课件
- 童话故事中的真善美8篇
- Q320585 003-2024 塑料阀门规范
评论
0/150
提交评论