钱晓捷,微机原理与接口技术第4版—基于IA-32处理器和32位汇编语言 第3章 教据处理 3.1数据表示 35算术运算类指令 3.2常量表达 3.6位操作类指令 3.3变量应用 3.7串操作类指令 3.4数据传送类指令3.8IA-32指令系统
钱晓捷,微机原理与接口技术·第4版——基于IA-32处理器和32位汇编语言 第 3 章 数据处理 3.1 数据表示 3.2 常量表达 3.3 变量应用 3.4 数据传送类指令 3.5 算术运算类指令 3.6 位操作类指令 3.7 串操作类指令 3.8 IA-32指令系统
概31数据表示 理数据(Data):计算机处理的对象 对应指令操作的对象:操作数( Operand) 不>计算机中的数据要用二进制的0和组合表示 进入计算机的任何信息都要转换成0和1数码 机>IA-32整数指令支持的基本数据类型 ·8、16、32、64位无符号整数 田·8、16、32、64位有符号整数 社· ASCII-字符、字符串和BD码
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 3.1 数据表示 ➢数据(Data):计算机处理的对象 ➢对应指令操作的对象:操作数(Oprand) ➢计算机中的数据要用二进制的0和1组合表示 ➢进入计算机的任何信息都要转换成0和1数码 ➢IA-32整数指令支持的基本数据类型 8、16、32、64位无符号整数 8、16、32、64位有符号整数 ASCII字符、字符串和BCD码
3.11数制 理>人习惯使用十进制计数 计算机使用二进制进行数据处理 不>十六进制数便于表达二进制数 出 二进制数用后缀字母B 十六进制数用后缀字母H
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 3.1.1 数制 ➢人习惯使用十进制计数 ➢计算机使用二进制进行数据处理 ➢十六进制数便于表达二进制数 二进制数用后缀字母B 十六进制数用后缀字母H
概1.二进制 粤>便于计算机存储及物理实现 接 特点:逢二进一,由0和1两个数码组成,基 数为2,各个位权以表示 第 4 二进制数: 版 机 ndn-1 a1a b2…b 1c0。0102 m an×2n+an-1×2n-1+…+a1×21+a×20 业 出+b1×21+b×22+…+b×2m 版 柑其中a;,b:非0即1 二进制数的算术运算:逢2进1、借1当2 示意图
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 1. 二进制 ➢便于计算机存储及物理实现 ➢特点:逢二进一,由0和1两个数码组成,基 数为2,各个位权以2 k表示 ➢二进制数: anan-1 …a1a0.b1b2 …bm = an×2 n+an-1×2 n-1+…+a1×2 1+a0×2 0 +b1×2 -1+b2×2 -2+…+bm×2 -m 其中ai,bj非0即1 ➢二进制数的算术运算:逢2进1、借1当2 示意图
2.逻辑运算 理>事件的假和真可用数码0和表示 授→事件之间的关系可以利用二进制表达 >数字电路的低高电平用数码0和1表示 第号数字信号之间的关系可以利用二进制描述 版+数码0和1仅仅代表两种状态 機→它们的运算是逻辑运算 业>例如,4位二进制数的逻辑运算: 版·逻辑与AND 1101∧0011=0001 社 逻辑或OR: 1101V0011=1111 逻辑非NOT: 1101=0010 逻辑异或XOR:1101d0011=1110
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 2. 逻辑运算 ➢事件的假和真可用数码0和1表示 ➔事件之间的关系可以利用二进制表达 ➢数字电路的低高电平用数码0和1表示 ➔数字信号之间的关系可以利用二进制描述 ➔数码0和1仅仅代表两种状态 ➔它们的运算是逻辑运算 ➢例如,4位二进制数的逻辑运算: 逻辑与AND: 1101 0011 = 0001 逻辑或OR: 1101 0011 = 1111 逻辑非NOT: 1101 = 0010 逻辑异或XOR: 1101 0011 = 1110
3.十六进制 理用于表达二进制数,相互转换简单 接 基数16,逢16进位,位权为16 技 不>16个数码:0,1,2,3,4,5,6,7,8,9,A, 第 4 B,C, D,E, F 版 十六进制数: 机 械 ala 10·0102 业 出 an×16十an-1×161+…+a1×161+a0×160 社+b1×161+b2×162+…+bn×16m 其中a1,b是0~F中的一个数码 十六进制数的加减:逢16进位1,借1当16 加法减法
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 3. 十六进制 ➢用于表达二进制数,相互转换简单 ➢基数16,逢16进位,位权为16k ➢16个数码:0,1,2,3,4,5,6,7,8,9,A, B,C,D,E,F ➢十六进制数: anan-1 …a1a0.b1b2 …bm = an×16n+an-1×16n-1+…+a1×161+ a0×160 +b1×16-1+b2×16-2+…+bm×16-m 其中ai,bj是0~F中的一个数码 ➢十六进制数的加减:逢16进位1,借1当16 加法 减法
4.数制之间的转换 理十进制二进制十六进制BCD码_常用二进制位权 接 0000 23=0.125 0001 2-2=0.25 技 术 0010 2-1=0.5 0011 第 4 0123456789 0100 222 2 版 0101 机 0110 械 0111 0123456789 0123456789 23=8 24=16 业 1000 25=32 出 版 1001 26=64 社 10 1010 27=128 1011 28=256 12 1100 29=512 13 1101 10 210=1024 14 1110 ABCDEF 215=32768 15 216=65536
微机原理与接口技术·第4版机械工业出版社 4. 数制之间的转换 十进制 二进制 十六进制 BCD 码 常用二进制位权 0 0000 0 0 2 - 3 =0.125 1 0001 1 1 2 - 2 =0.25 2 0010 2 2 2 - 1 =0.5 3 0011 3 3 2 0 = 1 4 0100 4 4 2 1 = 2 5 0101 5 5 2 2 = 4 6 0110 6 6 2 3 = 8 7 0111 7 7 2 4 =16 8 1000 8 8 2 5 =32 9 1001 9 9 2 6 =64 10 1010 A 2 7 =128 11 1011 B 2 8 =256 12 1100 C 2 9 =512 13 1101 D 2 10 =1024 14 1110 E 2 15 =32768 15 1111 F 2 16 =65536
二进制数或十六进制数转换为十进制数 >方法:按权展开 二进制数转换为十进制数 术0011.1010B 4=1×21+1×20+1×21+0×22+1×23 机 =3.625 >十六进制数转换为十进制数 出 1.2H 社=1×160+2×16-1 =1.125
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 二进制数或十六进制数转换为十进制数 ➢方法:按权展开 ➢二进制数转换为十进制数 0011.1010B =1×2 1+1×2 0+1×2 -1+0×2 -2+1×2 -3 =3.625 ➢十六进制数转换为十进制数 1.2H =1×160+2×16-1 =1.125
十进制整数转换为二或十六进制数 理>整数部分转换:用除法 接 ●十进制数整数部分不断除以基数2或16, 技 术 并记下余数,直到商为0为止 第·由最后一个余数起逆向取各个余数,则为 版 转换成的二进制和十六进制数 机 械 126=01111110B 业 出 126=7EH 版 社 示意图
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 十进制整数转换为二或十六进制数 ➢整数部分转换:用除法 十进制数整数部分不断除以基数2或16, 并记下余数,直到商为0为止 由最后一个余数起逆向取各个余数,则为 转换成的二进制和十六进制数 126=01111110B 126=7EH 示意图
十进制小数转换为二或十六进制数 理>小数部分转换:用乘法 接 ●分别乘以各自的基数,记录整数部分,直 技 术 到小数部分为0为止 第 4 0.8125=0.1101B 版 0.8125=0.DH 机 楼>小数转换会发生总是无法乘到为0的情况 业 ·可选取一定位数(精度) ·将产生无法避免的转换误差 示意图
微 机 原 理 与 接 口 技 术 · 第 4 版 机 械 工 业 出 版 社 十进制小数转换为二或十六进制数 ➢小数部分转换:用乘法 分别乘以各自的基数,记录整数部分,直 到小数部分为0为止 0.8125=0.1101B 0.8125=0.DH ➢小数转换会发生总是无法乘到为0的情况 可选取一定位数(精度) 将产生无法避免的转换误差 示意图