汇编语言与接口技术.ppt_第1页
汇编语言与接口技术.ppt_第2页
汇编语言与接口技术.ppt_第3页
汇编语言与接口技术.ppt_第4页
汇编语言与接口技术.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1,常见术语 计算机中的数据表示,微机原理预备知识,2,1. 位 ( bit ) 2. 字节 ( Byte ) 3. 字和字长 (word) 4. 位编号,1 常用术语,3,1. 位 ( bit) 指计算机能表示的最基本最小的单位 在计算机中采用二进制表示数据和指令,故: 位就是一个二进制数,有两种状态,“0” 和 “1”,2. 字节 ( Byte ) 相邻的8位二进制数称为一个字节 1 Byte = 8 bit 如: 1100 0011 0101 0111,4,3字和字长,字是CPU内部进行数据处理的基本单位。,把一个字定为16 位, 1 Word = 2 Byte 一个双字定为32位 1 DWord = 2 Word= 4 Byte,5,字长是衡量CPU工作性能的一个重要参数。,字长是指机器在某时刻可以同时处理二进制数的位数。 通常称处理字长为8位数据的CPU叫8位CPU, 32位CPU就是在同一时间内处理字长为32位的二进制数据。,6,例 某CPU内含 8位运算器,则: 参加运算的数及结果均以 8位 表示, 最高位产生的进位或借位在8位运算器中不保存,而将其保存到标志寄存器中,7,4. 位编号 为便于描述,对字节,字和双字中的各位进行编号。 从低位开始,从右到左依次为 0、1、2,8,D0,D7,D15,D8,15,8,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,7,0,A0,A7,A15,A8,字的编号为15 0,双字的编号依此类推,为31 0,9,2 计算机中的数据表示,数制及其表示方法 数据表示与运算,?,2.1 数制的表示 1.常用数制 (1)十进制数 我们熟悉的十进制数有两个主要特点: 有十个不同的数字符号:0、1、2、9; 低位向高位进、借位的规律是“逢十进一”“借一当十”的计数原则进行计数。 例如: 1234.45=1103210231014100410-1 510-2 式中的10称为十进制数的基数, 103、102、101、100、10-1、10-2称为各数位的权。十进制数用D结尾表示。,(2)二进制数 在二进制中只有两个不同数码:0和1,进位规律是“逢二进一”“借一当二”的计数原则进行计数。二进制数用B结尾表示。 例如,二进制数11011011.01可表示为: (11011011.01)B=12712602512412302212112002-112-2 (3)八进制数 在八进制中有0、1、2、7八个不同数码,采用“逢八进一”“借一当八”的计数原则进行计数。八进制数用Q结尾表示。 例如,八进制数(503.04)Q可表示为: (503.04)Q=582+081+380+08-1+48-2,(4)十六进制数 在十六进制中有0、1、2、9、A、B、C、D、E、F共十六个不同的数码,采用“逢十六进一”“借一当十六”的计数原则进行计数。十六进制数用H结尾表示。 例如,十六进制数(4E9.27)H可表示为 (4E9.27)H=4162141619160216-1716-2 2不同进制数之间的相互转换 表1列出了二、八、十、十六进制数之间的对应关系,熟记这些对应关系对后续内容的学习会有较大的帮助。,(1)二、八、十六进制数转换成为十进制数 根据各进制的定义表示方式,按权展开相加,即可转换为十进制数。 【例1-1】将(10101)B,(72)Q,(49)H转换为十进制数。 (10101)B=124023122021120=37 (72)Q=781+280=58 (49)H=41619160=73 (2)十进制数转换为二进制数 十进制数转换二进制数,需要将整数部分和小数部分分开,采用不同方法进行转换,然后用小数点将这两部分连接起来。,整数部分:除2取余法。 具体方法是:将要转换的十进制数除以2,取余数;再用商除以2,再取余数,直到商等于0为止,将每次得到的余数按倒序的方法排列起来作为结果。 【例1-2】将十进制数25转换成二进制数,所以(25)D=11001B,小数部分:乘2取整法。 具体方法是:将十进制小数不断地乘以2,直到积的小数部分为零(或直到所要求的位数)为止,每次乘得的整数依次排列即为相应进制的数码。最初得到的为最高有效数位,最后得到的为最低有效数字。 【例1-3】将十进制数0.625转换成二进制数。,所以(0.625)D=0.101B,【例1-4】将十进制数25.625转换成二进制数,只要将上例整数和小数部分组合在一起即可,即(25.625)D=(11001.101)B 例如:将十进制193.12转换成八进制数。,所以(193.12)D (301.075)Q,(3) 二进制与八进制之间的相互转换 由于23=8,故可采用“合三为一”的原则,即从小数点开始向左、右两边各以3位为一组进行二-八转换:若不足3位的以0补足,便可以将二进制数转换为八进制数。反之,每位八进制数用三位二进制数表示,就可将八进制数转换为二进制数。 【例1-5】将(10100101.01011101)B 转换为八进制数。 010 100 101.010 111 010 2 4 5 . 2 7 2 即 (10100101.01011101)B =(245.272)Q,【例1-6】将(756.34)Q转换为二进制数。 7 5 6 . 3 4 111 101 110 . 011 100 即 (756.34)Q=(111101110.0111)B (4) 二进制与十六进制之间的相互转换 由于24=16,故可采用“合四为一”的原则,即从小数点开始向左、右两边各以4位为一组进行二十六转换,若不足4位的以0补足,便可以将二进制数转换为十六进制数。反之,每位十六进制数用四位二进制数表示,就可将十六进制数转换为二进制数。,【例1-7】将(1111111000111.100101011)B转换为十六进制数。 0001 1111 1100 0111 . 1001 0101 1000 1 F C 7 . 9 5 8 即 (111111000111.100101011)B =(1FC7.958)H 【例1-8】将(79BD.6C)H转换为二进制数。 7 9 B D . 6 C 0111 1001 1011 1101 . 0110 1100 即 (79BD.6C)H=(111100110111101.011011)B,2.3.1 二进制数在计算机内的表示 1.机器数 在计算机中,因为只有“0”和“1”两种形式,所以数的正、负号,也必须以“0”和“1”表示。通常把一个数的最高位定义为符号位,用0表示正,1表示负,称为数符,其余位仍表示数值。把在机器内存放的正、负号数码化的数称为机器数,把机器外部由正、负号表示的数称为真值数。,2.3计算机数值数据表示与运算,【例1-11】真值为(-0101100)B的机器数为10101100,存放在机器中,如图1.3所示。,图1.3 真值B在机器中的存放 要注意的是,机器数表示的范围受到字长和数据的类型的限制。字长和数据类型定了,机器数能表示的数值范围也就定了。 例如,若表示一个整数,字长为8位,则最大的正数为01111111,最高位为符号位,即最大值为127。若数值超出127,就要“溢出”。最小负数为10000000,最高位为符号位,即最小值为-128。,2. 带符号数的表示 在计算机中,带符号数可以用不同方法表示,常用的有原码、反码和补码。 (1)原码 【例1-13】当机器字长n=8时: +1原0 0000001, -1原1 0000001 +127原0 1111111, -127原1 111111l,由此可以看出,在原码表示法中: 最高位为符号位,正数为0,负数为1,其余n-1位表示数的绝对值。 在原码表示中,零有两种表示形式,即: +000000000, -010000000。,(2)反码 【例1-14】当机器字长n=8时: +1反00000001, -1反11111110 +127反01111111, -127反10000000 由此看出,在反码表示中: 正数的反码与原码相同, 负数的反码只需将符号位保留不变,其余位求反。,反码表示方式中,零有两种表示方法: +0反00000000, -0反11111111。,(3)补码 【例1-15】当机器字长n8时, +1补00000001, -1补11111111 +127补01111111, -127补10000001 由此看出,在补码表示中: 正数的补码与原码、反码相同, 负数的补码等于它的反码加l。 在补码表示中,0有唯一的编码: 0补0补00000000。 补码的运算方便,二进制的减法可用补码的加法实现,使用较广泛。,【例1-16】假定计算机字长为8位,试写出122的原码、反码和补码。 122原122反122补01111010B 【例1-17】假定计算机字长为8位,试写出45的原码、反码和补码。 45原10101101B 45反11010010B 45补11010011B 对于用补码表示的负数,首先认定它是负数,而后用求它的补码的方法可得到它的真值。 【例1-18】试写出计算机中存储的数11011001的真值。 ( 11011001 )补( 11011001 )反110100111B39,负数在计算机中 是以补码的形式保存的,2.3.2 补码的运算 在微处理机中,使用补码进行运算是十分方便的,它使同一个微处理机中既能运算带符号数又能运算不带符号的数。而且,在采用补码表示带符号数的情况下,两个数的减法可以用加法来实现。 X+Y补=X补+Y补 X-Y补=X补+-Y补 在进行带符号数的加减运算时,应把参与运算的数据转换成补码形式进行运算。当使用8位二进制数表示带符号的数时,它所能表示的数值范围在(-128)D(+127)D之间,如果相加结果超出了这个范围,就会导致错误发生。,【例1-20】两个带符号的数(01000001)B(十进制数+65)与(01000011)B(十进制数+67) 例中是两个正数相加,但结果却是一个负数符号位为1。显然,这个结果是错误的,出现这种错误的原因就在于这两个数相加的结果超过了8位二进制带符号数所能表示的数值范围。 【例1-21】两个负数(10001000)B和(11101110)B的相加情况。,由于规定用8位二进制数来表示带符号的数,故忽略作为进位位的第九位。按8位二进制数来解释这两个符号数的相加,其结果为一个正数。很明显,结果是错误的。 【例1-22】两个无符号数(11111101)2和(00000011)2相加:,从相加计算的结果来看,如果微处理机只有8位,也就是用8位二进制数来解释运算的结果,则将出现错误。因此,在微处理机中设有专门的一位,称为进位位,它将用于保存第九位以防丢失信息。,2.3.3

温馨提示

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

评论

0/150

提交评论