汇编语言与接口技术.ppt

上传人:牧羊曲112 文档编号:5993740 上传时间:2023-09-12 格式:PPT 页数:30 大小:300.50KB
返回 下载 相关 举报
汇编语言与接口技术.ppt_第1页
第1页 / 共30页
汇编语言与接口技术.ppt_第2页
第2页 / 共30页
汇编语言与接口技术.ppt_第3页
第3页 / 共30页
汇编语言与接口技术.ppt_第4页
第4页 / 共30页
汇编语言与接口技术.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《汇编语言与接口技术.ppt》由会员分享,可在线阅读,更多相关《汇编语言与接口技术.ppt(30页珍藏版)》请在三一办公上搜索。

1、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工作

2、性能的一个重要参数。,字长是指机器在某时刻可以同时处理二进制数的位数。通常称处理字长为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,双字的编号依此类推,

3、为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结尾表示。例如,二进

4、制数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=41621

5、41619160216-1716-22不同进制数之间的相互转换 表1列出了二、八、十、十六进制数之间的对应关系,熟记这些对应关系对后续内容的学习会有较大的帮助。,(1)二、八、十六进制数转换成为十进制数 根据各进制的定义表示方式,按权展开相加,即可转换为十进制数。【例1-1】将(10101)B,(72)Q,(49)H转换为十进制数。(10101)B=124023122021120=37(72)Q=781+280=58(49)H=41619160=73(2)十进制数转换为二进制数 十进制数转换二进制数,需要将整数部分和小数部分分开,采用不同方法进行转换,然后用小数点将这两部分连接起来。,整数部分

6、:除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转换成二进制数,只要将上例整数和小数部分组合在一起即可,即

7、(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,【

8、例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】将转换为十六进制数。0001 1111 1100 0111.1001 0101 1000 1 F C 7.9 5 8 即()B=(1FC7.958)H【例1-

9、8】将(79BD.6C)H转换为二进制数。7 9 B D.6 C 0111 1001 1011 1101.0110 1100 即(79BD.6C)H=()B,2.3.1 二进制数在计算机内的表示1.机器数 在计算机中,因为只有“0”和“1”两种形式,所以数的正、负号,也必须以“0”和“1”表示。通常把一个数的最高位定义为符号位,用0表示正,1表示负,称为数符,其余位仍表示数值。把在机器内存放的正、负号数码化的数称为机器数,把机器外部由正、负号表示的数称为真值数。,2.3计算机数值数据表示与运算,【例1-11】真值为(-0101100)B的机器数为10101100,存放在机器中,如图1.3所示。

10、,图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,由此可以看出,在原码

11、表示法中:最高位为符号位,正数为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,-12

12、7补10000001 由此看出,在补码表示中:正数的补码与原码、反码相同,负数的补码等于它的反码加l。在补码表示中,0有唯一的编码:0补0补00000000。补码的运算方便,二进制的减法可用补码的加法实现,使用较广泛。,【例1-16】假定计算机字长为8位,试写出122的原码、反码和补码。122原122反122补01111010B【例1-17】假定计算机字长为8位,试写出45的原码、反码和补码。45原10101101B45反11010010B45补11010011B 对于用补码表示的负数,首先认定它是负数,而后用求它的补码的方法可得到它的真值。【例1-18】试写出计算机中存储的数11011001

13、的真值。(11011001)补(11011001)反110100111B39,负数在计算机中是以补码的形式保存的,2.3.2 补码的运算 在微处理机中,使用补码进行运算是十分方便的,它使同一个微处理机中既能运算带符号数又能运算不带符号的数。而且,在采用补码表示带符号数的情况下,两个数的减法可以用加法来实现。X+Y补=X补+Y补 X-Y补=X补+-Y补 在进行带符号数的加减运算时,应把参与运算的数据转换成补码形式进行运算。当使用8位二进制数表示带符号的数时,它所能表示的数值范围在(-128)D(+127)D之间,如果相加结果超出了这个范围,就会导致错误发生。,【例1-20】两个带符号的数(010

14、00001)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)“与”运算。“与”运算的运算规则是:00=0 01=0 10=0 11=1【例1-23】二进制数01011101B和11010101B相与。,(2)“或”运算。“或”运算的运算规则是:0 0=0 01=1 10=1 11=1,【例1-24】二进制数10101101和01010000相或。,(3)“异或”运算。“异或”运算的运算规则是:00=0 01=1 10=1 11=0【例1-25】二进制数10101101和01101110相异或。,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号