微机原理课件1数制与码制_第1页
微机原理课件1数制与码制_第2页
微机原理课件1数制与码制_第3页
微机原理课件1数制与码制_第4页
微机原理课件1数制与码制_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

微机原理物理与电子科学学院2017年9月课程资源百度云盘:课程安排与参考书目TP313/97-5X86PC汇编语言、设计与接口(第五版)、MuhammadAliMazidi等、电子工业出版社、2011.1

TP36/52180x86IBMPC及兼容计算机(卷Ⅰ和卷Ⅱ):汇编语言、设计与接口技术(第4版),MuhammadAliMazidi等、清华大学出版社、2004.6

TP36/364-3微型计算机技术及应用、戴梅萼、清华大学出版社、2003.8TP36/657-2微机原理与接口技术:基于8086和Proteus仿真、顾晖、2015理论课时:50实验课时:14课程设计:2周熟悉三个软件1、Masm2、Emu80863、Proteus台式电脑笔记本电脑四核ARMA9超迷你小板

尺寸只有100×72毫米,搭载四核处理器,ARMCortex-A9架构,主频1.0GHz,热设计功耗仅7W。嵌入式X86计算机主板5.25″

单板计算机EC5-370VDNA工业计算机单板计算机单板电脑BeagleBoneBlack超小单板计算机A9处理器及三星LPDDR42GB内存高通MDM9635M基带通信芯片美盛MP67B六轴螺旋仪以及加速度计博世3P7LA三轴加速度计思佳讯SKY77812电源放大模块超群半导体TQF6405功率放大模块安华高ACPM-8030功率放大模块57A6CVI芯片高通QFE1100包络追踪芯片16GB闪存16GB闪存WiFi模块66V10NFC控制器Dialog338S00120电源管理IC音频IC高通PMD9635电源管理ICSKY77357功率放大模块村田240前端模块威讯RF5150天线切换器CirrusLogic338S1285音频IC恩智浦1610A3芯片高通WTR3925射频收发器德州仪器65730AOP电源管理IC第1章

数制与码制

本章要点:数制表示法数制之间的转化二进制数运算有符号数的表示ASCII码§1.1二进制数的基础知识对于n位整数m位小数的任意十进制数N,有:(=0,1,…9)==357.32如:§1.1二进制数的基础知识对于n位整数m位小数的任意二进制数,有:(=0或1)如:==§1.1二进制数的基础知识对于n位整数m位小数的任意十六进制数有:(=0,1,…9,A,B,C,D,E,F)如:==§1.1二进制数的基础知识二、各种进制间的相互转换1.十进制任意进制数(设为P进制)的转换规则(1)整数部分:N除以P取余数

§1.1二进制数的基础知识23012150

……余数为:1=275

……余数为:0=237

……余数为:1=2

18

……余数为:1=2

9

……余数为:0=

22

……余数为:0=

24

……余数为:1=

2

1

……余数为:0=

0

……余数为:1=

例2.十进制数301二进制数转换过程如下:∴301=100101101B低位高位§1.1二进制数的基础知识(2)纯小数部分:N乘以P取整数例1.十进制小数0.6875二进制小数转换过程如下:

∴0.6875=0.1011B低位高位0.52=1.0=1

0.752=1.5=1

0.3752=0.75=00.68752=1.375=1

§1.1二进制数的基础知识2.任意进制数十进制数的转换规则按权展开1001001011010.101001111B

125A.A78H如:3.二进制十六进制数的转换规则§1.1二进制数的基础知识三、二进制数的算术运算

二进制计数制不仅物理实现容易,且运算方法也比十进制计数制大为简单,所以计算机中均采用二进制数。二进制数的算术运算包括加、减、乘、除。例:10110101B+00001111B

、、、、、、11000100B、、10110101B-00001111B10100110B§1.1二进制数的基础知识四、二进制数的逻辑运算二进制数的逻辑运算包括与、或、异或、非四种运算。10110101B00001111B10111111B10110101B00001111B10111010B10110101B例:00001111B00000101BX=10110101B

=

01001010B§1.2有符号二进制数的表示方法及溢出问题一、有符号二进制数的表示方法

前面我们接触的二进制数均为无符号数,即所有二进制数位均为数值位,很多情况下都是这样对待的。但在有些情况下,有些数值是带符号的,即可能是正数,也可能是负数。这样就存在一个有符号二进制数的表示方法问题。1.数的符号表示方法

为了表示一个有符号数,除了数值位以外,还应制定符号位,通常以这个数的最高位表示符号位。

§1.2有符号二进制数的表示方法及溢出问题

我们假定讨论的数为整数,对8位有符号二进制整数,用下表示:数值部分符号位0:表示正数1:表示负数

这种表示方法称为机器数表示法。有符号二进制数的真值为它对应的十进制数。§1.2有符号二进制数的表示方法及溢出问题2.原码表示法

如果正数的符号位用0表示,负数的符号位用1表示,绝对值的编码规则与前面讲的无符号数编码规则相同,这种表示方法称为原码表示法。一个数X的原码记为:原[X]数值部分=绝对值(用无符号二进制数表示)符号位00000011+3的表示

=00000011B原[+3]§1.2有符号二进制数的表示方法及溢出问题10000011-3的表示

=10000011B原[-3]原[+0]原[-0]=00000000B=10000000B数0的两种表示方法对8位有符号二进制数用原码表示的范围:正数从0000000001111111,+0+127负数从1000000011111111,-0-127§1.2有符号二进制数的表示方法及溢出问题优点:表示简单,易于理解,真值转换方便。缺点:+、-运算麻烦。因为它仅仅是将其值的符号用一位二进制数表示,因而它的原码数的+、-运算完全同笔算。如两个正数相减,计算机首先要判断被减数的绝对值与减数的绝对值的大小,然后决定是颠倒过来相减,还是直接相减。最后在结果的前面加上正确的正负号。所以,势必增加运行时间,降低速度,使运算器的逻辑复杂化。为了改进它,引进了补码的概念。有符号二进制数用原码表示的优缺点:§1.2有符号二进制数的表示方法及溢出问题3.补码表示法(1)补码的概念一个数X的补码记为,补码可定义为:补[X]补[x]=x

当(mod)

从定义可见,正数的补码=原码,即所以,只有负数求补的问题。补[x]原[x]=§1.2有符号二进制数的表示方法及溢出问题利用原码求补码

一个负数的补码等于其原码除符号位保持不变外,其余各位按位取反,再在最低位加1。补[X]如:x=-1010111B=10101000B+1=10101001B原[X]=11010111B值的注意的是:0的补码只有唯一的形式,符号位和数值位均为0。无正负0之分。(2)一个数的补码的求法简便的直接求补码(从右往左看)§1.2有符号二进制数的表示方法及溢出问题

如果计算机的字长为n位,n位二进制数的最高位为符号位,其余n-1位为数值位,采用补码表示法时,可表示的数X的范围为:当n=8时,可表示的有符号数的范围为:当n=16时,可表示的有符号数的范围为:-32768-128+127

§1.2有符号二进制数的表示方法及溢出问题(3)数的补码表示转换为原码表示

一个用补码表示的负数,如将再求一次补,就可得到,用下式表示:原[X]补[X]原[X]补[X]补=补[X]补补[X]如:=10101001B=11010111B=原[X]§1.2有符号二进制数的表示方法及溢出问题(4)补码的运算规则第一个公式:两个n位二进制数之和的补码等于这两数补码之和,即:补[Y]补[X]补[X+Y]=+例:(+33)+(-15)00100001B+11110001B

[1]00010010B[+33][-15][+18]补补补进位,丢掉§1.2有符号二进制数的表示方法及溢出问题补[Y]补[X]补[X-Y]=-第二个公式:两个n位二进制数之差的补码等于这两数补码之差,即:例:(+33)-(-15)00100001B-11110001B

[1]00110000B[+33][-15][+48]补补补借位,丢掉§1.2有符号二进制数的表示方法及溢出问题第三个公式:补码减法运算时,也可以利用加法基本公式,即:补[-Y]补[X]补[X-Y]=+(mod)因为:X-Y=X+(-Y)补[X+(-Y)]补[X-Y]==+补[-Y]补[X]所以:一般称已知,求得的过程叫变补或求负。补[Y]补[-Y]§1.2有符号二进制数的表示方法及溢出问题变补或求负是一种很有用的运算。求法:补[Y]补[-Y]

若已知=

……

,则对的每一位(包括符号位)都按位取反,然后再加1,即为。补[Y]例:(+33)-(+15)00100001B-00001111B

00010010B[+33][+15][+18]补补补00100001B+11110001B[1]

00010010B[+33][-15][+18]补补补借位,丢掉(公式二)(公式三)§1.2有符号二进制数的表示方法及溢出问题

两个有符号数进行加减运算时,如果运算结果超出可表示的有符号数的范围时,就会发生溢出,使计算结果出错。很显然,溢出只能出现在两个同号数相加或两个异号数相减的情况下。二、有符号数运算的溢出问题§1.2有符号二进制数的表示方法及溢出问题例:

(+72)+(+98)=+170>+127溢出01001000B01100010B10101010B+补[+72]补[-86]补[+98]有进位=1无进位=0溢出,结果出错(正溢出)设次高位(数值部分最高位)向最高位(符号位)的进位标志为;最高位(符号位)往前的进位为。§1.3二进制编码的十进制数(BCD编码)一、8421BCD码

前面讲过,计算机只认识0、1二进制代码,但人们最习惯的是十进制。为了解决这一矛盾,提出了一个比较适合于十进制系统的二进制代码的特殊形式—BCD码。

BCD码是用四位二进制数表示1位0—9的十进制数,而4位二进制数码有16种组合,原则上可任选10种作为代码,但为便于记忆和比较直观,最常用的是8421BCD码,8、4、2、1分别是4位二进制数的位权值。下面给出十进制数和8421BCD编码的对应关系。§1.3二进制编码的十进制数(BCD编码)1000801117011060101501004001130010200011000008421BCD码十进制数10019

§1.3二进制编码的十进制数(BCD编码)如:十进制数和BCD码相互转换75.4BCD码75.4=BCD码10000101.0101十进制数=85.5

同一个8位二进制代码表示的数,当认为它表示的是二进制数和认为它表示的是二进制编码的十进制数,数值是不相同的。如:=24=18§1.3二进制编码的十进制数(BCD编码)在计算机中,BCD码有两种基本格式a.组合式BCD码b.分离式BCD码a.组合式BCD码两位十进制存放在一个字节中。如数24的存放格式:

0010010024§1.3二进制编码的十进制数(BCD编码)b.分离式BCD码每位数存放在8位字节的低4位,高4位的内容与数值无关。如数24的存放格式:

xxxx001042

xxxx0100二、BCD码的加减法运算

下面我们以组合式BCD码格式为例讨论BCD码的加减运算。由于BCD编码是将每个十进制数用一组4位二进制数表示,若将这种BCD编码直接交计算机运算,计算机总是把它按二进制数处理,所以结果可能出错。§1.3二进制编码的十进制数(BCD编码)如:38+49=8700111000010010011000000138498781显然,结果出错。出错原因:十进制相加应逢十进一,但计算机按二进制运算,每四位一组,低四位向高四位进位相当十六进制运算,“逢十六进一”。所以当结果超过9时将比正确值少6。解决办法:加六修正

§1.3二进制编码的十进制数(BCD编码)加六修正规则:

(1)如果两个BCD码位相加没有进位,并且结果≤9,则该位不需修正。

(2)如果两个BCD码位相加有进位,或者其结果≥10,该位进行加六修正。

(3)低位修正结果使高位>9时,高位进行加六修正。例:94+7=101

§1.3二进制编码的十进制数(BCD编码)100101009410100001

高4位满足法则300000111

温馨提示

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

评论

0/150

提交评论