第3章4逻辑移位及串操作.pptVIP

  • 2
  • 0
  • 约2.77千字
  • 约 36页
  • 2017-05-05 发布于四川
  • 举报
第3章4逻辑移位及串操作

第三章 指令系统;1;指令系统;逻辑运算指令(5条);1、逻辑“与”指令 AND 格式:AND d,s 功能: (d) ?(d) ∧ (s) 说明:将目的操作数d与源操作数s按位相“与”结果送回d中,常用于使某些位清0;【例】屏蔽AL的0,1两位。 AND AL,0FCH;2、逻辑“或”指令 OR 格式:OR d,s 功能: (d) ?(d) ∨ (s) 说明:将目的操作数d与源操作数s按位相“或”结果送回d中,常用于使某些位置位(置1);【例】将AL的0,1两位置1。 OR AL,03H;3、逻辑“异或”指令 OR 格式:OR d,s 功能: (d) ?(d) ⊕ (s) 说明:将目的操作数d与源操作数s按位相“异或”结果送回d中,常用于使某些位取反;【例】对AL的0,1两位取反。 XOR AL,03H;例如: NOT AX NOT DH NOT SI NOT BYTE PTR [SI];5、测试指令 TEST 格式:TEST d,s 功能:(d) ∧ (s) 说明:将目的操作数d与源操作数s按位相“与”,只影响标志位不回送结果,常用于测试某些位是0或1;【例】测试AL的最高位是0/1? TEST AL,80H JZ XXX ;是0则跳转 (JNZ XXX ;是1则跳转);移位运算指令(8条);6、逻辑左移指令 SHL(SHift Left) 格式:SHL d,count 功能:逻辑左移 说明:将目的操作数d左移count位,右边补0,左边入CF;BX乘以2: SHL BX,1;7、逻辑右移指令 SHR(SHift Right) 格式:SHR d,count 功能:逻辑右移 说明:将目的操作数d右移count位,左边补0,右边入CF;8、算术左移指令 SAL(Arithmetic) 格式:SAL d,count 功能:同逻辑左移完全相同;9、算术右移指令 SAR(Arithmetic) 格式:SAR d,count 功能:算术右移 说明:将操作数d的内容右移,左边不变,右边移入CF中;10、循环左移指令 ROL(ROtate/ROund Left) 格式:ROL d,count 功能:循环左移 说明:将操作数d的内容左移,最高位循环移入最低位,同时移入CF;11、循环右移指令 ROR(ROtate/ROund Right) 格式:ROR d,count 功能:循环右移 说明:将操作数d的内容右移,最低位循环移入最高位,同时移入CF;12、带进位循环左移指令 RCL(ROtate/ROund Carry Left) 格式:RCL d,count 功能:带进位循环左移 说明:将操作数d的内容左移,最高位循环移入CF,而CF循环移入最低位;13、带进位循环右移指令 RCR(ROtate/ROund Carry Right) 格式:RCR d,count 功能:带进位循环右移 说明:将操作数d的内容左移,最低位循环移入CF,而CF循环移入最高位;串操作指令(5条); 串操作可以按字节操作(助记符末尾字母加B),也可以按字操作(助记符末尾字母加W)。按字节操作时,地址指针加或减1,按字操作时,地址指针加或减2 若方向标志DF=0,则按增址操作,地址指针加1或加2;若方向标志DF=1,则按减址操作,地址指针减1或减2 8086共有5种基本的串操作指令,有的指令涉及到2个串,而有的只涉及到1个串 有些串操作是在数据串与寄存器之间进行,则规定寄存器只能用累加器,字节操作时用AL,字操作时用AX 串操作指令每次只处理一个元素的数据,为了能重复执行最多达64KB的串操作,8086还提供了3种重复前缀指令,使用这些指令可以使串操作指令重复执行由寄存器CX指定的次数 除串比较和串搜索指令影响全部6个状态标志外,其它指令均不影响标志位;重复前缀(3个);(2)相等则重复 REPE/REPZ(REPeat when Equal/Zero) 格式:REPE/REPZ 串操作指令 功能:若串操作指令执行结果相等,且CX指定次数未到,则重复执行串操作指令,直到结果不相等,或CX指定次数已到则停止 说明:若ZF=1且CX-1→CX≠0则重复执行串指令,直到ZF=0或CX-1→CX=0为止。REPE指令主要用于串比较和串搜索指令前;(3)不相等则重复 REPNE/REPNZ(REPeat when Not Equal/Zero) 格式:REPNE/REPNZ 串操作指令 功能:若串操作指令执行结果不相等,且

文档评论(0)

1亿VIP精品文档

相关文档