第一讲微型计算机基础_第1页
第一讲微型计算机基础_第2页
第一讲微型计算机基础_第3页
第一讲微型计算机基础_第4页
第一讲微型计算机基础_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一讲微型计算机基础一、 计算机中的数计算机中的数v无符号数无符号数将最高位当作数值位的数;(都是正数)将最高位当作数值位的数;(都是正数)v(有有)将最高位当作符号位的数(补码);将最高位当作符号位的数(补码);vBCD码码用用4 4位二进制数表示一位十进制数位二进制数表示一位十进制数v无符号数、符号数无符号数、符号数可分为可分为字节字节(8位位),字,字(16位位) ,双字,双字(32位位) 等等类型,并且都有各自的表示范围:类型,并且都有各自的表示范围:q8位无符号数所能表示的范围:位无符号数所能表示的范围:0255,即,即028-1;q16位无符号数所能表示的范围:位无符号数所能表示的

2、范围:065535,即,即0216 -1 ;q8位补码数所能表示的范围:位补码数所能表示的范围:-128+127,即,即-27+27-1;q16位补码数所能表示的范围:位补码数所能表示的范围:-32768+32767,即,即-215+215-1。一、一、 计算机中的数计算机中的数v计算机中数的运算分为两种:计算机中数的运算分为两种:算术运算:算术运算:、逻辑运算:逻辑运算: 与(与(AND、&、 )、)、或(或(OR、|、+)、)、非(非(NOT、/)、)、异或(异或(XOR、 )v书写约定:书写约定:书写书写字节字节/字字/双字型的双字型的16进制数时,若最高位以进制数时,若最高位以AF开开

3、头,约定前面加头,约定前面加0,如:,如:A5H 写成写成 0A5HFFH 写成写成 0FFHD123H 写成写成 0D123H FFFFH写成写成 0FFFFH二、二、无符号数无符号数(最高位最高位8/16/32均表示数值均表示数值)的算术运算的算术运算1. 无符号数加法无符号数加法v两个两个8/16/32位的位的无符号数无符号数进行进行算术算术 运算运算时,时,这就需要借助这就需要借助进位标进位标志志CF来代表两个数相加来代表两个数相加有无向更高位(有无向更高位(9/17/33)的进位)的进位:CF=0,无进位;,无进位;CF=1,有进位。,有进位。如:如:0A4H+3BH (164+59

4、) ;0A4H+3BH (164+59) ;7EH+0C3H (126+195)7EH+0C3H (126+195) 1010 0100 0111 1110 1010 0100 0111 1110 + 0011 1011 + 1100 0011 + 0011 1011 + 1100 0011 0 1101 1111 1 0100 0001 0 1101 1111 1 0100 0001 无进位无进位:CF=0 :CF=0 有进位有进位:CF=1:CF=1二、二、无符号数无符号数(最高位最高位8/16/32均表示数值均表示数值)的算术运算的算术运算1. 无符号数加法无符号数加法v两个两个8/16

5、/32位的位的无符号数无符号数相加相加,其和其和是是一个一个9/17/33位的位的无符号数无符号数(CF为最高位),若要求其所为最高位),若要求其所对应的十进制数,只需按权展开,对应的十进制数,只需按权展开,如:如: 0A4H+3BH;7EH+0C3H 1010 0100 0111 1110 + 0011 1011 + 1100 0011 0 1101 1111 1 0100 00010A4H+3BH = 0 1101 1111B=0DFH = 13*16+15=223 = 164 + 59 7EH+0C3H = 1 0100 0001B=141H=1*256+4*16+1= 321 = 12

6、6+195二、二、无符号数无符号数(最高位最高位8/16/32均表示数值均表示数值)的算术运算的算术运算2. 无符号数减法无符号数减法v两个两个8/16/32位的位的无符号数无符号数进行进行算术算术运算运算时,可能会出时,可能会出现现的情况,这就需要借助的情况,这就需要借助借位标志借位标志CF来来代表两个数相减代表两个数相减有无被减数向更高位(有无被减数向更高位(9/17/33)的借位)的借位:CF=0,无借位;,无借位;CF=1,有借位。,有借位。如:如:0A4H - 3BH (164-59) ; 0A4H - 3BH (164-59) ; 7EH - 0C3H (126-195)7EH -

7、 0C3H (126-195) 1010 0100 0111 1110 1010 0100 0111 1110 - 0011 1011 - 1100 0011 - 0011 1011 - 1100 0011 0 0110 1001 1 1011 1011 0 0110 1001 1 1011 1011 无借位无借位:CF=0 :CF=0 有借位有借位:CF=1:CF=1二、二、无符号数无符号数(最高位最高位8/16/32均表示数值均表示数值)的算术运算的算术运算2. 无符号数减法无符号数减法v两个两个8/16/32位的位的无符号数无符号数相减相减,若,若,其差其差为为正数正数,是一个,是一个9

8、/17/33位的位的无符号数无符号数(CF为最高位),为最高位),若要求其所对应的十进制数,只需按权展开,若要求其所对应的十进制数,只需按权展开,如:如:0A4H-3BH ; 0A4H-3BH ; 1010 0100 1010 0100 - 0011 1011 - 0011 1011 0 0110 1001 0 0110 10010A4H-3BH = 0 0110 1001B =069H = 60A4H-3BH = 0 0110 1001B =069H = 6* *16+9=10516+9=105 = 164 - 59 = 164 - 59二、二、无符号数无符号数(最高位最高位8/16/32均

9、表示数值均表示数值)的算术运算的算术运算2. 无符号数减法无符号数减法v两个两个8/16/32位的位的无符号数无符号数相减相减,若,若,其差其差是用一个是用一个9/17/33位(位(CF为最高位)的为最高位)的补码表示的补码表示的负数负数,若要求其所对应的十进制数,需要若要求其所对应的十进制数,需要对该补码求真值对该补码求真值,如:如:7EH-0C3H 0111 1110 - 1100 0011 1 1011 10117EH-0C3H =1 1011 1011B= - 0 0100 0101B= - 45H= - 69 = 126 - 195二、二、无符号数无符号数(最高位最高位8/16/32

10、均表示数值均表示数值)的算术运算的算术运算2. 无符号数加、减法无符号数加、减法v两个两个一个一个9/17/33位的无符号数位的无符号数(CF为最高为最高位)位);减法有借位减法有借位一个一个9/17/33位的补码位的补码(CF为最高位)为最高位)v进位进位/借位标志位借位标志位CF是同一个标志位:加法时为进位标志,减法时为借位是同一个标志位:加法时为进位标志,减法时为借位标志;标志;在在CPU的内部寄存器的内部寄存器“”中专门中专门用一个位来表示用一个位来表示CF。13H-7EH (19-126)=19-126= - 107 -128无溢出,无溢出,OF=0三、三、有符号数有符号数(最高位最

11、高位8/16/32均表示符号均表示符号)的算术运算的算术运算v符号位也参与运算,即把符号数当作无符号数来运算;符号位也参与运算,即把符号数当作无符号数来运算;v两个两个8/16/32位的位的有符号数有符号数算术运算结果算术运算结果超出了超出了8/16/32位位的表示范围的表示范围,称之为,称之为溢出溢出;v在在CPU的内部寄存器的内部寄存器“”中专门用一中专门用一个个溢出标志位溢出标志位OF位来表示两个符号数的运算是否产生了位来表示两个符号数的运算是否产生了溢出:溢出:OF=0,无溢出;,无溢出;OF=1,有溢出,有溢出 。13H+7EH =126+19 =145127有溢出,有溢出,OF=1

12、三、三、有符号数有符号数(最高位最高位8/16/32均表示符号均表示符号)的的算术算术运算运算v如何判断有符号数的运算是否产生溢出?(两种方法)如何判断有符号数的运算是否产生溢出?(两种方法)将符号数转换成相应的十进制数进行运算,判断运算结果将符号数转换成相应的十进制数进行运算,判断运算结果是否超出是否超出8/16/32位的表示范围。如:位的表示范围。如:33H+5AH =51+90 =141127有溢出,有溢出,OF=1-29H-5DH = - 41 - 93 = - 134 -128有溢出,有溢出,OF=1练习:练习:65H-3EH65H-3EH 4CH-68H 4CH-68H=101-6

13、2=39 -128 无溢出,无溢出,OF=033H+5AH 0011 0011+ 0101 1010 0 1000 1101CS =1, CY =0,OF=1,有溢出有溢出 65H-3EH 0110 0101 0110 0101- 0011 1110 + 1100 0010 1 0010 0111CS =1, CY =1,OF=0,无溢出无溢出三、三、有符号数有符号数(最高位最高位8/16/32均表示符号均表示符号)的算术运算的算术运算v如何判断有符号数的运算是否产生溢出?如何判断有符号数的运算是否产生溢出?(两种方法两种方法)设符号位向更高位设符号位向更高位为为CY,数值部分向符号部分,数值

14、部分向符号部分为为CS ,则溢出:,则溢出:(需要将减法通过补码换成加法运算需要将减法通过补码换成加法运算) OF= CY CS说明:说明: 为为“异或异或”运算符:运算符:不同为不同为1,相同为,相同为0(1 0 = 0 1 = 1 1 1 = 0 0 = 0 )例例1例例2- 0010 1001 + 1101 0111- 0101 1101 + 1010 0011 1 0111 1010CS =0, CY =1,OF=1,溢出,溢出三、三、有符号数有符号数(最高位最高位8/16/32均表示符号均表示符号)的算术运算的算术运算v如何判断有符号数的运算是否产生溢出?(两种方法)如何判断有符号数

15、的运算是否产生溢出?(两种方法)设符号位向更高位设符号位向更高位为为CY,数值部分向符号部分,数值部分向符号部分为为CS ,则溢出:,则溢出:(需要将减法通过补码换成加法运算需要将减法通过补码换成加法运算) OF= CY CS练习:练习:-29H-5DH 4CH-68H 0100 1100 0100 1100 - 0110 1000 + 1001 1000 0 1110 0100CS =0, CY =0,OF=0,无溢出,无溢出PC在进行数的加减运算时,会根据结果在进行数的加减运算时,会根据结果自动设置自动设置CPU寄寄存器中的存器中的CF、OF标志位;标志位;两个数进行加减运算,两个数进行加

16、减运算,结果同时影响结果同时影响CF、OF标志标志,即,即计算机既会考虑进计算机既会考虑进/借位情况,又会考虑溢出情况;借位情况,又会考虑溢出情况;一个二进制数是表示无符号数还是表示一个二进制数是表示无符号数还是表示(有有)符号数,完符号数,完全全取决于实际应用取决于实际应用的需要;如:的需要;如: 对对多位多位(32/16位位)有符号数进行运算时,有符号数进行运算时,数的低位部分视数的低位部分视为无符号数,高为无符号数,高8位部分视为符号数,位部分视为符号数,低位部分运算时就只需低位部分运算时就只需考虑考虑CPU中中CF(虽然低位运算结果对(虽然低位运算结果对OF也有影响),高也有影响),高

17、8位位运算时就只需考虑运算时就只需考虑CPU中中OF(虽然高位运算结果对(虽然高位运算结果对CF也有影也有影响)。响)。四、二进制四、二进制数的逻辑运算数的逻辑运算1. 运算规则运算规则v与(与(AND、&、 ):多位相与,见):多位相与,见0为为0,全,全1为为1;v或(或(OR、|、+):多位相或,见):多位相或,见1为为1,全,全0为为0;v非(非(NOT、/) :1变变0,0变变1;v异或(异或(XOR、 );两位异或,不同为);两位异或,不同为1,相同为,相同为0如:如:1&0=0&1=0&0=01&1=11&1&0=1&0&1=0&0&1=1&1&0=0&1&1=01&1&1=10

18、&0&0&0=1&1&0&1=1&0&1&0=0在数字电路中,有相应的集成电路实现相应的逻辑功能在数字电路中,有相应的集成电路实现相应的逻辑功能:(与门与门)四、二进制四、二进制数的逻辑运算数的逻辑运算1. 运算规则运算规则v与(与(AND、&、 ):多位相与,见):多位相与,见0为为0,全,全1为为1;v或(或(OR、|、+):多位相或,见):多位相或,见1为为1,全,全0为为0;v非(非(NOT、/) :1变变0,0变变1;v异或(异或(XOR、 );两位异或,不同为);两位异或,不同为1,相同为,相同为0如:如:1|0=0|1=1 | 1=10|0=01 | 1 | 0=1 | 0 |

19、1=0 | 0 | 1=1 | 1 | 0=0 | 1 | 1=10 | 0 | 0=00 | 0 | 0 | 1=1 | 1 | 0 | 1=1 | 0 | 1 | 0=1在数字电路中,有相应的集成电路实现相应的逻辑功能在数字电路中,有相应的集成电路实现相应的逻辑功能:(或门或门)四、二进制四、二进制数的逻辑运算数的逻辑运算1. 运算规则运算规则v与(与(AND、&、 ):多位相与,见):多位相与,见0为为0,全,全1为为1;v或(或(OR、|、+):多位相或,见):多位相或,见1为为1,全,全0为为0;v非(非(NOT、/) :1变变0,0变变1;v异或(异或(XOR、 );两位异或,不同

20、为);两位异或,不同为1,相同为,相同为0如:如:/1=0/0=11 0=0 1=10 0=1 1=0非门异或门四、二进制四、二进制数的逻辑运算数的逻辑运算1. 运算规则运算规则v与门、或门、非门为数字电路中的基本门电路,通过它们与门、或门、非门为数字电路中的基本门电路,通过它们之间的组合还可构成与非门、或非门等门电路;之间的组合还可构成与非门、或非门等门电路;与非门:与非门:Out=/(In1&In2&Inm);见见0为为1,全,全1为为0或非门:或非门:Out=/(In1|In2|Inm);见见1为为0,全,全0为为1四、二进制四、二进制数的逻辑运算数的逻辑运算2. 二进制数的逻辑运算二进

21、制数的逻辑运算v多个二进制数之间的与、或、异或运算只需按位各自运多个二进制数之间的与、或、异或运算只需按位各自运算即可;如:算即可;如:A&B 1101 1010& 1001 1001 1001 1000所以,所以,A&B=1001 1000B=98HA=0DAHA=0DAHB=99HB=99HA|B1101 1010| 1001 10011101 1011所以,所以,A | B=1101 1011B=0DBHA B 1101 1010 1001 1001 0100 0011所以,所以,A B=0100 0011B=43H四、二进制四、二进制数的逻辑运算数的逻辑运算2. 二进制数的逻辑运算二进

22、制数的逻辑运算v多个二进制数之间的与、或、异或运算只需按位各自运多个二进制数之间的与、或、异或运算只需按位各自运算即可;练习:算即可;练习:A&B 1111 0000& 0101 10100101 0000所以,所以,A&B=0101 0000B=50HA=0F0H A=0F0H ,B=5AHB=5AH, 求求A A&B B 、A|BA|B、 A A B BA|B 1111 0000| 0101 1010 1111 1010所以,所以,A | B= 1111 1010 B=0FAHA B 1111 0000 0101 10101010 1010所以,所以,A B= 1010 1010 B=0A

23、AH五、五、BCD数的加、减运算数的加、减运算v十进制数十进制数35的非压缩的非压缩BCD数是数是35H,17的非压缩的非压缩BCD数数是是17H;v若通过若通过BCD数来计算所对应的十进制数的和、差:数来计算所对应的十进制数的和、差:35H+17H=4CH(52H?)35H-17H=1EH(18H?)可以看出,加减运算的结果并没有得到我们所预期的括可以看出,加减运算的结果并没有得到我们所预期的括号中的值,号中的值,Why?BCDWhy?BCD数按照数按照1616进制的加、减法则,并没进制的加、减法则,并没有按照十进制法则;要想得到正确的有按照十进制法则;要想得到正确的BCDBCD数结果,必需在执数结果,必需在执行完行完BCDBCD数的加、减操作后进行数的加、减操作后进行BCDBCD数的调整数的调整;vBCDBCD数的调整在数的调整在PCPC中有专门的调整指令,用户只需牢记中有专门的调整指令,用户只需牢记“在在BCDBCD数的加、减命令后一定要用数的加、减命令后一定要用BCDBCD调整指令进行调整指令进行BCDBCD数的调整才能得到正确的数的调整才能得到正

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论