[工学]第3章指令系统2课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]第3章指令系统2课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 指令系统 课件
- 资源描述:
-
1、18086指令系统指令系统(2)2三、逻辑运算和移位类逻辑运算逻辑运算移位操作移位操作非循环移位非循环移位循环移位循环移位3逻辑运算和移位指令4指令类型n逻辑运算逻辑运算n与,或,非,异或与,或,非,异或n移位操作移位操作n非循环移位,循环移位非循环移位,循环移位5 一、逻辑运算n逻辑运算指令对操作数的要求大多与逻辑运算指令对操作数的要求大多与MOV指指令相同。令相同。“非非”运算指令要求操作数不能是运算指令要求操作数不能是立即数;立即数;n除除“非非”运算指令外,其余指令的执行都会运算指令外,其余指令的执行都会使标志位使标志位OF=CF=061.“与”指令:n格式:格式:n AND OPRD
2、1,OPRD2n操作:操作:n两操作数相两操作数相“与与”,结果送目标地址。,结果送目标地址。7“与”指令的应用n实现两操作数按位相与的运算实现两操作数按位相与的运算nAND BL,SIn使目标操作数的某些位不变,某些位清零使目标操作数的某些位不变,某些位清零nAND AL,0FHn在操作数不变的情况下使在操作数不变的情况下使CF和和OF清零清零nAND AX,AX82.“或”运算指令n格式:格式:nOR OPRD1,OPRD2n操作:操作:n两操作数相两操作数相“或或”,结果送目标地址,结果送目标地址9“或”指令的应用n实现两操作数相实现两操作数相“或或”的运算的运算nOR AX,DIn使某
3、些位不变,某些位置使某些位不变,某些位置“1”nOR CL,0FHn在不改变操作数的情况下使在不改变操作数的情况下使OF=CF=0nOR AX,AX10“或”指令的应用将一个二进将一个二进制数制数9变为字变为字符符9如何实现如何实现?113.“非”运算指令n格式:格式:nNOT OPRDNOT OPRDn操作:操作:n操作数按位取反再送回原地址操作数按位取反再送回原地址n注:注:n指令中的操作数不能是立即数指令中的操作数不能是立即数n指令的执行对标志位无影响指令的执行对标志位无影响n例:例:NOT BYTE PTRBXNOT BYTE PTRBX124.“异或”运算指令n格式:格式:nXOR
4、OPRD1,OPRD2n操作:操作:n两操作数相两操作数相“异或异或”,结果送目标地址,结果送目标地址n例:例:XOR BL,80H XOR AX,AX两操作数自身相异或,结果为零两操作数自身相异或,结果为零135.“测试”指令n格式:格式:nTEST OPRD1,OPRD2n操作:操作:n执行执行“与与”运算,但运算的结果不送回目运算,但运算的结果不送回目标地址。标地址。n应用:应用:n常用于测试某些位的状态常用于测试某些位的状态14例:n从地址为从地址为3F8H的端口中读入一个字节数,当的端口中读入一个字节数,当该数的该数的bit1,bit3,bit5位同时为位同时为1时时,可从,可从38
5、FH端口将端口将DATA为首地址的一个字输出,为首地址的一个字输出,否则就不能进行数据传送。否则就不能进行数据传送。编写相应的程序段。编写相应的程序段。15源程序代码:LEA SI,DATA MOV DX,3F8HWATT:IN AL,DX MOV DX,38FH MOV AX,SI OUT DX,AXAND AL,2AHCMP AL,2AHJNZ WATTTEST AL,02HJZ WATT ;ZF=1转移转移TEST AL,08HJZ WATTTEST AL,20HJZ WATTAND AL,2AHXOR AL,2AHJNZ WATT16逻辑指令小结逻辑指令小结nAND指令用于对一个数据的
6、指定位清零指令用于对一个数据的指定位清零nOR指令用于对一个数据的指定位置指令用于对一个数据的指定位置1nNOT指令用于取反码,再加一指令用于取反码,再加一,得补码得补码nXOR指令用于对寄存器清零指令用于对寄存器清零,对特定位取反对特定位取反nTEST指令用于测试一个数据的指定位是指令用于测试一个数据的指定位是1还还是是0。操作与。操作与AND指令相同,但不送回操作指令相同,但不送回操作结果,仅影响标志位。结果,仅影响标志位。17二、移位指令 非循环移位指令非循环移位指令 循环移位指令循环移位指令注:注:n 移动一位时由指令直接给出;移动一位时由指令直接给出;n 移动两位及以上,则移位次数由
7、移动两位及以上,则移位次数由CL指定。指定。二、非循环移位指令二、非循环移位指令SHL dst,count;逻辑左移逻辑左移SHR dst,count;逻辑右移逻辑右移SAL dst,count;算数左移算数左移SAR dst,count;算数右移算数右移CFM L00M LCCFM L0M LCF0最高位保持不变最高位保持不变19算术左移和逻辑左移n算术左移指令:算术左移指令:SAL OPRD,1 SAL OPRD,CLn逻辑左移指令:逻辑左移指令:SHL OPRD,1 SHL OPRD,CL有符号数有符号数无符号数无符号数移动一位后,若移动一位后,若CF与最高位不相等,则与最高位不相等,则
8、OF=1;否则否则OF=020逻辑右移n格式:格式:SHR OPRD,1 SHR OPRD,CL0CF无符号数无符号数的右移的右移移动一位后,若次高位与最高位不相等,则移动一位后,若次高位与最高位不相等,则OF=1;否则否则OF=021逻辑右移例:nMOV AL,68HnMOV CL,2nSHR AL,CL0CF0 1 1 0 1 0 AL0 0 0 0 0 1 1 0 1 0 0ALCF0 00 0 0 1 1 0 1 0 ALCF0 0移动移动1次次移动移动2次次22算术右移n格式:格式:SAR OPRD,SAR OPRD,CL有符号数有符号数的右移的右移CF非循环移位指令的应用n左移可实
9、现乘法运算左移可实现乘法运算n右移可实现除法运算右移可实现除法运算程序段:程序段:MOV BX,AX MOV CL,2 SHL AX,CL ;左移;左移2位,乘以位,乘以4 ADD AX,BX ;AX为原来为原来5倍倍 SHL AX,1 ;AX为原来的为原来的10倍倍 HLT 242.循环移位指令n不带进位位的循环移位不带进位位的循环移位n带进位位的循环移位带进位位的循环移位左移左移 ROL右移右移 ROR左移左移 RCL右移右移 RCR指令格式、对操作数的要求与非循环移位指令相同指令格式、对操作数的要求与非循环移位指令相同25不带进位位的循环移位CFCF26带进位位的循环移位CFCF27循环
10、移位指令的应用n用于对某些位状态的测试;用于对某些位状态的测试;n高位部分和低位部分的交换;高位部分和低位部分的交换;n与非循环移位指令一起组成与非循环移位指令一起组成32位或更长字位或更长字长数的移位。长数的移位。(P124 例例3-35)28程序例 MOV SI,1000H MOV DI,3000H MOV CX,4STR:MOV AL,SI MOV BL,AL AND AL,0FH OR AL,30H MOV DI,AL INC DI MOV AL,BLPUSH CXMOV CL,4程序程序功能?功能?29程序功能n将将10001000H H开始存放的开始存放的四个压缩四个压缩BCDBC
11、D码转换码转换为为ASCIIASCII码存放在码存放在30003000H H开始的单元中开始的单元中去。去。12H34H56H78H1000H3000H30串操作指令n字串传送:字串传送:MOVSB/MOVSWn字串比较:字串比较:CMPSB/CMPSWn字串扫描:字串扫描:SCASB/SCASWn字串装入:字串装入:LODSB/LODSWn字串存储:字串存储:STOSB/STOSB32串操作指令说明n针对数据块或字符串的操作;针对数据块或字符串的操作;n可实现存储器到存储器的数据传送;可实现存储器到存储器的数据传送;n待操作的数据串称为源串,目标地址称为待操作的数据串称为源串,目标地址称为目
12、标串。目标串。33串操作指令的特点n源串一般存放在数据段,偏移地址由源串一般存放在数据段,偏移地址由SI指定。允许段指定。允许段重设;重设;n目标串必须在附加段,偏移地址由目标串必须在附加段,偏移地址由DI指定;指定;n指令自动修改地址指针,修改方向由指令自动修改地址指针,修改方向由DF决定。决定。DF=0 DF=1n数据块长度值由数据块长度值由CX指定指定n可增加自动重复前缀以实现自动修改可增加自动重复前缀以实现自动修改CX内容。内容。增地址方向;增地址方向;减地址方向;减地址方向;34重复前缀n无条件重复无条件重复nREPn条件重复条件重复nREPE 相等重复相等重复nREPZ 为零重复为
展开阅读全文