【汇编语言】通用数据处理指令——位操作类指令

通用数据处理指令——位操作类指令

在这里插入图片描述

一、逻辑运算指令

  • 逻辑与指令 AND
  • 逻辑或指令 OR
  • 逻辑非指令 NOT
  • 逻辑异或指令 XOR
  • 测试指令 TEST

除NOT指令不影响标志外,其他逻辑指令
►使OF=CF=0
►根据结果按定义影响ZF、SF和PF

1.逻辑与指令AND

  • 逻辑与(逻辑乘)运算规则
    ►两位都是逻辑1,则结果是1;否则,结果是0
  • 逻辑与指令AND
    ►按位进行逻辑与,结果返回目的操作数
AND reg,imm/reg/mem

;reg←reg & imm/reg/mem

AND mem,imm/reg

;mem←mem & imm/reg

2.逻辑或指令OR

  • 逻辑或(逻辑加)运算规则
    ►两位都是逻辑0,则结果是0;否则,结果是1
  • 逻辑或指令OR
    ►按位进行逻辑或,结果返回目的操作数
OR reg,imm/reg/mem

;reg←reg | imm/reg/mem

OR mem,imm/reg

;mem←mem | imm/reg

3.逻辑非指令NOT

  • 逻辑非(逻辑反)运算规则:
    ►原来为0的位变成1,原来为1的位变成0
  • 逻辑非指令NOT:
    ►按位进行逻辑非,结果返回操作数
NOT reg/mem

;reg/mem←~reg/mem

NOT指令不影响状态标志位

4.逻辑异或指令XOR

  • 逻辑异或(逻辑半加)运算规则:
    ►两位不同(相异),则结果是1;否则,结果是0
  • 逻辑异或指令XOR:
    ►按位进行逻辑异或,结果返回目的操作数
XOR reg,imm/reg/mem

;reg←reg  imm/reg/mem

XOR mem,imm/reg

;mem←mem  imm/reg

5.逻辑运算的应用

  • 逻辑运算的屏蔽作用

    • AND复位某些位(同0与),不影响其他(同1与)

      and bl,11110110b ;BL中D0和D3清0,其余位不变
      
    • OR置位某些位(同1或),不影响其他(同0或)

      or bl,00001001b ;BL中D0和D3置1,其余位不变
      
    • XOR求反某些位(同1异或),不影响其他(同0异或)

      xor bl,00001001b ;BL中D0和D3求反,其余位不变
      
  • 逻辑运算用于大小写转换

    大写=小写 AND DFH
    小写=大写 OR 20H

二、移位指令

  • 逻辑左移指令 SHL
  • 逻辑右移指令 SHR
  • 算术左移指令 SAL
  • 算术右移指令 SAR
  • 不带进位循环左移指令 ROL
  • 不带进位循环右移指令 ROR
  • 带进位循环左移指令 RCL
  • 带进位循环右移指令 RCR

1.左移位指令SHL / SAL

各位同时左移,最低位补0,最高位进入CF

SHL reg/mem,i8/CL
SAL reg/mem,i8/CL

在这里插入图片描述

2.逻辑右移指令SHR

各位同时右移,最高位补0,最低位进入CF

SHR reg/mem,i8/CL

在这里插入图片描述

3.算术右移指令SAR

各位同时右移,最高位不变,最低位进入CF

SAR reg/mem,i8/CL

在这里插入图片描述

4.不带进位循环左移指令ROL

各位同时左移,最高位循环进入最低位和CF

ROL reg/mem,i8/CL

在这里插入图片描述

5.不带进位循环右移指令ROR

各位同时右移,最低位进入最高位和CF

ROR reg/mem,i8/CL

在这里插入图片描述

6.带进位循环左移指令RCL

CF作为附加位,各位同时左移,CF进入最低位

RCL reg/mem,i8/CL

在这里插入图片描述

7.带进位循环右移指令RCR

CF作为附加位,各位同时右移,最低位进入CF

RCR reg/mem,i8/CL

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
计算机组成原理与汇编语言程序设计课后习题及解答 徐洁,俸远祯 电子工业出版社 第1章 习题一 1.什么是程序存储工作方式? 答:计算机的工作方式——存储程序工作方式。即事先编写程序,再由计算机把这些信息 存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。 2.采用数字化方法表示信息有哪些优点? 用数字化方法表示信息的优点: (1)抗干扰能力强, 可靠性高。 (2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。 (3)数字化的信息可以存储、信息传送也比较容易实现。 (4)可表示的信息型与范围及其广泛,几乎没有限制。 (5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成 了计算机硬件设计的基础。 3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。 4.数字计算机的主要特点是什么? 1. (1) 能在程序控制下自动连续地工作; (2")运算速度快; (3) 运算精度高; (4) 具有很强的信息存储能力; (5) 通用性强,应用领域及其广泛。 5.衡量计算机性能的基本指标有哪些? 答:衡量计算机性能的基本指标: (1)基本字长——参加一次运算的数的位数; (2)数据通路宽度——数据总线一次能并行传送的位数; (3)运算速度——可用 CPU的时钟频率与主频, 每秒平均执行指令数, 典型四则运算的 时间来表示。 (4)主存储器容量——可用字节数或单元数(字数)×位数来表示。 (5)外存容量——常用字节数表示。 (6)配备的外围设备及其性能。 (7)系统软件配置。 7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。 系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。例如WINDOWS98操 作系统,C语言编译程序等,数据库管理系统。 8.对源程序的处理有哪两种基本方式? 对源程序的处理通常有两种处理方式:解释方式和编译方式。 第2章 习题二 1.将二进制数(101010.01)2 转换为十进制数及BCD码。 解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD 2.将八进制数(37.2)8转换为十进制数及BCD码. 解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD 3.将十六进制数(AC.E)转换为十进制数及BCD码. 解: (AC.E)16 =(172.875)10 = (00010111001 4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。 解: (75.34)10 = (01001011.01010111)2 =(213.256)8 =(4B.57)16 5.将十进制数13/128转换为二进制数. 解: (13/128)10 =(1101/10000000)2 =(0.0001101)2 6.分别写出下列各二进制数的原码、补码,字长(含一位数符)为8位。 (1)0 (2)- 0 (3)0.1010 (4)- 0.1010 (5)1010 (6)-1010 解: 原码 补码 0 00000000 00000000 -0 10000000 00000000 0.1010 0.1010000 0.1010000 - 0.1010 1.1010000 1.0110000 1010 00001010 00001010 -1010 10001010 11110110 7.若X补=0.1010,则X原、真值等于什么? 解:X补=0.1010,则X原=0.1010,真值 X = 0.1010 8.若X补=1.1010,则X原、真值等于什么? 解:X补=1.1010,则X原=1.0110,真值 X = - 0.0110 9.某定点小数字长16位,含1位符号,原码表示,分别写出下列典型值的二进制代码与十 进制真值。 (1)非0最小正数 (2)最大正数 (3)绝对值最小负数 (4)绝对值最大负数 解: 二进制代码 十进制真值 (1)非0最小正数 0.000000000000001 2-15 1-2-15 (3)绝对值最小负数 1.000000000000001 -2-15 (4)绝对值最大负数 10.某定点小数字长16位,含1位符号,补码表示,分别写出下列典型值的二进制代码与 十进制真值。 (1)非0最小正数 (2)最大正数 (3)绝对值最小负数 (4)绝对值最大负数 解: 二进制代码 十进制真值 (1)非0最小正数 0.000000000000001 2-15 (4)绝对值最大负数 1.000000000000000 -1 11.某浮点数字长16位,其中阶码6位,含1位符号位,补码表示,以2为底;尾数10位(含1位数 符),补码表示,规格化。分别写出下

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BkbK-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值