- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我编写类似 lea eax, [2 * eax] 的代码; eax * 2 与 shl eax, 1 相同; eax * 2
我的问题是:
shr
指令?就像 lea eax, [2 ... eax]
?最佳答案
抱歉,您无法用左移来模拟右移。 (x86 寻址模式中的比例因子在机器代码中编码为从 0 到 3 的 2 位移位计数。)
另请注意,LEA 不会设置 FLAGS,而 SHL 会设置。
据我所知,没有任何技巧,甚至没有效率低下的技巧。对于没有右移的玩具 ISA,这个问题以前曾出现过;您通常需要诸如查找表之类的东西或一种将位从一个寄存器转移到另一个寄存器的方法,例如 add eax,eax
/adc edx,edx
从寄存器中移动一位EAX 顶部到 EDX 底部。从 EDX=0 开始并在循环中重复正确的迭代次数(32-n 或其他)将得到与右移 n
相同的结果。
SHR/SAR 是非常必要的原始操作,不能轻易地用其他任何东西来模拟。 (除了右旋转 + 通过生成 AND 掩码将高位归零。)
右移是除以 2 的幂。除法很难;与左移/乘法不同,您无法轻松地用其他东西构建它。例如add eax,eax
左移 1,因为进位另外从低位向高位传播。
关于assembly - 如何使用lea指令实现shr指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62971195/
我正在尝试使 right shift operator 过载(>>) 使用rust 到 implement a Maybe bind . enum Maybe { Nothing, J
我有一个依赖于 libdb2.a 的 C 可执行文件。然而,当调用可执行文件时,弹出以下错误: exec(): 0509-036 Cannot load program /my/path/my_c_e
使用 FASM 我正在尝试使用 SHR 指令移动双字,该指令应该将位移动到右附加零。这是代码: format ELF executable 3 entry start segment readab
我正在将一些 C# 代码移植到 Delphi (XE5)。 C# 代码有这样的代码: long t = ... ... t = (t >> 25) + ... 我把它翻译
根据this reference和 this reference , shr 指令支持按 1、CL 寄存器和立即数移位。但是,我似乎无法立即获得工作值(value);当我有这段代码时: #incl
所以我试图将以下赋值从 C 语言转换为内联汇编 resp = (0x1F)&(letter >> (3 - numB)); 假设变量声明如下 unsigned char resp; unsigned
top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。本文为大家介绍linux top命令中VIRT,RES,SHR,DATA的含义解释。有需要
这个问题的灵感来自于我尝试回答另一个问题:Converting decimal/integer to binary - how and why it works the way it does? 唯一
我有一个关于 Delphi 中位移行为的问题(或更可能是一个错误报告)(在 Borland Delphi 7 中测试)。 目标:对任意数字执行“算术”按位右移。 这意味着必须扩展符号位 - 如果设置了
我得到了以下代码,我想在每一步之后写下观察结果。代码是: MOV AL,15 MOV AH,0FFH XOR AL,AL MOV CL,3 SHR AX,CL 现在唯一让我困惑的是 SHR 命令。我知
我得到了以下代码,我想在每一步之后写下观察结果。代码是: MOV AL,15 MOV AH,0FFH XOR AL,AL MOV CL,3 SHR AX,CL 现在唯一让我困惑的是 SHR 命令。我知
我们知道,当我们将一个二进制数向右移动时,它被除以 2。对于号码:1001 0001。假设存储在 AX 寄存器中: 如果我们认为它是无符号数(等于十进制的145):SHR AX, 1 将使 AX 等于
Kotlin 语言中 a.shr(b) 和 a.ushr(b) 函数的区别。当使用这两个函数时,我得到相同的输出,所以请帮助了解这些函数之间的区别 最佳答案 shr将您的位向右移动 ushr也右移,但
好吧,这里有一个简单的问题 我正在研究一些汇编,并将一些汇编例程转换回 VB.NET 现在,在汇编中有一行代码我遇到了问题,假设如下: EBX = F0D04080 然后下面一行被执行 SHR EBX
我在将一些 Pascal 代码翻译成 C 时遇到问题。基本上,我有嵌套循环,其中递增“k”的循环在递增“i”的循环内。在这两种情况下,我都想执行命令“如果我(右移)k AND 1 = 1,则执行以下
您为什么要使用: MOV EAX, 22 SHL EAX, 2 ...乘以 4 时而不是仅使用 MUL 指令? 据我所知,这也可以使用 SHR 而不是 DIV 来完成。 这样做有什么好处? 另外,你可
我正在学习汇编语言(特定于 x86)。我已经明白,SAL 和 SHL 的工作方式类似(清除 lsb 并将 msb 传送到 CF),从这里开始 Difference between SHL and SA
我不明白问题出在哪里,因为结果是正确的,但其中有问题,我不明白。 1.这是我必须转换为 C 的 x86 代码: %include "io.inc" SECTION .data mask DD
我要将以下 AT&T x86 程序集转换为 C: movl 8(%ebp), %edx movl $0, %eax movl $0, %ecx jmp .L2 .L1 shll $
我刚刚在 emacs 24.5.1 中发现了 shr 包 即 C-x C-f anyfile.html M-x shr-render-buffer 看起来真的不错——正是我想要的 当我打开任何 .
我是一名优秀的程序员,十分优秀!