汇编语言课件第6章带符号数字符串和表.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《汇编语言课件第6章带符号数字符串和表.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 课件 符号 字符串
- 资源描述:
-
1、2022年5月24日12022年5月24日1 2022年5月24日1第第6 6章章 带符号数、字符串和表带符号数、字符串和表23:371DEC HEX BIN6 6 00000110 汇编语言与接口技术汇编语言与接口技术第第6 6章章 带符号数、字符串和表带符号数、字符串和表学习本章后:学习本章后:1 1、会进行带符号数的运算程序设计、会进行带符号数的运算程序设计 正数、负数、正负数正数、负数、正负数2 2、会进行字符串的运算程序设计、会进行字符串的运算程序设计 数据串、字符串、字串、字节串数据串、字符串、字串、字节串3 3、会进行查表运算程序设计、会进行查表运算程序设计 例如:函数表例如:函
2、数表 Y=fY=f(x)x),Y=xY=x2 22022年5月24日2第第6 6章章 带符号数、字符串和表带符号数、字符串和表本章的主要内容:本章的主要内容:6.1 6.1 带符号数的运算带符号数的运算 6.1.1 6.1.1 带符号数的概念带符号数的概念 6.1.2 6.1.2 带符号数的补码表示带符号数的补码表示 6.1.3 6.1.3 带符号数的运算带符号数的运算 6.1.4 6.1.4 带符号数的加减运算的溢出问题带符号数的加减运算的溢出问题 6.1.5 6.1.5 带符号数的乘除、移位、比较运算带符号数的乘除、移位、比较运算6.2 6.2 字符串和表操作字符串和表操作 6.2.1 6
3、.2.1 字符串操作字符串操作 6.2.2 XLAT6.2.2 XLAT指令和查表指令和查表2022年5月24日36.1 6.1 带符号数的算术运算带符号数的算术运算6.1.1 6.1.1 带符号数的概念带符号数的概念 日常生活中使用的数字有正、有负(例如温度等),日常生活中使用的数字有正、有负(例如温度等),计算机就必须能够处理这样的数值。计算机就必须能够处理这样的数值。 计算机处理数据主要包括:数据表示和数据运算。计算机处理数据主要包括:数据表示和数据运算。 计算机只能存储计算机只能存储0 0,1 1两种符号。两种符号。 数据表示数据表示的目的是存储和显示数据,存储要解决将带的目的是存储和
4、显示数据,存储要解决将带符号数中的符号数中的“符号符号”数字化后数字化后才能存储在计算机中。才能存储在计算机中。 数据运算数据运算是使用计算机语言提供的指令,取得运算的是使用计算机语言提供的指令,取得运算的源操作数,源操作数,将运算结果存储在计算机中将运算结果存储在计算机中,且须判断计算机,且须判断计算机运算结果的正确性运算结果的正确性。 2022年5月24日46.1 6.1 带符号数的算术运算带符号数的算术运算6.1.2 6.1.2 带符号数的补码表示带符号数的补码表示正数的补码表示:正数的补码表示: 将数的真值形式中的将数的真值形式中的正正号,用代码号,用代码0 0来表示,数值部来表示,数
5、值部分用二进制数来表示。分用二进制数来表示。 负数的补码表示:负数的补码表示: 将数的真值形式中的将数的真值形式中的负负号,用代码号,用代码1 1来表示,将用二来表示,将用二进制数表示的数值部分按位取反且在最低位加进制数表示的数值部分按位取反且在最低位加1 1形成。形成。2022年5月24日56.1 6.1 带符号数的算术运算带符号数的算术运算字长:字长: n n位位补码表示一个数时,最高位为符号位。补码表示一个数时,最高位为符号位。符号数字化:符号数字化:0-0-正数正数 1-1-负数负数数的补码表示:数的补码表示: (1 1)符号位为)符号位为0 0时,表示的数为时,表示的数为正正数数,其
6、后面的其后面的n-1n-1位位为数值部分。为数值部分。 (2 2)符号位为)符号位为1 1时,表示的数为时,表示的数为负负数,其后面的数,其后面的n-1n-1位位按位取反且最低位加按位取反且最低位加1 1为数值部分。为数值部分。n n位位二进制补码表示范围:二进制补码表示范围: - 2- 2n-1n-1- - - - - - (2(2n-1n-1-1) -1) 参看参看p154-p155p154-p1556.1 6.1 带符号数的算术运算带符号数的算术运算6.1.3 6.1.3 带符号数的运算带符号数的运算 运运 算算:算术运算、逻辑运算算术运算、逻辑运算 算术运算算术运算:加、减、乘、除、比
7、较加、减、乘、除、比较 逻辑运算逻辑运算:移位运算移位运算 本节中约定参加运算的数本节中约定参加运算的数字长:字长:8 8位,位,1616位;对应数的位;对应数的表示范围。表示范围。 若字长确定则数的表示范围随之确定;若运算结果若字长确定则数的表示范围随之确定;若运算结果超出数的表示范围,则应进行溢出处理。超出数的表示范围,则应进行溢出处理。2022年5月24日76.1 6.1 带符号数的算术运算带符号数的算术运算6.1.3 6.1.3 带符号数的运算(续)带符号数的运算(续)数的数的运算分类运算分类: 加法:加法:加法指令加法指令 ADDADD 减法:减法:减法指令减法指令 SUBSUB 乘
8、法:乘法:乘法指令乘法指令 IMULIMUL 除法:除法:除法指令除法指令 IDIVIDIV 移位移位: : 移位指令移位指令 SARSAR、SALSAL、SHLSHL 比较:比较:比较指令比较指令 CMPCMP简单举例说明运算结果可表示,结果溢出的情况(简单举例说明运算结果可表示,结果溢出的情况(DEBUGDEBUG下演示)下演示)6.1 6.1 带符号数的算术运算带符号数的算术运算6.1.4 6.1.4 带符号数的加减运算的溢出问题带符号数的加减运算的溢出问题严重问题:严重问题:带符号数的溢出问题。带符号数的溢出问题。CPUCPU报告溢出:报告溢出:产生溢出时,产生溢出时,CPUCPU将标
9、志位将标志位OFOF置为置为1 1。程序员处理:程序员处理:程序检测,若程序检测,若OF=1OF=1则溢出,转向溢出处理。则溢出,转向溢出处理。例如例如: :如下例子产生溢出的情况如下例子产生溢出的情况(DEBUGDEBUG下演示,注意加减运算对符号位的影响,特别是下演示,注意加减运算对符号位的影响,特别是对对OFOF标志的影响)标志的影响)P155 P155 例子例子6.4 6.4 96+7096+70p156 p156 例子例子6.5 6.5 (-128-128)+(-2)+(-2)P157 P157 例子例子6.86.86.1 6.1 带符号数的算术运算带符号数的算术运算6.1.4 6.
10、1.4 带符号数的加减运算的溢出问题带符号数的加减运算的溢出问题(续)(续)避免结果溢出的产生:避免结果溢出的产生:扩大数据位数扩大数据位数方法:方法:CBW-CBW-把字节转换为字,把把字节转换为字,把ALAL的的D7D7复制到复制到AHAH的所有位。的所有位。CWD-CWD-把字转换为双字,把把字转换为双字,把AXAX的的D15D15复制到复制到DXDX的所有位。的所有位。参看参看P158 P158 程序程序6.16.16.1 6.1 带符号数的算术运算带符号数的算术运算6.1.5 6.1.5 带符号数的乘除、移位、比较运算带符号数的乘除、移位、比较运算 (1 1)乘法)乘法 指令格式:指
11、令格式:IMUL IMUL 寄存器寄存器/ /内存内存 隐含操作数隐含操作数1 1:字节:字节-AL,-AL,字字-AX-AX (2 2)除法)除法 指令格式:指令格式: IDIVIDIV寄存器寄存器/ /内存内存 隐含操作数隐含操作数1 1:字节:字节-AX,-AX,字字-DX:AX-DX:AX2022年5月24日116.1 6.1 带符号数的算术运算带符号数的算术运算(3 3)算术右移)算术右移 指令格式:指令格式:SAR SAR 目的,移位的次数目的,移位的次数 算术移位方法算术移位方法:目的操作数的各位右移目的操作数的各位右移1 1位,最低位位,最低位进入进位位,空出的位用符号位填充。
12、进入进位位,空出的位用符号位填充。 (适用于带符号数,其余同第三章介绍的移位指令)(适用于带符号数,其余同第三章介绍的移位指令) 简单举例6.1 6.1 带符号数的算术运算带符号数的算术运算(4)(4)带符号数的比较带符号数的比较 指令格式:指令格式: CMP CMP 目的操作数,源操作数目的操作数,源操作数 带符号数比较后检查标志:带符号数比较后检查标志:OFOF、ZFZF、SFSF 用来检查上述条件的助记符如下:用来检查上述条件的助记符如下: JEJE JG JGE JG JGE JL JLE JL JLE 参看参看P161 P161 例子例子6.126.122022年5月24日13202
13、2年5月24日14第第6 6章章 带符号数、字符串和表带符号数、字符串和表6.1 6.1 带符号数的运算带符号数的运算 6.1.1 6.1.1 带符号数的概念带符号数的概念 6.1.2 6.1.2 带符号数的补码表示带符号数的补码表示 6.1.3 6.1.3 带符号数的运算带符号数的运算 6.1.4 6.1.4 带符号数的加减运算的溢出问题带符号数的加减运算的溢出问题 6.1.5 6.1.5 带符号数的乘除、移位、比较运算带符号数的乘除、移位、比较运算6.2 6.2 字符串和表操作字符串和表操作 6.2.1 6.2.1 字符串操作字符串操作 6.2.2 XLAT6.2.2 XLAT指令和查表指
展开阅读全文