基本概念

移位操作指令:移位操作指令是一组经常使用的指令,属于汇编语言逻辑指令中的一部分,它包括移位指令(含算术移位指令、逻辑移位指令),循环移位指令(含带进位的循环移位指令),双精度移位指令三大类。其功能为将目的操作数的所有位按操作符规定的方式移动1位或按寄存器CL规定的次数(0~255)移动,结果送入目的地址。目的操作数是8位(或16位)的寄存器数据或存储器数据。

基本格式

格式为:xxx oper1,CL/1

移位次数只能是1或者存放在CL里面。

移位指令

一、算术移位指令

1、算术左移指令SAL

功能:左移一次,最低位补0,最高位送入CF标志位,如图:

意义:左移n次,等于x2的n次幂。所以可用于有符号操作数做x2的n次幂运算。

2、算术右移指令SAR

功能:右移一次,最高位保持不变,最低位送入CF标志位,如图:

意义:右移n次,等于/2的n次幂。所以可用于有符号操作数做/2的n次幂运算。

二、逻辑移位指令

1、逻辑左移指令SHL

功能:同SAL,如图:

意义:同SAL

2、逻辑右移指令SHR

功能:右移一次,最高位补0.区别!最低位送入CF标志位。如图:

意义:用于实现无符号数/2的n次幂操作。

三、循环移位指令

1、循环左移指令ROL

功能:左移一次,左移前的最高位送入最低位以及CF.如图:

2、循环右移指令ROR

功能:右移一次,右移前的最低位送入最高位以及CF.如图:

3、带进位的循环左移指令RCL

功能:左移一次,左移前的最高位送入CF,CF的内容送入最低位.如图:

4、带进位的循环右移指令RCR

功能:右移一次,右移前的最低位送入CF,CF的内容送入最高位.如图:

四、双精度移位指令

1、双精度左移指令SHLD

2、双精度右移指令SHRD

参考文章

https://blog.csdn.net/qq_41627235/article/details/80368254

https://baike.baidu.com/item/%E7%A7%BB%E4%BD%8D%E6%8C%87%E4%BB%A4/10562725?fr=aladdin

汇编语言——移位指令相关推荐

  1. 剑指offer:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。

    汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S="abc ...

  2. 汇编语言中各种移位指令的区别与联系

    本文转载自:https://blog.csdn.net/richerg85/article/details/27558005 SHL.SHR.SAL.SAR: 移位指令 ;SHL(Shift Left ...

  3. 计算机组成原理移位图,逻辑运算和移位指令-计算机组成原理与汇编语言-电子发烧友网站...

    3.4.1 逻辑运算和移位指令 1.逻辑运算指令 (1)NOT OPRD 该指令对操作数进行求反操作,然后将结果送回.操作数可以是寄存器或贮器的内容.该指令对标志位不产生影响. 例如: NOT AL ...

  4. 8086汇编语言精华笔记总结~

    目录 第一章 汇编语言的基础知识 1.计算机系统概述 硬件(Handware) 软件(Software) 2.汇编语言介绍 3.数据表示 1. BCD码 2. ASCII码 3. 真值和机器数 4. ...

  5. ATT汇编语言与GCC内嵌汇编简介

    AT&T汇编语言与GCC内嵌汇编简介 1 AT&T 与INTEL的汇编语言语法的区别 1.1大小写 1.2操作数赋值方向 1.3前缀 1.4间接寻址语法 1.5后缀 1.6指令 2 G ...

  6. 王爽著的《汇编语言》第3版笔记

    王爽著的<汇编语言>(第3版)于2013年出版,虽然是2013年出版的,但书中部分内容感觉已过时: (1). 基于intel 8086 CPU介绍,intel 8086是英特尔公司上个世纪 ...

  7. 8086汇编语言命令速查与详解

    http://note.sdo.com/u/1729301760/n/D4MQ0~jJXgEpnM0sI000Gx 汇编语言命令速查 一.数据传输指令 ──────────────────────── ...

  8. 8086汇编语言指令总结

    根据工作需要,从基础学起,设计一台嵌入式CISC模型计算机,稍后上传. 先总结下,汇编语言指令,如下 1. MOV(传送) 指令写法:MOV  target,source 功能描述:将源操作数sour ...

  9. GCC中的内嵌汇编语言

    一.声明   虽然Linux的核心代码大部分是用C语言编写的,但是不可避免的其中还是有一部分是用汇编语言写成的.有些汇编语言代码是直接写在汇编源程序中的,特别是Linux的启动代码部分:还有一些则是利 ...

  10. 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第三章——自编解析与答案

    3.1 给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么? (1) 立即寻址 (2) 直接寻址 (3) 使用BX的寄存器寻址 (4) 使 ...

最新文章

  1. 经验 | Pytorch还是Tensorflow?英伟达工程师帮你总结了
  2. ComplexHeatmap绘制热图(一)
  3. [bzoj 2456]mode
  4. config之安全(用户认证)
  5. python random包含尾部吗_你真的了解Python的random模块吗?
  6. python FTP服务器实现(Python3)
  7. 计算机单词修改是否正确,计算机组装必懂的53个单词及装机步骤51条.doc
  8. OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack()
  9. 异常捕获try...catch... c#
  10. 怎么调出matlab的函数,matlab定义函数【搞定方法】
  11. 01 离散时间信号的时域表示
  12. 爬虫+pyecharts数据分析实例:当当网
  13. java的学习--第一章 java基础入门
  14. Ubuntu20.04 vscode + opencv4教程(2021.10.27完成)
  15. android自动画廊,Android3D画廊效果与自动轮播Banner
  16. Python练习实例---房贷计算机
  17. 搭建静态的响应式个人官网
  18. linux脚本课程设计通讯录,Linux简单电子通讯录源码
  19. Android 网易云信直播
  20. NC-Verilog仿真

热门文章

  1. html5在线拍照,js html5 调用摄像头拍照
  2. html5在线拍照,h5调用html5拍照上传功能
  3. 盘点10种局域网联机游戏
  4. DllRegisterServer引出函数实现
  5. 广告关闭php,电脑右下角的广告怎么去掉
  6. android 渠道商,【华为怒斥渠道商】
  7. 使用凤凰在6303C里开启Java软件在后台运行!
  8. 数字孪生新型智慧城市一网统管云平台建设方案(44页PPT)
  9. 微信加人限制2017版
  10. 如何安装旧版iOS软件?