微机原理与汇编语言-1-数据表示.ppt

上传人:小飞机 文档编号:6284463 上传时间:2023-10-13 格式:PPT 页数:40 大小:234KB
返回 下载 相关 举报
微机原理与汇编语言-1-数据表示.ppt_第1页
第1页 / 共40页
微机原理与汇编语言-1-数据表示.ppt_第2页
第2页 / 共40页
微机原理与汇编语言-1-数据表示.ppt_第3页
第3页 / 共40页
微机原理与汇编语言-1-数据表示.ppt_第4页
第4页 / 共40页
微机原理与汇编语言-1-数据表示.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《微机原理与汇编语言-1-数据表示.ppt》由会员分享,可在线阅读,更多相关《微机原理与汇编语言-1-数据表示.ppt(40页珍藏版)》请在三一办公上搜索。

1、1,计算机中数和字符的表示,1.概述,2.无符号数的表示,3.有符号数的表示,4.计算机中的二进制编码,2,一、计算机中数和字符的存放 数据存放于存储器或寄存器中。数据按字长一般分为:8位(字节BYTE,简写为B)16位(字WORD)32位(双字DWORD)64位、128位、256位,概述,3,二、数制及其转换 1、数制十进制(Decimal)后缀加“D”例如:25D或25(后缀可略)二进制(Binary)后缀加“B”例如:11010001B八进制(Octonary)后缀加“O”或“Q”例如:76Q十六进制(Hexadecimal)后缀加“H”例如:0F6H(字符开头的数前需加“0”),4,2

2、、数制之间的转换R进制转换为十进制 例如:10101101B=27+25+23+22+20=179 4F.8H=4*161+15*160+8*16-1=79.5十进制转换为R进制 整数部分:连续除以R取余法小数部分:连续乘以R取整法,二进制与十六进制间的转换 一个十六进制数对应四位二进制数 例如:6E3.C2H=0110 1110 0011.1100 0010B 110 0111.1110 10B=67.E8H,5,三、二进制数的运算 1、二进制数的算术运算特点:按一定字长进行,运算结果超过字长则产生进位、借位或自动丢失。,6,2、二进制数的逻辑运算特点:按位进行,无进位或借位,7,4)逻辑异

3、或XOR 11010001 XOR 11100101 00110100,3)逻辑反(非)NOT NOT 11010011=00101100,8,四、关于模(MOD)的概念,简单地说,模是能表示的最大数再加1。例如,8位寄存器能表示的最大数是 11111111B=255 其模为28=256(MOD 28)计算机中的运算都是在一定模值下进行的,例:200+85=29(MOD 28)9+4=1(MOD 12),9,计算机中数和字符的表示,1.概述,2.无符号数的表示,3.有符号数的表示,4.计算机中的二进制编码,10,当n=8时,可表示的无符号数的范围为0255,当n=16时,可表示的无符号数的范围

4、为 065535。,在计算机中最常用的无符号整数是表示地址的数,无符号数的表示,机器字长的所有位都参与表示数值。若计算机的字长为n位,则n位无符号数可表示的数X的范围是 0X2n1,11,计算机中数和字符的表示,1.概述,2.无符号数的表示,3.有符号数的表示,4.计算机中的二进制编码,12,1机器数与真值 计算机中的数是用二进制表示的,数的符号也是用二进制表示的。通常一个数的最高位为符号位,为0表示正数,为1表示负数。若字长为8位的计算机,则D7为符号位,D6D0为数值位。,有符号数的表示,13,例:X=65在机器中表示为:X=01000001B,这种符号数码化的数称为机器数。机器数所代表的

5、实际数值称为真值。若计算机的字长为n位,则n位有符号数可表示的数X的范围是-2n-1 X+(2n-11)当n=8时,可表示的有符号数的范围为-128127,当n=16时,可表示的有符号数的范围为-3276832767。机器数可以用不同的码制来表示,常用的有原码和补码表示法。,14,2原码表示法 最高位为符号位,0表示正数,1表示负数,其余各位为数值位,这种表示法称为原码表示法。例:若X=97 则X原=01100001B 若X=97 则X原=11100001B 原码表示数0有两种表示形式:0原=00000000B 0原=10000000B,注意:n位原码可表示的数X的范围是:2n-1+1X2n-

6、1-1,15,3反码表示法 反码表示法中,正数的反码和原码相同;负数的反 码可由其原码除符号位,保持不变外,其余各位按位取反,即0变1、1变0。例:若X=45,X反=00101101B X=-45,X反=11010010B,16,4.补码表示法 补码表示法中,正数的补码和原码相同;负数的补码可由其原码除符号位,保持不变外,其余各位按位取反,再在最末位加1而形成。例:假设机器字长为8位,则 X原=01100001B 则 97补=01100001B X原=11100001B 则 97补=10011111B 10011110B+1,17,补码具有以下特点:0补=0补=00000000B n位二进制补

7、码所能表示的数值范围为:2n-1X2n-11 若n=8,则8位二进制补码所能表示的数值范围为128127。对于一个用补码表示的负数,如果将X补再求一次补,即将X补除符号位外取反并在最末位加1就可得到 X原。用下式表示为:X补补=X原,-15 补补=10001111 B补补=11110001B补=10001111 B=-15原 注意:10000000补=-128原=10000000 B,18,二进制数码 无符号数 原 码 反 码 补 码00000000 0+0+0+0 00000001 1+1+1+100000010 2+2+2+2:01111110 126+126+126+1260111111

8、1 127+127+127+12710000000 128-0-127-12810000001 129-1-126-12710000010 130-2-125-126:11111110 254-126-1-211111111 255-127-0-1,19,5.补码的加减运算(1)补码的加法运算规则是:XY补=X 补Y补 该式表明,当有符号的两个数采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,则丢掉),结果为两数之和的补码形式。,20,例:用补码进行下列运算:(33)(15);(33)(15),解:,21,Y补是对减数进行求补操作。一般称已知 Y补求得 Y补的

9、过程叫求补。,22,求补运算(NEG)已知+X补求-X补规则:全部位(含符号位)按位取反后再加1,例:已知+15补=00001111B则-15补=11110000B+1=11110001B或:0-+15补=0-00001111B=11110001B,23,解:若X=33,Y=15 X补=00100001B Y补=00001111B Y补=11110001B 00100001B X 补+11110001B Y补 自然丢失 1 00010010B 18 补,例:用补码进行XY运算,24,若 X=33 Y=15 则 33补=11011111B 15补=11110001B 15补=00001111B

10、11011111B 33 补+00001111B 15补 11101110 18补,25,补码的作用:1、引入补码后,将减法运算转化为易于实现的加法运算,且符号位也当作数据相加,从而可简化运算器的结构,提高运算速度。因此,在微型计算机中,有符号数通常都用补码表示,得到的是补码表示的结果。2、当字长由8位扩展到16位时,对补码,正数的符号扩展应该在前面补0,而负数的符号扩展应该在前面补1。例:机器字长为8位,46补=00101110B,46=11010010B,扩展到16位 46补=0000 0000 0010 1110B=002EH 46补=1111 1111 1101 0010B=FFD2H

11、,26,6.有符号数运算时的溢出问题 当两个有符号数进行加减运算时,如果运算结果超出可表示的有符号数的范围时,就会发生溢出,使计算结果出错。显然,只有两个同符号数相加或两个异号数相减时,才会产生溢出。,例:设机器字长为8位,以下运算都会发生溢出(88)(65)=153 127(88)(-65)=153 127(83)(80)=163 128,27,(1)无符号数的溢出最高位的进位位CFCF=CD7(MOD 28)或 CF=CD15(MOD 216);例如,250=11111010B+50=00110010B 44=1 00101100B(进位CF=CD7=1丢失),(2)带符号数的溢出OFOF

12、=CD7 CD6(MOD 28)或OF=CD15 CD14(MOD 216),28,CD6=1,CD7=1,29,计算机中数和字符的表示,1.概述,2.无符号数的表示,3.有符号数的表示,4.计算机中的二进制编码,30,1.BCD码(Binary Coded Decimal)BCD码是以四位二进制的不同组合表示十进制数十个数码的方法,又称二十进制编码。常用的BCD码为8421 BCD码,即每位十进制数码用四位二进制数来表示,四位二进制数从高到低的权值分别为23、22、21、20即 8421。8421 BCD码如表所示。,计算机中的二进制编码,31,表:8421BCD码,32,例:十进制数和BC

13、D码相互转换。将十进制数86.5转换为BCD码:86.5=(1000 0110.0101)BCD 将BCD码1001 0111.0100转换为十进制数:(1001 0111.0100)BCD=97.4,根据在存储器中的不同存放格式,BCD码又分为:压缩型BCD码:一个字节中存放两个十进制数码非压缩型BCD码:每个字节只存放一个十进制数,33,例:将十进制数8762用压缩型BCD码表示,则为:1000 0111 0110 0010在存储器中的存放格式为:,高,低,34,非压缩型BCD码:0000 1000,0000 0111,0000 0110,0000 0010在存储器中的存放格式为:,高,低

14、,35,2.ASCII码(American Standard Code for Information Interchange)计算机处理信息要涉及各种字符,这些字符都必须用二进制代码来表示,在微机中普遍采用美国信息交换标准码,即ASCII码。ASCII码采用7位二进制编码,共128个字符,包括52个英文大、小写字母,10个阿拉伯数字09,32个通用控制字符和34个专用字符。例如,09的ASCII码为30H39H,AZ的ASCII码:41H5AH。有些符号作为控制字符使用,这些控制符号有专门用途,表中给出了这些控制字符的含义。回车字符CR与换行符LF的ASCII码分别为0DH、0AH等。,36

15、,计算机中,所有信息(字符、数据)都用ASCII码表示,一个字符在存储器中占一个字节。显示、打印时用ASCII字符,如串School,低,高,School,37,通常,为便于存储,7位ASCII码在最高位加1位组成8位代码。最高位常用作奇偶校验位奇校验时,每个代码的二进制位应有奇数个1偶校验时,每个代码的二进制位应有偶数个1 7位二进制码称为标准的ASCII码。为表示更多符号,将7位ASCII码扩充到8位,可表示256个字符,称为扩充的ASCII码。扩充的ASCII码可以表示某些特定的符号,如希腊字符、数学符号等。扩充的ASCII码只能在不用最高位做校验位或其他用途时使用。,38,美国标准信息交换码ASCII码,39,重点内容,整数的二进制和十六进制表示有符号整数的原码、反码和补码表示数的BCD编码数的ASCII编码,40,1、将146.25转换为二进制、十六进制和BCD码。2、将123和-75用8位二进制数,表示出它的原码、反码和补码 3、完成下列各小题的X+Y、X-Y运算(1)X、Y为无符号数(2)X、Y为有符号数已知:X=3AH;Y=8CH,作 业,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号