ImageVerifierCode 换一换
格式:PPT , 页数:71 ,大小:1.53MB ,
资源ID:13964210      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13964210.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(第一章 汇编语言基础知识-进制转换.ppt)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第一章 汇编语言基础知识-进制转换.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,汇编语言程序设计,先修课程,高级语言程序设计,教材,汇编语言及应用教程,,李浪 熊江 齐忠主编,华中科技大学出版社,参考书,IBM-PC,汇编语言程序设计(第,2,版),,沈美明 温冬婵 编著,清华大学出版社,汇编语言,,王爽 编,清华大学出版社,学时,课堂教学,32,学时,上机实践,8,学时,考核方式,期末考试:,60,平时成绩:,40,作业:,10,上机:,30,作业:,40,程序一词来自生活,通常指完成某些事务的一种既定方式和过程,在日常生活中,可以将程序看成对一系列动作的执行过程的描述,什么是程序,

2、介绍你从住处到学校上课的过程,银行,1,、带上存折,/,银行卡去银行,3,、将存折或储蓄卡递给银行职员并告知取款数额,2,、取号排队,5,、银行职员办理取款事宜,生活中的程序,6,、拿到钱并离开银行,4,、输入密码,什么是指令?,1,、做口述笔记,2,、键入信函的内容,3,、发送传真,1,、口述,2,、,信函,mov,ax,y,add ax,x,mov,sum,ax,指令被逐条执行,程序员,老板,秘书,计算机程序:为了让计算机执行某些操作或解决某个问题而编写的,一系列有序指令的集合,要执行的一组指令,程序,3,、传真,计算机中的程序,编写程序的工具就是计算机语言,汇编就是多种语言中的一种,汇编

3、语言是什么?,汇编语言能做什么?,汇编语言为什么学?,汇编语言怎么学?,初始汇编语言,汇编语言,机器语言,高级语言,FORTRAN,BASIC,PASCAL,C/C+,JAVA,Script,x word?,y word?,sum word?,mov,x,100,mov,y,200,mov,ax,y,add ax,x,mov,sum,ax,66C705002040006400 66C70502204000C800,66A102204000 66030500204000 66A304204000,int,x,y,sum;,x=100;,y=200;,sum=,x+y,;,机器语言,汇编语言,C/

4、C+,语言,3,种类型语言之间的直观比较,机器语言,机器语言,真正,唯一能让,CPU,直接识别的语言,。它是用二进制编码表示的机器指令的集合及一组使用机器指令的规则。,例,1,:,用,8086,机器语言实现简单加法,(2200H)+(2201H),结果存放在,(2202H),中的程序片段:用,16,进制表示,A0 00 22,;,将,(2200H),中的数送到,AL,中,02 06 01 22,;,将,(AL)+(2201H),和数送到,AL,中,A2 02 22,;,将,(AL),送回,(2202H),中,机器语言,优缺点,优点:目标程序小,执行速度快,效率高;,缺点:表达的意义不直观,编写

5、阅读、调试较困难。,汇编语言,汇编语言:是,一种符号语言,与机器语言一一对应,;使用助记符表示相应的操作,并遵循一定的语法规则。,与机器语言有类似的优缺点,比机器语言更容易所理解。,A0 00 22,02 06 01 22,A2 02 22,MOV AL,2200H,ADD AL,2201H,MOV 2202H,AL,高级语言,高级语言:,面向人的语言,,有多种类型。,优缺点,优点:便于阅读,易学易用,不涉及硬件,具有通用性;,缺点:目标代码冗长,占用内存多,从而执行时间长,效 率不高,,不能对某些硬件进行操作,。,高级语言与汇编语言开销对比,下面是两个小例子,例,2,是用高级语言,VC+,

6、编写的,例,3,是用汇编语言编写的。它们完成相同的功能。,例,2,#include,stdio.h,main(),int,a,b,c,;,a=1;,b=2;,c=,a+b,;,printf(“c,=%,dn,c,);,编译后的目标文件,达到,3.59KB,高级语言与汇编语言开销对比,data segment,a db?,b db?,c db?,string db c=$,data ends,code segment,main proc far,assume,cs:code,ds:data,es:data,start:,push,ds,sub,ax,ax,push ax,mov,ax,data,

7、mov,ds,ax,mov,es,ax,mov,a,1,mov,b,2,mov,al,a,add,al,b,mov,c,al,lea,dx,string,mov,ah,09,int,21h,add c,30h,mov,dl,c,mov,ah,2,int,21h,mov,dl,0ah,int,21h,mov,dl,0dh,int,21h,ret,main,endp,code ends,end start,汇编后的目标,文件只有,208,字节,例,3,用,高级语言,和,汇编语言,书写的程序均不能被,CPU,直接识别并执行,这些程序通称,源程序,。,因此,所,有源程序都必须翻译成目标程序,后才能被,

8、CPU,执行。,高级语言程序、汇编语言程序和机器语言程序的关系:,高级语言源程序,编译,解释,汇编语言源程序,汇编,目标程序,相应编译器或解释程序,汇编程序,汇编程序,则专门负责完成将汇编语言源程序翻译为目标程序,汇编语言相对于高级语言的特点:,汇编语言是面向机器的语言,它的指令语句与机器指令一一对应,是 机器指令的符号表示。因此,,对于不同类型的,cpu,,要求使用不同的汇编语言和汇编程序。,汇编语言保持了机器语言的特点,,具有直接和简捷的特点。,汇编语言,可有效地访问、控制计算机的各种硬件设备,,如磁盘、存储器、,cpu,、,I/O,端口等。,汇编语言程序,目标代码简短,占用内存少,执行速

9、度快,,是高效的程序设计语言。,汇编语言,程序编写繁琐,。,汇编语言,程序调试困难,。,单条指令功能有限,通用集成编程环境少,汇编语言能做什么?(应用),对软件的执行时间或存储容量有较高要求的场合。,例如:实时控制系统、智能化仪器仪表及高性能软件。,需要提高大型软件性能的场合。,例如:某些快速处理、位处理等高效程序用汇编语言编写的,与硬件关系密切,要直接有效控制硬件的场合。,其它不适合高级语言的场合。,经常和高级语言配合使用。,是否采用汇编语言编程,主要权衡软件的开发时间及软件的质量。,适度地追求“时空”效率,为什么学习汇编语言,评论语言优劣,如同争论兵器高下!,高级语言,长兵器,汇编语言,威

10、力强大却难免滞重,长于大型应用,可谓“一寸长,一寸强”,轻巧灵活却难免有风险,长于底层应用,可谓“一寸短,一寸险”,西门吹雪的一剑西来,那是,c,语言;李寻欢的小李飞刀,那是汇编语言;陆小凤的灵犀一指,那是机器语言。,短兵器,汇编语言指令是用一些具有相应含义的助记符来表达的,是对机器指令的一种直观,对应表达,汇编语言指令与机器密切相关,不同的机器有不同的指令系统,比如:,8086,vs,80386,,使得移植性差,正是因为汇编语言有“机器相关”特性,所以程序员写汇编程序时候,,可以充分发挥自己的聪明才智,,对机器的各种资源进行合理的安排,,使他们始终处于最佳的使用状态,,最终效果是:程序的执行

11、代码短,执行速度快。现在高级语言编译程序在进行寄存器分配和目标代码生成时,都有一定程度的“优化策略”,但是这种策略要适应各种不同情况,所以,,高级语言,的这种优化,只能在宏观上,不能在微观上,。反观汇编,程序员几乎就是直接在写执行代码,故此,可以在具体细节上进行优化。(这是汇编高效率的直接原因),汇编语言怎么学好,汇编语言怎么学好,汇编语言是一种面向机器的语言,其汇编指令与机器指令基本上一一对应,所以汇编语言也同机器指令一样具有功能单一、具体的特点。要想完成某件工作(比如计算,A+B+C,),就必须安排,CPU,的每步工作(比如:先计算,A+B,再将,C,加到前者的结果上)。,故此:由于汇编语

12、言要安排运算的每一个细节,这就使得编写汇编语言程序比较繁琐,复杂。一个简单的计算公式,也要用一系列汇编指令一步一步来实现。,我们可以看出,编程者是个事无巨细的导演,要操心每一步,对每一个演员(,数据,)的每个动作进行指导(,指令,)。而不能象高级语言那样当甩手掌柜!,“,事事操心、操心事事,”,对汇编程序调试的复杂性要有心理准备,在通常情况下,调试汇编语言程序要比调试高级语言困难:,1.,汇编语言指令涉及到机器资源的细节,在调试过程中,要清楚每个资源的变化情况;,2.,在编写汇编语言程序时,为了提高资源的利用率,可以,使用各种实现技巧,,而这些技巧完全,有可能破坏程序的可读性,。于是,在调试过

13、程中,除了要知道每条指令的执行功能,还要清楚它在整个目标实现过程中的作用;,3.,高级语言几乎不显示的使用“转移指令”,但汇编语言要用到大量的各类转移指令,这些跳转指令大大增加了调试的难度。如果在汇编语言中不使用“转移指令”,那么,,汇编程序就变成了单调的顺序程序,这很不现实,!,汇编语言怎么学好,对初学者而言,汇编的命令太复杂,往往学习很长时也写不出一个漂漂亮亮的程序,以至妨碍了我们学习汇编语言的热情,不少人就此放弃。,要有持之以恒的必胜信心!,为了使学习汇编语言有个好的开始,你必须要先排除那些华丽复杂的命令,将注意力集中在一些重要的指令上,比如:,CMP,、,LOOP,、,MOV,、,JM

14、P,、,。,汇编语言怎么学好,最重要的一点就是:,实践出真知,多写、多练、多读、多分析,要有自信心,你们是最棒的,学习方法,兴趣是最好的老师!,Attitude is everything!,实践是检验真理的唯一标准!,专注、扎实、细致、沉得住气、坚持,学习目标,了解以,Intel,系列微处理器为基础的,PC,机的基本结构(编程结构),掌握,Intel,系列微处理器的指令系统及寻址方式,熟悉汇编程序的上机操作环境,会读、会编、会调试汇编程序,课程要求,课堂上注意听讲、重要的是理解,部分补充例题等内容需要笔记,课堂外一定要看书复习或预习、独立、认真完成作业,充分利用上机时间、多编程练习,汇编语言

15、预备知识复习,我们的惯用思维是十进制,但计算机的世界是二进制,无论是高级语言还是汇编语言最终都要转换为机器语言,即二进制形式。,本节我们要复习:,1,、进位计数制,2,、不同基数的数之间的转换,特别是二进制 十进制、,二进制 十六进制之间的转换。,3,、不同基数的数的运算,4,、机器数的表示,重点掌握,有符号数的补码表示,数制,十进制,:基数为,10,,逢十进一,权为,10,k,12.34=110,1,+2 10,0,+3 10,-1,+4 10,-2,二进制,:基数为,2,,逢二进一,权为,2,k,(1101),2,=1 2,3,+1 2,2,+1 2,0,=(13),10,十六进制,:基数

16、为,16,,逢十六进一,权为,16,k,(9187),16,=9 16,3,+1 16,2,+8 16,1,+7 16,0,八进制,:基数为,8,,逢八进一,权为,8,k,(147),8,=1 8,2,+48,1,+7 8,0,例:,若要写一个八进制数,197,,对否,例:,同样的一串数字,101,,若表示的数制不 一样,其含义也不一样,如下:,十进制数,101D=,二进制数,101B=,八进制数,101O=,那么如何区分它们呢,现对常用进制数归纳总结如下:,数制,在计算机中为了区分不同数制的数据,采用以下方法:,十进制数,-,后跟,D,八进制数,-,后跟,O,二进制数,-,后跟,B,十六进制

17、数,-,后跟,H,进制转换,十进制数,126,转换 为二进制和十六进制,126,63,31,2,2,0,2,15,7,3,1,0,2,1,2,2,2,1,1,1,1,126D=1111110B,1,126,7,0,16,E,16,7,126D=7Eh,余,十进制小数,0.8125,转换为二进制和十六进制,0.8125,2,1,.6250,1,2,1.250,1,2,0.5,0,2,1.,0,1,0.8125D=0.1101B,0.8125,16,13.,0000,D,0.8125D=0.DH,0,0,整,二进制数和八进制数相互转换,1 011101 001.110 101 B,=,=,1,3,

18、5,1,.,6,5,O,1 2 3.7 5,O,=,B,=,1010011.111101,B,001,101,011,1,.,110,101,00,001,010,011,.,111,101,算数运算,二进制 加法规则 乘法规则,0+0=0 00=0,0+1=1 01=0,1+0=0 10=0,1+1=0,(进位,1,),11=1,十六进制,0 5 C 3 3 5,+3 D 2 5 -0 5 C 3,4,2,E,8,H,3,7,6,2,H,1,1,D,2,C,18D,逻辑运算(按位操作),“与”运算(,AND,),A B AB,0 0 0,0 1 0,1 0 0,1 1 1,“或,”,运算(,

19、OR,),A B A,B,0 0 0,0 1 1,1 0 1,1 1 1,“异或,”,运算(,XOR,),A B A,B,0 0 0,0 1 1,1 0 1,1 1 0,“非,”,运算(,NOT,),A A,0 1,1 0,例:,X=00FFH Y=5555H,求,Z=X Y=?,X=0000,0000,1111,1111,B,Y=0101,0101,0101,0101,B,Z=0101,0101,1010,1010,B,Z=55AAH,数(机器数)的表示,正数,8,的八位二进制形式为:,00001000,负数,8,怎么表示呢,?,数(机器数)的表示,计算机中的数用二进制表示,分为,无符号数和

20、有符号数,。有符号数的符号也用二进制位表示。例如:,7 6 5 4 3 2 1 0,数值位,7 6 5 4 3 2 1 0,数值位,8,位二进制无符号数:,符号位,符号位,有符号数的最高位,符号位,=0,表示,正数,符号位,=1,表示,负数,8,位二进制无符号数:,机器数的表示方法,1,.,原码,把一个数的最高位定义为符号位,用,0,表示正,用,1,表示负,其余位表示真值的绝对值,当机器字长,n,=8,时,,,+0,原,=00000000B -0,原,=10000000B,+8,原,=00001000B -8,原,=10001000B,+127,原,=01111111B -127,原,=111

21、11111B,注:,1,),8,位二进制原码表示数的范围为,-127,+127,,,16,位二进制原码表示数的范围为,-32767,+32767,2,)正数的原码是它本身;,3,)数值,0,的原码有两种形式:,+0,原码,00000000,;,-0,原码,10000000,引入反码和补码,为了实现以上的功能,我们引入反码和补码的概念,3-2,减法运算,通常转化为,3+,(,-2,)加法运算,怎么实现?,2.,反码,正数,的,反码,与其,原码,形式,相同,;,负数,的,反码,是对其,原码,符号位不变(仍为,1,),,其余各位“,按位取反,”得到的数,例如,当机器字长,n,=8,时:,+127,原

22、01111111B+127,反,=01111111B,-127,原,=11111111B-127,反,=10000000B,当机器字长,n=16,时:,+8,原,=0000000000001000B,-8,反,=1111111111110111B,反码,1,),8,位二进制反码,表示数的范围为,-127,+127,2,),16,位二进制反码,表示数的范围为,-32767,+32767,3,)正数的反码与其原码相同,4,)“,0”,的反码有两种表示法:,00000000,表示,+0,,,11111111,表示,-0,。,引入补码,(,-2,),+3=-1,二进制,(,原码,),加法,二进制,

23、反码,),加法,1000 0010 -2,原,1111 1101 -2,反,+)0000 0010 +3,原,+)0000 0011 +3,反,1000 0100 -4,原,0000 0010 =+2,反,日常生活我们用十进制算,计算机用二进制原码算,计算机用二进制反码算,补码,使符号位能与有效值部分一起参加运算,从而简化运算规则,使减法运算转换为加法运算,进一步简化计算机中运算器的,线路设计,为了统一正,0,和负,0,引入补码的原因:,正数的补码与其原码、反码相同,例如,当机器字长,n,=8,时:,+8,补,=+8,反,=+8,原,=00001000B,+127,补,=+127,反,=+

24、127,原,=01111111B,当机器字长,n=16,时:,+8,补,=+8,反,=+8,原,=0000000000001000B,+127,补,=+127,反,=+127,原,=0000000001111111B,有符号数的补码表示,正数的补码形式,绝对值的二进制数形式,符号位,=0,负数的补码形式,2,n,-,绝对值补码,,n,为二进制的位数。,补码的物理意义?,补码物理意义,考虑,8,位二进制数,其表示范围为,0,255,,即,256=0,。,若将其想象为一个环,以,0,为基点,向顺时针方向移,246,个单位,则得,246,。然而,若按逆时针方向移动,则该位置就是,-10,。,即,-1

25、0=0F6H=246,因此,在,8,位二进制表示下,对于负数,x,(,-128,-1,)来说,存在下列等式:,-x=256-x,补码实例,在日常生活中,补码的例子是很多的,如时钟的校对就是其中一例。设标准时间是,6,点整,而时针现在指向,10,点整。若要将时针拨到,6,点整,可有两种拨法:,(1)10,4,6,,采用倒拨的办法实现,将时针倒拨,4,小时。,(2)10,8,6,,采用顺拨的办法实现,将时针顺拨,8,小时,时针指向,6,点整。,这儿倒拨与顺拨的效果是相同的,也即是互补的。在时钟以,12,为模的条件下,,-4,与,+8,是互补的。,例:机器字长,8,位,,-46,补码,=,?,46,

26、补码,=,0 0 1 0 1 1 1 0,1 1 0 1 0 0 0 1,1 1 0 1 0 0 1 0 =,D2H,46,补码,=,0 0 1 0 1 1 1 0,1 1 0 1 0 0 1 0=0 D 2 H,-46,补码,=0D2H,按位求反,末位加一,按位求反,最右的,1,快速得到负数补码的两种方法:,先得出其绝对值对应的二进制形式,然后对该二进制数,按位变反,,最后再将,变反后的结果加,1,.,先得出其绝对值对应的二进制形式,然后将该二进制数,最右边为,1,的位不变,,其,所有左边位按位变反,。,补码实例,+0,补码,=,0 0 0 0 0 0 0 0,1 1 1 1 1 1 1 1

27、0 0 0 0 0 0 0 0 =-0,补码,0,的表示惟一,按位求反,末位加一,求,-1105,的补码表示,当,n=16,时:,|-1105|=1105=,0000,0,1,00 0,1,0,1,000,1,B,按位求反,后得:,1111,1,0,11,1,0,1,0,111,0,B,最低位加,1,后:,1111,1,0,11 1,0,1,0,111,1,B,所以:,-105,补,=-105,反,+,1,=FBAEH+,1,=FBAFH,求,-1105,的补码表示,当,n=32,时:,|-1105|=1105,=,000000000000000000000,1,000,1,0,1,000,

28、1,B,按位求反,后得,:,111111111111111111111,0,111,0,1,0,111,0,B,最低位加,1,后得,:,111111111111111111111,0,111,0,1,0,111,1,B,所以:,-105,补,-105,反,1,FFFFFBAEH+1,FFFFFBAFH,反过来:求补码,81A4H,的真值,补码,81A4H,的最高位(符号位)为,1,补码,81A4H,是,负数,的补码。,对,81A4,求补:,1.81A4H,1,000 000,1 1,0,1,0,0,1,00,b,2.,按位求反得:,1,111 111,0 0,1,0,1 1,0,11,b,3.

29、加,1,后得,:,1,111 111,0 0,1,0,1,1,1,00,b,=32348,所以,,补码,81A4H,对应的真值是,-,32348,。,反过来:求补码,71A4H,的真值,补码,71A4H,的最高位(符号位)为,0,补码,71A4H,是,正数的补码(即原码),所以,补码,71A4H,对应的真值是,29092,1,),8,位二进制补码,表示数的范围为,-128,+127,2,),16,位二进制补码,表示数的范围为,-32768,+32767,3,),0,的补码表示是唯一的,,都为,00000000,补码的加减运算,符号位和数值位一起参加运算,并且自动获得结果(包括符号位与数值位)

30、补码的符号位相加后,如果有进位出现,要把这个进位舍去(自然丢失),补码运算,其运算结果亦为补码。在转换为真值时,若符号位为,0,,数位不变;若符号位为,1,,应将结果求补才是其真值,补码加法,1.,补码加法,补码加法的运算规则为:,即:两数补码的和等于两数和的补码。,例,已知,+51,补,=0011 0011B,,,+66,补,=0100 0010B,,,-51,补,=1100 1101B,,,-66,补,=1011 1110B,求,+66,补,+51,补,=,?,+66,补,+-51,补,=,?,-66,补,+-51,补,=,?,解:,二进制,(,补码,),加法 十进制加法,0100 00

31、10 +66,补,+66,+)0011,0011,+51,补,+)+51,0111 0101 +117,补,+117,日常生活我们用十进制算,计算机用二进制补码算,对比结果,是否正确,二进制,(,补码,),加法 十进制加法,0100 0010 +66,补,+66,+)1100 1101 -51,补,+)-51,0000 1111 +15,补,+15,1,自动丢失,对比结果,是否正确,二进制,(,补码,),加法 十进制加法,1011 1110 -66,补,-66,+)1100 1101 -51,补,+)-51,1000 1011 -117,补,-117,1,自动丢失,对比结果,是否正确,2.,补

32、码减法,补码减法的运算规则为:,例:,已知,+51,补,=0011 0011B,,,+66,补,=0100 0010B,51,补,=1100 1101B,,,66,补,=1011 1110B,求,+66,补,+51,补,=?-66,补,-,-,-,51,补,=?,解,+66,补,-+51,补,=+66,补,+-51,补,-66,补,-51,补,=-66,补,+51,补,二进制,(,补码,),加法 十进制加法,1011 1110 -66,补,-66,+)0011,0011,+51,补,-)-51,1111 0001 -15,补,-15,二进制,(,补码,),加法 十进制加法,0100 0010

33、66,补,+66,+)1100 1101 -51,补,-)+51,0000 1111 +15,补,+15,1,自动丢失,对比结果,是否正确,对比结果,是否正确,可以看出,无论被减数、减数是正数还是负数,上述补码减法的规则都是正确的。同样,由最高位向更高位的进位会自动丢失而不影响运算结果的正确性。,补码的加法和减法:,求补运算,:,对一个二进制数按位求反、末位加一,求补 求补,X,补码,-X,补码,X,补码,加法规则,:,X+Y,补码,=X,补码,+Y,补码,减法规则,:,X-Y,补码,=X,补码,+,-Y,补码,补码减法可转换为补码加法,64,(-46),18,0100 0000,1101

34、0010,0001 0010,例:,进,位和溢出,进位,:,由于运算结果超出了位数,最高有效位向前的进位,这一位自然丢失,一般不表示结果的对错。,溢出:,表示结果超出了字长允许表示的范围,一般会造成结果出错。,例:,(,64),11000000,127,01111111,64,01000000,+1,00000001,0,1,00000000,128,10000000,进位 溢出,非数值信息的表示,BCD,码,BCD,(,Binary-Coded Decimal,)码又称为“二,十进制编码”,专门解决用二进制数表示十进数的问题。,最常用的是,8421,编码,其方法是用,4,位二进制数表示,1,

35、位十进制数,自左至右每一位对应的位权是,8,、,4,、,2,、,1,。,BCD,码,BCD,码有两种格式:,(,1,)压缩,BCD,码格式(,Packed BCD Format,),用,4,个二进制位表示一个十进制位,就是用,0000B-1001B,来表示十进制数,0-9,。例如:十进制数,4256,的压缩,BCD,码表示为:,0100 0010 0101 0110,B,(,2,)非压缩,BCD,码格式(,Unpacked BCD Format,),用,8,个二进制位表示一个十进制位,其中,高四位无意义,我们一般用,xxxx,表示,低四位和压缩,BCD,码相同。,例如:十进制数,4256,的非

36、压缩,BCD,码表示为:,xxxx0100 xxxx0010 xxxx0101 xxxx0110,B,字符编码,使用最多、最普遍的是,ASCII,字符编码,即美国标准信息交换代码,(American Standard Code for Information,Interchance,),,具体见表,1.2,。,字符的表示,ASCII,码,:,用一个字节来表示一个字符,低,7,位为字符的,ASCII,值,,,最高位一般用作校验位。,例:,A,41,H,a,61,H,1,31,H,换行,0A,H,回车,0D,H,空格,20,H,汇编语言中的基本数据类型,字节:由,8,位二进制数组成,是读写存储器的最小信息单位,字:由两个字节组成,D,15,-D,0,双字:由两个字组成,D,31,-D,0,四字:由,4,个字组成,D,63,-D,0,十字节:由,10,个字节组成,字符串:由若干个字符组成,程序中的字符数据全部用单引,号或双引号括起来。,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服