博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
30334逻辑指令
阅读量:5257 次
发布时间:2019-06-14

本文共 1147 字,大约阅读时间需要 3 分钟。

1.逻辑指令

 逻辑运算指令

AND、OR、NOT、XOR、TEST
 移位指令
SHL、SHR 、 SAL 、SAR、
ROL、ROR、RCL、RCR

 

2.逻辑运算指令

3.移位指令

 

逻辑左移  

SHL  OPR, CNT

shift logical left

 
逻辑右移

SHR OPR, CNT

shift logical right

   

算术左移

SAL OPR, CNT

shift arithmetic left

 (同逻辑左移)  

算术右移

SAR OPR, CNT

shift arithmetic right

   
 循环左移

ROL OPR, CNT

rotate left

   
 循环右移

ROR OPR, CNT

rotate right

   
带进位循环左移

RCL OPR, CNT

rotate left through carry

   
带进位循环右移

RCR OPR, CNT

rotate right through carry

   

 

注意:

* OPR可用除立即数以外的任何寻址方式   OPR操作数    CNT操作次数
* CNT=1,SHL OPR, 1
  CNT>1,MOV CL, CNT
  SHL OPR, CL ; 以SHL为例

* 条件标志位:
CF = 移入的数值
OF=1 CNT=1时,最高有效位的值发生变化
OF=0 CNT=1时,最高有效位的值不变

移位指令:
SF、ZF、PF 根据移位结果设置,AF无定义

循环移位指令:
不影响 SF、ZF、PF、AF

 

例:(AX)= 0012H,(BX)= 0034H,把它们装配成(AX)= 1234H

MOV CL, 8

ROL AX, CL
ADD AX, BX

 

例:(BX) = 84F0H

(1) (BX) 为无符号数,求 (BX) / 2
  SHR BX, 1     ; (BX) = 4278H

(2) (BX) 为带符号数,求 (BX) ×2
  SAL BX, 1     ; (BX) = 09E0H, OF=1

(3) (BX) 为带符号数,求 (BX) / 4
  MOV CL, 2
  SAR BX, CL    ; (BX) = 0E13CH

 

(3) (BX)=84F0H,把 (BX) 中的 16 位数每 4 位压入堆栈

  MOV   CH, 4          ; 循环次数  MOV   CL, 4          ; 移位次数NEXT:   ROL   BX, CL  MOV   AX, BX  AND   AX, 0FH  PUSH  AX  DEC   CH  JNZ   NEXT

 

 

转载于:https://www.cnblogs.com/ZanderZhao/p/11052133.html

你可能感兴趣的文章
巡风源码阅读与分析---nascan.py
查看>>
LiveBinding应用 dataBind 数据绑定
查看>>
Linux重定向: > 和 &> 区别
查看>>
nginx修改内核参数
查看>>
C 筛选法找素数
查看>>
TCP为什么需要3次握手与4次挥手(转载)
查看>>
IOC容器
查看>>
Windows 2003全面优化
查看>>
URAL 1002 Phone Numbers(KMP+最短路orDP)
查看>>
web_day4_css_宽度
查看>>
electron入门心得
查看>>
格而知之2:UIView的autoresizingMask属性探究
查看>>
我的Hook学习笔记
查看>>
js中的try/catch
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
整理推荐的CSS属性书写顺序
查看>>
ServerSocket和Socket通信
查看>>
css & input type & search icon
查看>>
源代码的下载和编译读后感
查看>>