最新微机原理与接口技术第3章2PPT课件.ppt
《最新微机原理与接口技术第3章2PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理与接口技术第3章2PPT课件.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微机原理与接口技术第微机原理与接口技术第3 3章章2 2逻辑运算和移位指令2“与”指令应用例 LEA SI,DATA MOV DX,3F8HWATT:IN AL,DX AND AL,02H JZ WATT ;ZF=1转移转移 MOV DX,38FH MOV AX,SI OUT DX,AX92.“或”运算指令n格式:格式:nOR OPRD1,OPRD2n操作:操作:n两操作数相两操作数相“或或”,结果送目标地址,结果送目标地址10“或”指令的应用n实现两操作数实现两操作数 相相“或或”的的 运算运算nOR AX,DIn使某些位不变,某些位置使某些位不变,某些位置“1”nOR CL,0FHn在不改
2、变操作数的在不改变操作数的 情况下使情况下使OF=CF=0nOR AX,AX11“或”指令的应用例 OR AL,AL JPE GOON OR AL,80H GOON:.PF=1转移转移12“或”指令的应用将一个二进将一个二进制数制数9变为字变为字符符9如何实现如何实现?133.“非”运算指令n格式:格式:nNOT OPRDNOT OPRDn操作:操作:n操作数按位取反再送回原地址操作数按位取反再送回原地址n注:注:n指令中的操作数不能是立即数指令中的操作数不能是立即数n指令的执行对标志位无影响指令的执行对标志位无影响n例:例:NOT BYTE PTRBXNOT BYTE PTRBX144.“异
3、或”运算指令n格式:格式:nXOR OPRD1,OPRD2n操作:操作:n两操作数相两操作数相“异或异或”,结果送目标地址,结果送目标地址n例:例:XOR BL,80H XOR AX,AX155.“测试”指令n格式:格式:nTEST OPRD1,OPRD2n操作:操作:n执行执行“与与”运算,但运算的结果不送回目运算,但运算的结果不送回目标地址。标地址。n应用:应用:n常用于测试某些位的状态常用于测试某些位的状态16例:n从地址为从地址为3F8H的的 端口中读入一个字节数,端口中读入一个字节数,当当该数的该数的 bit1,bit3,bit5位同时为位同时为1时时,可从可从38FH端口将端口将D
4、ATA为首地址的一个字输出,为首地址的一个字输出,否则就不能进行数否则就不能进行数 据传送。据传送。编写相应的编写相应的 程序段。程序段。17源程序代码: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 WATT18二、移位指令 非循环移位指令非循环移位指令 循环移位指令循环移位指
5、令注:注:n 移动一位时由指令直接给出;移动一位时由指令直接给出;n 移动两位及以上,则移位次数由移动两位及以上,则移位次数由CL指定。指定。191.非循环移位指令n逻辑左移逻辑左移n算术左移算术左移n逻辑右移逻辑右移n算术右移算术右移20算术左移和逻辑左移n算术左移指算术左移指 令:令:SAL OPRD,1 SAL OPRD,CLn逻辑左移指逻辑左移指 令:令:SHL OPRD,1 SHL OPRD,CL有符号数有符号数无符号数无符号数21逻辑右移n格式:格式:SHR OPRD,1 SHR OPRD,CL0CF无符号数无符号数的右移的右移22逻辑右移例:nMOV AL,68HnMOV CL,
6、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次次23算术右移n格式:格式:SAR OPRD,1 SAR OPRD,CL有符号数有符号数的右移的右移CF24非循环移位指令的应用n左移可实现乘法运算左移可实现乘法运算n右移可实现除法运算右移可实现除法运算 教材教材教材教材p121p121例例例例252.循环移位指令n不带进位位的循环移位不带进位位的循环移位n带进位位的循环移位带进位位的循环移位左移左移 ROL右移右移 ROR左移左移 RCL右移右移 RCR指令格
7、式、对操作数的要求与非循环移位指令相同指令格式、对操作数的要求与非循环移位指令相同26不带进位位的循环移位CFCF27带进位位的循环移位CFCF28循环移位指令的应用n用于对某些位状态的测试;用于对某些位状态的测试;n高位部分和低位部分的交换;高位部分和低位部分的交换;n与非循环移位指令一起组成与非循环移位指令一起组成32位或更长字位或更长字长数的移位。长数的移位。P124例例3-34P124例例3-3529程序功能n将将10001000H H开开始始存存放放的的4 4个个压压缩缩BCDBCD码码转转换换为为 ASCIIASCII码码 存存 放放 在在30003000H H开开始始的的单单元元
8、中中去。去。12H34H56H78H 1000H3000H30程序例 MOV SI,1000H MOV DI,3000H MOV CX,4Next:MOV AL,SI MOV BL,AL AND AL,0FH OR AL,30H MOV DI,AL INC DI MOV AL,BLPUSH CXMOV CL,4SHR AL,CLSHR AL,CLOR AL,30HOR AL,30HMOV DI,ALMOV DI,ALINC DIINC DIINC SIINC SIPOP CXPOP CXDEC CXDEC CXJNZ NextJNZ NextHLTHLT31串操作指令32串操作指令说明n针对数
9、据块或字符串的操作;针对数据块或字符串的操作;n可实现存储器到存储器的数据传送;可实现存储器到存储器的数据传送;n待操作的数据串称为源串,目标地址称为待操作的数据串称为源串,目标地址称为目标串。目标串。33串操作指令的特点n源串一般存放在数据段,偏移地址由源串一般存放在数据段,偏移地址由SI指定。允许段指定。允许段重设;重设;n目标串必须在附加段,偏移地址由目标串必须在附加段,偏移地址由DI指定;指定;n指令自动修改地址指针,修改方向由指令自动修改地址指针,修改方向由DF决定。决定。DF=0 DF=1n数据块长度值由数据块长度值由CX指定指定n可增加自动重复前缀以实现自动修改可增加自动重复前缀
10、以实现自动修改CX内容。内容。增地址方向;增地址方向;减地址方向;减地址方向;34重复前缀n无条件重复无条件重复nREPn条件重复条件重复nREPE 相等重复相等重复nREPZ 为零重复为零重复nREPNE 不相等重复不相等重复nREPNZ 不为零重复不为零重复CX0 ZF=1CX0 ZF=0CX0 重复重复35串操作指令n串传送串传送 MOVSn串比较串比较 CMPSn串扫描串扫描 SCASn串装入串装入 LODSn串送存串送存 STOS36串操作指令流程(以传送操作为例)取源串地址取源串地址取目标串地址取目标串地址设串长度设串长度传送一个字节或字传送一个字节或字修改地址指针修改地址指针修改
11、串长度值修改串长度值传送完否?传送完否?NY设操作方向设操作方向371.串传送指令n格式:格式:MOVS OPRD1,OPRD2 MOVSB MOVSWn串传送指令常与无条件重复前缀连用串传送指令常与无条件重复前缀连用38串传送指令n对比用对比用MOV指令和指令和MOVS指令实现将指令实现将200个字节数据从内存的一个区域送到个字节数据从内存的一个区域送到另一个区域的程序段。另一个区域的程序段。P104例例3-1239串传送指令例n用串传送指令实现用串传送指令实现200个字节数据的传送:个字节数据的传送:LEA SI,MEM1 LEA DI,MEM2 MOV CX,200 CLD REP MO
12、VSB HLT402.串比较指令n格式:格式:CMPS OPRD1,OPRD2 CMPSB CMPSWn串比较指令常与条件重复前缀连用,指令的执串比较指令常与条件重复前缀连用,指令的执 行不改变操作数,仅影响标志位。行不改变操作数,仅影响标志位。n前缀的操作对标志位不影响前缀的操作对标志位不影响41串比较指令例测试测试200个字节数据是否传送正确:个字节数据是否传送正确:LEA SI,MEM1LEA DI,MEM2MOV CX,200CLD REPE CMPSB TEST CX,00FFH JZ STOP DEC SI MOV AL,SI MOV BX,SISTOP:HLT 423.串扫描指令
13、n格式:格式:SCAS OPRD SCASB SCASWn执行与执行与CMPS指令相似的操作,只是这里的源指令相似的操作,只是这里的源 操作数是操作数是AX或或AL目目 标标操作数操作数43串扫描指令的应用n常用于在指定存储区域中寻找某个关键字。常用于在指定存储区域中寻找某个关键字。教材教材p127例例444.串装入指令n格式:格式:LODS OPRD LODSB LODSWn操作:操作:n对字节:对字节:n对对 字:字:源操作数源操作数DS:SIDS:SIDS:SIDS:SIALALAXAX454.串装入指令n用于将内存某个区域的数据串依次装入累加用于将内存某个区域的数据串依次装入累加 器,
14、以便显示或输出到接口。器,以便显示或输出到接口。nLODS指令一般不加重复前缀。指令一般不加重复前缀。465.串存储指令n格式:格式:STOS OPRD STOSB STOSWn操作:操作:n对字节:对字节:ALALn对对 字:字:AXAX目目 标标操作数操作数ES:DIES:DI47串存储指令的应用n常用于将内存某个区域置同样的值常用于将内存某个区域置同样的值n此时:此时:n将待送存的数据放入将待送存的数据放入AL(字节数)或(字节数)或AX(字数据);(字数据);n确定操作方向(增地址确定操作方向(增地址/减地址)和区域大小(串减地址)和区域大小(串长度值);长度值);n使用串存储指令使用
15、串存储指令+无条件重复前缀,实现数据传送。无条件重复前缀,实现数据传送。48串存储指令例n将内存某单元清零将内存某单元清零nP129例例3-4049串操作指令应用注意事项n需要定义附加段需要定义附加段n目标操作数必须在附加段目标操作数必须在附加段n需要设置数据的操作方向需要设置数据的操作方向n确定确定DF的状态的状态n源串和目标串指针分别为源串和目标串指针分别为SI和和DIn串长度值必须由串长度值必须由CX给出给出n注意重复前缀的使用方法注意重复前缀的使用方法n传送类指令前加无条件重复前缀传送类指令前加无条件重复前缀n串比较类指令前加条件重复前缀,但前缀不影响串比较类指令前加条件重复前缀,但前
16、缀不影响ZF状态状态50程序控制指令n转移指令转移指令n循环控制循环控制n过程调用过程调用n中断控制中断控制51程序的执行方向n程序控制类指令的本质是:程序控制类指令的本质是:n控制程序的执行方向控制程序的执行方向n决定程序执行方向的因素:决定程序执行方向的因素:nCS,IPn控制程序执行方向的方法:控制程序执行方向的方法:n修改修改CS 和和IP,则程序转向另一个代码段执行;,则程序转向另一个代码段执行;n仅修改仅修改IP,则程序将改变当前的执行顺序,转向本,则程序将改变当前的执行顺序,转向本代码段内其它某处执行。代码段内其它某处执行。52一、转移指令无条件无条件转移指令转移指令 无条件转移
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 微机 原理 接口 技术 PPT 课件
限制150内