汇编语言与接口技术.ppt

上传人:xin****828 文档编号:19999707 上传时间:2021-01-23 格式:PPT 页数:30 大小:427KB
返回 下载 相关 举报
汇编语言与接口技术.ppt_第1页
第1页 / 共30页
汇编语言与接口技术.ppt_第2页
第2页 / 共30页
汇编语言与接口技术.ppt_第3页
第3页 / 共30页
点击查看更多>>
资源描述
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内部进行数据处理的基本单位。 位 1 或 0 1位 字节 1100 0011 8位 字 1100 0011 0011 1100 16位 双字 1100 0011 0011 1100 1100 0011 0011 1100 32位 高字节 低字节 高 字 低 字 把一个 字 定为 16 位 , 1 Word = 2 Byte 一个 双字 定为 32位 1 DWord = 2 Word= 4 Byte 5 字长是衡量 CPU工作性能的一个重要参数。 1010 1100 0110 0101 1001 1000 0100 0011 被加数 + 1100 0011 1100 0011 0001 0101 0101 1000 加数 进位 1 1 1111 1 111 1 1 0111 0000 0010 1000 1010 1101 1001 1011 和 4位 8次 8位 4次 16位 2次 32位 1次 字长 是指机器在某时刻可以同时处理二进制数的位数。 通常称处理字长为 8位数据的 CPU叫 8位 CPU, 32位 CPU就是在同一时间内处理字长为 32位的二进制数据。 6 例 某 CPU内含 8位运算器 ,则: 参加运算的数及结果均以 8位 表示 , 最高位产生的进位或借位在 8位运算器中不保存, 而将其保存到标志寄存器中 1 0 1 1 0 1 0 1 被加数 8位 + 1 0 0 0 1 1 1 1 加数 8位 进位 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 和 8位 PSW 标志寄存器 运 算 器 标志 寄存器 运 算 器 被加数 加数 和 进位 7 4. 位编号 为便于描述 , 对字节 ,字和双字中的各位进行编号 。 从低位开始 , 从右到左依次为 0、 1、 2 编号 7 6 5 4 3 2 1 0 1 0 1 0 0 0 1 0 D7 D6 D5 D4 D3 D2 D1 D0 A7 A6 A5 A4 A3 A2 A1 A0 字节 数据 Data 地址 Address 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=1 103 2 102 3 101 4 100 4 10-1 5 10-2 式中的 10称为十进制数的基数 , 103、 102、 101、 100、 10-1、 10-2称为各数 位的权。十进制数用 D结尾表示。 ( 2)二进制数 在二进制中只有两个不同数码: 0和 1,进位规律是“ 逢二进一 ”“ 借 一当二 ”的计数原则进行计数。二进制数用 B结尾表示。 例如,二进制数 11011011.01可表示为: (11011011.01)B=1 27 1 26 0 25 1 24 1 23 0 22 1 21 1 20 0 2-1 1 2-2 ( 3)八进制数 在八进制中有 0、 1、 2 、 7八个不同数码,采用“逢八进一”“借一 当八”的计数原则进行计数。八进制数用 Q结尾表示。 例如,八进制数( 503.04) Q可表示为: ( 503.04) Q=5 82+0 81+3 80+0 8-1+4 8-2 ( 4)十六进制数 在十六进制中有 0、 1、 2 、 9、 A、 B、 C、 D、 E、 F共十 六个不同的数码,采用“逢十六进一”“借一当十六”的计数 原则进行计数。十六进制数用 H结尾表示。 例如,十六进制数( 4E9.27) H可表示为 ( 4E9.27) H=4 162 14 161 9 160 2 16-1 7 16-2 2不同进制数之间的相互转换 表 1列出了二、八、十、十六进制数之间的对应关系,熟 记这些对应关系对后续内容的学习会有较大的帮助。 ( 1)二、八、十六进制数转换成为十进制数 根据各进制的定义表示方式,按权展开相加,即可转换 为十进制数。 【 例 1-1】 将( 10101) B, (72)Q,( 49) H转换为十进制数。 (10101)B=1 24 0 23 1 22 0 21 1 20=37 (72)Q=7 81+2 80=58 (49)H=4 161 9 160=73 ( 2)十进制数转换为二进制数 十进制数转换二进制数 ,需要将整数部分和小数部分分开 , 采用不同方法进行转换 ,然后用小数点将这两部分连接起来。 整数部分: 除 2取余法。 具体方法是:将要转换的十进制数除以 2,取余 数;再用商除以 2,再取余数,直到商等于 0为止,将 每次得到的余数按倒序的方法排列起来作为结果。 【 例 1-2】 将十进制数 25转换成二进制数 2 5 2 1 2 1 2 2 6 0 2 3 0 2 1 1 0 1 余 数 最 低 位 最 高 位 所以( 25) D=11001B 小数部分: 乘 2取整法。 具体方法是:将十进制小数不断地乘以 2,直到积的小 数部分为零(或直到所要求的位数)为止,每次乘得的整数 依次排列即为相应进制的数码。最初得到的为最高有效数位, 最后得到的为最低有效数字。 【 例 1-3】 将十进制数 0.625转换成二进制数。 0.625 2 1.250 2 0.5 2 1.0 1 0 1 最高位 最低位 所以( 0.625) D=0.101B 【 例 1-4】 将十进制数 25.625转换成二进制数,只要将上例整数 和小数部分组合在一起即可,即 (25.625)D=(11001.101)B 例如:将十进制 193.12转换成八进制数。 1 9 3 2 4 1 3 0 0 3 8 8 8 余数 最高位 最低位 0.12 8 0.96 0 8 7.68 7 8 5.44 5 取整 最高位 最低位 所以( 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 0 1 0 1 1 0 0 符 号 位 图 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位 表示数的绝对值。 在原码表示中,零有两种表示形式,即: +0 00000000, -0 10000000。 (2)反码 【 例 1-14】 当机器字长 n=8时: +1反 00000001, -1反 11111110 +127反 01111111, -127反 10000000 由此看出,在反码表示中: 正数的反码与原码相同, 负数的反码只需将符号位保留不变,其余位求反。 反码表示方式中,零有两种表示方法: +0反 00000000, -0反 11111111。 ( 3)补码 【 例 1-15】 当机器字长 n 8时, +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 )反 1 10100111B 39 负数在计算机中 是以补码的形式保存的 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的相加情况 。 + 01000001 01000011 10000100 10001000 11101110 01110110 + 1 由于规定用 8位二进制数来表示带符号的数,故忽略作 为进位位的第九位。按 8位二进制数来解释这两个符号数的 相加,其结果为一个正数。很明显,结果是错误的。 【 例 1-22】 两个无符号数 (11111101)2和 (00000011)2相加: + 1 11111101 00000011 00000000 从相加计算的结果来看,如果微处理机只有 8位,也就是 用 8位二进制数来解释运算的结果,则将出现错误。因此, 在微处理机中设有专门的一位,称为 进位位 ,它将用于保存 第九位以防丢失信息。 2.3.3 逻辑运算 ( 1)“与”运算 。 “与”运算的运算规则是: 00=0 01=0 10=0 11=1 【 例 1-23】 二进制数 01011101B和 11010101B相与。 01011101 11010101 01010101 ( 2)“或”运算。 “或”运算的运算规则是: 0 0=0 01=1 10=1 11=1 【 例 1-24】 二进制数 10101101和 01010000相或。 10101101 01010000 11111101 ( 3)“异或”运算。 “异或”运算的运算规则是 : 00=0 01=1 10=1 11=0 【 例 1-25】 二进制数 10101101和 01101110相异或。 10101101 01101110 11000011 +
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!