微机原理:逻辑运算指令、移位指令

文章目录

  • 一、逻辑运算指令
    • 1、取反运算指令
    • 2、与运算指令
    • 3、或运算指令
    • 4、异或运算
  • 二、移位指令
    • 1、开环移位指令
      • 算术左移:SHL、SAL
      • 算术右移:SAR
      • 逻辑右移:SHR
    • 2、闭环移位指令
      • 含进位的循环左移:RCL
      • 含进位的循环右移:RCR
      • 不含进位的循环左移:ROL
      • 不含进位的循环右移:ROL
    • 3、例子

一、逻辑运算指令

1、取反运算指令

格式:NOT 目标操作数
功能:将目标操作数按位取反,结果送到目标操作数中。

2、与运算指令

格式:AND 目标操作数,源操作数
功能:置零操作用AND,置0位置用0,置1位置用1。

3、或运算指令

格式: OR 目标操作数,源操作数
功能:OR指令通常用于将某些位 置1

4、异或运算

格式:XOR 目标操作数,源操作数
功能:XOR指令通常用于将某些位置取反,某些位保持不变(用1取反,用0取保持不变)

二、移位指令

所有移位指令的格式为:指令名 操作数,移位次数

1、开环移位指令

算术左移:SHL、SAL

所有位向左移,最高为存入进位位,最低位置零。

算术右移:SAR

所有位向右移,最低位存入进位位,最高位数值保持不变。

逻辑右移:SHR

所有位向右移,最低位存入进位位,最高位置零。

看下图是对上述三种移位指令的图解:
在这里插入图片描述

2、闭环移位指令

含进位的循环左移:RCL

所有位向左移,最高位进入CF,并且转移到最低位赋值。

含进位的循环右移:RCR

所有位右移,最低位进入CF,并且赋值给最高位。

不含进位的循环左移:ROL

所有位向左移,最高位进入CF,并且最高位赋值给最低位,CF保持不变。

不含进位的循环右移:ROL

所有位右移,最低位进入CF,并且最低位赋值给最高位,CF保持不变。

看下图是对上述三种移位指令的图解:
微机原理:逻辑运算指令、移位指令_第1张图片

3、例子

微机原理:逻辑运算指令、移位指令_第2张图片

微机原理:逻辑运算指令、移位指令_第3张图片

你可能感兴趣的:(微机原理,汇编)