首页 微型计算机技术 陈慈发 第9讲 逻辑移位和串操作指令

微型计算机技术 陈慈发 第9讲 逻辑移位和串操作指令

举报
开通vip

微型计算机技术 陈慈发 第9讲 逻辑移位和串操作指令微机技术第九讲三峡大学覃颖0717-6390287,15572768176qinying@ctgu.edu.cn本讲课堂讲授内容:?8086CPU的指令系统(逻辑运算和移位指令)?8086CPU的指令系统(串操作指令)逻辑运算指令?实现与、或、非、异或、测试等逻辑运算。?除逻辑“非”指令不影响标志外,其它逻辑运算指令均影响标志SF、ZF和PF,而OF和CF一定被置0,AF不确定。逻辑运算指令1、逻辑“与”指令AND格式:ANDd,s功能:(d)←(d)∧(s)说明:将目的操作数d与源操作数s按位相与,结果送回d中。...

微型计算机技术 陈慈发 第9讲 逻辑移位和串操作指令
微机技术第九讲三峡大学覃颖0717-6390287,15572768176qinying@ctgu.edu.cn本讲课堂讲授内容:?8086CPU的指令系统(逻辑运算和移位指令)?8086CPU的指令系统(串操作指令)逻辑运算指令?实现与、或、非、异或、测试等逻辑运算。?除逻辑“非”指令不影响标志外,其它逻辑运算指令均影响标志SF、ZF和PF,而OF和CF一定被置0,AF不确定。逻辑运算指令1、逻辑“与”指令AND格式:ANDd,s功能:(d)←(d)∧(s)说明:将目的操作数d与源操作数s按位相与,结果送回d中。【例】ANDAX,2012HAND[BP+DI-6],CLANDSI,[BX]AX,BXCX,DXSP,BPSI,DIAH,ALBH,BLCH,CLDH,DL内存立即数看图说话:想一想你会构造哪些非法指令?逻辑运算指令1、逻辑“与”指令AND?影响标志情况:OF=CF=0,AF不确定,影响SF、ZF、PF。?典型应用:将数据的某些位清0(或称屏蔽)。【例】屏蔽AL的0、1两位。ANDAL,0FCH********∧11111100******00【例】将AH的高4位清零。ANDAH,0FH********∧000011110000****逻辑运算指令2、逻辑“或”指令OR格式:ORd,s功能:(d)←(d)∨(s)说明:将目的操作数d与源操作数s按位相或,结果送回d中。【例】ORAX,2012HOR[BP+DI-6],CLORSI,[BX]逻辑运算指令2、逻辑“或”指令OR?影响标志情况:OF=CF=0,AF不确定,影响SF、ZF、PF。?典型应用:将数据的某些位置位(或称置1)。【例】将AL的0、1两位置1。ORAL,03H********∨00000011******11【例】将AH的高4位置1。ORAH,0F0H********∨111100001111****逻辑运算指令3、逻辑“异或”指令XOR格式:XORd,s功能:(d)←(d)⊕(s)说明:将目的操作数d与源操作数s按位异或,结果送回d中。【例】XORAX,2012HXOR[BP+DI-6],CLXORSI,[BX]逻辑运算指令3、逻辑“异或”指令XOR?影响标志情况:OF=CF=0,AF不确定,影响SF、ZF、PF。?典型应用:将数据的某些位取反。【例】将AL的0、1两位取反。XORAL,03H********⊕00000011【例】将AH的高4位取反。XORAH,0F0H********⊕11110000【例】将DX清零。XORDX,DX****************逻辑运算指令4、逻辑“非”指令NOT格式:NOTd说明:将目的操作数d取反,结果送回d中。?该指令不影响标志。功能:(d)←(d)?d不能是段寄存器和立即数。NOTDSNOT2012H逻辑运算指令5、测试指令TEST格式:TESTd,s功能:(d)∧(s)说明:将目的操作数d与源操作数s按位相与,不回送结果,只影响标志。【例】TESTAX,BXTESTBYTEPTR[BP+DI-6],20HTESTAL,[DI]逻辑运算指令5、测试指令TEST?影响标志情况:OF=CF=0,AF不确定,影响SF、ZF、PF。?典型应用:测试数据的某些位是“1”还是“0”。【例】测试AL的最高位是0/1?TESTAL,80HJZRES0;是0则跳转(JNZRES1;是1则跳转)移位运算指令?实现对8位或16位通用寄存器或存储器内容进行移位操作,移位次数可以是1~255。?影响OF、SF、ZF、CF和PF,AF不确定。移位运算指令1、逻辑左移指令SHL格式:SHLd,1SHLd,CL功能:逻辑左移说明:CL中存放移位的次数,如果是1次,可以直接写在指令中。CF0D0D7/D15移位运算指令1、逻辑左移指令SHL?影响标志情况:AF不确定,SF、ZF、PF根据移位结果设置,CF=移入的数值,OF仅在移位一次时有效,且OF=1 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示最高位发生改变,OF=0表示最高位没有改变。?移位次数大于1次时不可直接写在指令中。SHLBYTEPTR[DI],2正确实现:SHLBYTEPTR[DI],CLMOVCL,2移位运算指令1、逻辑左移指令SHL【例】假设AL=21H,则:SHLAL,1;AL=(),CF=()MOVCL,2SHLAL,CL;AL=(),CF=()00100001CFAL逻辑左移1次:001000010逻辑左移1次:010000100逻辑左移1次:10000100042H008H1逻辑左移1次相当于无符号数乘2!移位运算指令2、逻辑右移指令SHR格式:SHRd,1SHRd,CL功能:逻辑右移说明:CL中存放移位的次数,如果是1次,可以直接写在指令中。CF0D0D7/D15?对标志的影响:与前述指令相同。移位运算指令2、逻辑右移指令SHR【例】假设AL=84H,则:SHRAL,1;AL=(),CF=()MOVCL,2SHRAL,CL;AL=(),CF=()10000100CFAL逻辑右移1次:001000010逻辑右移1次:000100001逻辑右移1次:10001000042H010H1逻辑右移1次相当于无符号数除2!移位运算指令3、算术左移指令SAL格式:SALd,1SALd,CL功能:同逻辑左移说明:CL中存放移位的次数,如果是1次,可以直接写在指令中。CF0D0D7/D15?对标志的影响:与前述指令相同。移位运算指令4、算术右移指令SAR格式:SARd,1SARd,CL功能:算术右移说明:CL中存放移位的次数,如果是1次,可以直接写在指令中。CFD0D7/D15符号位不变!?对标志的影响:与前述指令相同。移位运算指令4、算术右移指令SAR【例】假设AL=84H,则:SARAL,1;AL=(),CF=()MOVCL,2SARAL,CL;AL=(),CF=()10000100CFAL逻辑右移1次:011000010逻辑右移1次:011100001逻辑右移1次:111110000C2H0F0H1算术右移1次相当于有符号数除2!移位运算指令5、循环左移指令ROL格式:ROLd,1ROLd,CL功能:循环左移(小循环)说明:CL中存放移位的次数,如果是1次,可以直接写在指令中。?对标志的影响:与前述指令相同。CFD0D7/D15移位运算指令6、循环右移指令ROR格式:RORd,1RORd,CL功能:循环右移(小循环)说明:CL中存放移位的次数,如果是1次,可以直接写在指令中。CFD0D7/D15?对标志的影响:与前述指令相同。移位运算指令7、带进位循环左移指令RCL格式:RCLd,1RCLd,CL功能:带进位循环左移(大循环)说明:CL中存放移位的次数,如果是1次,可以直接写在指令中。?对标志的影响:与前述指令相同。CFD0D7/D15移位运算指令8、带进位循环右移指令RCR格式:RCRd,1RCRd,CL功能:带进位循环循环右移(大循环)说明:CL中存放移位的次数,如果是1次,可以直接写在指令中。?对标志的影响:与前述指令相同。CFD0D7/D15串操作指令?数据串是存储器中一块字节或字的存储区域,其长度可以是1字节~64K字节。?串操作就是对数据串中每个元素所进行的操作,这种操作通常是组合操作,能完成几条指令的功能。?用作源操作数的串称为源串,源串默认放在数据段中,源串的偏移地址指针必须放在SI中。?用作目的操作数的串称为目的串,目的串必须放在附加段中,目的串的偏移地址指针必须放在DI中。串操作指令?串操作可以按字节操作(助记符末尾字母加B),也可以按字操作(助记符末尾字母加W)。按字节操作时,地址指针加或减1,按字操作时,地址指针加或减2。?方向标志DF=0,按增址操作;方向标志DF=1,则按减址操作。?串的长度(字节数或字数)必须放在CX中。可使用重复前缀指令重复执行串操作由CX指定的次数。串操作指令1、串传送指令MOVSB/MOVSW格式:MOVSBMOVSW功能:(1)[ES:DI]←[DS:SI](2)MOVSB:SI←SI±1,DI←DI±1MOVSW:SI←SI±2,DI←DI±2DF=0时地址“+”,DF=1时地址“-”说明:将源串指针SI所指单元的一个数据(字节或字)传送到目的串指针DI所指单元中,指针作相应变化。?常使用重复前缀REP相配合,一次完成数据串的传送操作。串操作指令重复前缀:(1)重复REP格式:REP串操作指令功能:使串操作指令重复执行CX指定的次数。说明:若CX≠0则重复执行串指令,且将CX减1,直到CX=0为止。串操作指令重复前缀:(1)重复REPCX=0?CX←CX-1执行串操作指令NREP结束执行下一条指令Y串操作指令重复前缀:(2)相等则重复REPE/REPZ格式:REPE/REPZ串操作指令功能:若串操作指令执行结果相等(结果为零),且CX指定次数未到,则重复执行串操作指令,直到结果不相等,或CX指定次数已到则停止。说明:若ZF=1且CX-1→CX≠0则重复执行串操作指令,直到ZF=0或CX-1→CX=0为止。串操作指令重复前缀:(2)相等则重复REPE/REPZCX←CX-1执行串操作指令NZF=1?REP结束执行下一条指令YNCX=0?Y串操作指令重复前缀:(3)不相等则重复REPNE/REPNZ格式:REPNE/REPNZ串操作指令功能:若串操作指令执行结果不相等(结果不为零),且CX指定次数未到,则重复执行串操作指令,直到结果相等,或CX指定次数已到则停止。说明:若ZF=0且CX-1→CX≠0则重复执行串操作指令,直到ZF=1或CX-1→CX=0为止。串操作指令重复前缀:(3)不相等则重复REPNE/REPNZCX←CX-1执行串操作指令NZF=0?REP结束执行下一条指令YNCX=0?Y串操作指令【例】将内存5000H:2000H~5000H:2063H的100个字节数据传送至内存3000H:1000H~3000H:1063H。MOVAX,5000HMOVDS,AXMOVSI,2000H;DS:SI指向源串首部MOVAX,3000HMOVES,AXMOVDI,1000H;ES:DI指向目的串首部CLD;DF=0REPMOVSBMOVCX,100;CX←数据串长度思考:如果用MOVSW指令,怎么修改程序?如果用STD指令,又如何修改?串操作指令2、串比较指令CMPSB/CMPSW格式:CMPSBCMPSW功能:(1)[DS:SI]-[ES:DI](2)CMPSB:SI←SI±1,DI←DI±1CMPSW:SI←SI±2,DI←DI±2DF=0时地址“+”,DF=1时地址“-”说明:将源串指针SI所指单元的一个数据(字节或字)与目的串指针DI所指单元的一个数据(字节或字)相减,只影响标志,不保存结果,指针作相应变化。?常与重复前缀REPZ、REPNZ相配合使用。串操作指令3、串搜索指令SCASB/SCASW格式:SCASBSCASW功能:(1)AL(AX)-[ES:DI](2)SCASB:SI←SI±1,DI←DI±1SCASW:SI←SI±2,DI←DI±2DF=0时地址“+”,DF=1时地址“-”说明:将累加器(AL或AX)内容与目的串指针DI所指单元的一个数据(字节或字)相减,只影响标志,不保存结果,指针作相应变化。?常与重复前缀REPZ、REPNZ相配合使用。串操作指令4、串写入指令STOSB/STOSW格式:STOSBSTOSW功能:(1)[ES:DI]←AL(AX)(2)STOSB:DI←DI±1STOSW:DI←DI±2DF=0时地址“+”,DF=1时地址“-”说明:将累加器(AL或AX)内容传送到目的串指针DI所指单元中,指针作相应变化。?常与重复前缀REP相配合使用。串操作指令5、串读出指令LODSB/LODSW格式:LODSBLODSW功能:(1)AL(AX)←[DS:SI](2)LODSB:SI←SI±1LODSW:SI←SI±2DF=0时地址“+”,DF=1时地址“-”说明:将源串指针SI所指单元的数据(字节或字)传送到累加器(AL或AX)中,指针作相应变化。?一般不与重复前缀REP联用。课堂小结?学习的 知识点 高中化学知识点免费下载体育概论知识点下载名人传知识点免费下载线性代数知识点汇总下载高中化学知识点免费下载 回顾?重点:正确掌握各条指令的格式及功能。?难点:掌握指令对标志的影响及其应用。你掌握了吗?课堂练习一、选择题:B1、以下指令中合法的指令是()。A、ANDBL,AXB、ORAL,[8000H]C、NOTESD、TEST[BX],2000HA2、以下指令中合法的指令是()。A、RCLBX,CLB、SHR[8000H],1C、SALES,1D、RORCX,2C3、以下指令中不影响标志的指令是()。A、ANDBL,CLB、SHRBL,CLC、NOTBLD、RCLCL,1课堂练习二、填空题:1、针对以下 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 分别用一条指令实现之。1)将AL寄存器的1、3、5、7位清零。()2)将BX寄存器的低四位置1。()3)将CL寄存器的高四位取反。()ANDAL,55HORBX,000FHXORCL,0F0H课堂练习二、填空题:2、假设指令执行前AL=8EH,CF=1,在执行如下指令后,AL=?,CF=?1)SHLAL,1;AL=(),CF=()2)MOVCL,2SARAL,CL;AL=(),CF=()3)RORAL,1;AL=(),CF=()1CH1E3H147H0课堂练习三、编程题:1、将内存首地址为1000H:2000H的连续100个字节单元清零。(用串操作指令实现)MOVAX,1000HMOVES,AXMOVDI,2000H;设置好地址指针XORAL,AL;AL清零MOVCX,100;初始化重复次数CLD;方向标志DF清零REPSTOSB课后作业3.30、3.34、3.35
本文档为【微型计算机技术 陈慈发 第9讲 逻辑移位和串操作指令】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_997338
暂无简介~
格式:ppt
大小:11MB
软件:PowerPoint
页数:0
分类:
上传时间:2020-05-18
浏览量:0