问题标签 [immediate-operand]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
55288 浏览

assembly - ARM 的 MOV 指令如何以大数作为第二个操作数?

我刚开始学习ARM汇编语言,不清楚如何使用MOV将立即数转移到寄存器中。

从 ARM 参考手册和我的教科书中,都说 MOV 指令后面的立即数范围是 0-255。但是当我在自己的 PC 上使用 ADS 1.2 IDE 进行测试时,指令

表现良好。根据规范,数字 0xFFFFFFFF 是否超出范围?

0 投票
6 回答
36179 浏览

assembly - MUL 指令不支持立即数

我已经阅读了一些教程和示例,但我无法理解MUL指令的工作原理。我用过ADDSUB没有问题。显然,这条指令将其操作数乘以寄存器中的值。

哪个寄存器(eax、ebp、esp 等)乘以第一个操作数?结果存储在哪个寄存器中,所以我可以将它移到堆栈中?抱歉,我只是在学习 x86 汇编。

当我尝试编译这一行时......

我明白了,Error: suffix or operands invalid for 'mul'。谁能帮我吗?

0 投票
1 回答
3798 浏览

assembly - 如何在 x86 上使用 AT&T 语法将立即字节添加到长寄存器?

根据我阅读英特尔手册的理解,应该可以编写类似的指令add $0x7f, %ebx,并且应该将其编码为83 /0 ib总共三个字节。

但是,当我这样做时(无论我使用addaddb还是addl),它总是将立即值“提升”为 32 位值并编码为81 /0 id并占用六个字节。adc,等也存在同样的问题sub。请注意,我在 GNU 中使用 AT&T 语法as

我一直在寻找解决方案超过一天,但没有找到。有人可以请教吗?

0 投票
1 回答
27884 浏览

assembly - 修复后常量无效?

出于某种原因,当我尝试编译这段代码时,编译器会说syscall.s:72:invalid constant (0x172) after fixup

我不知道它为什么这样做。当我将一个较小的常数放入r7时,它可以正常工作。但是随着数字的增加,它会吐出这个错误。我通过mov r7, #300and临时修复了它add r7, #70,达到了预期的效果。仍然不确定是什么导致了错误。

0 投票
2 回答
8346 浏览

assembly - 为什么在带有 DC.W(定义常量)的数字之前不需要 #,只有指令?

我有这行代码:

这基本上意味着X = 5但不应该X DC.W #5

使用 MOVE 时,我总是需要#

0 投票
3 回答
44672 浏览

assembly - 为什么在 ARM 汇编中使用 LDR 而不是 MOV(反之亦然)?

我正在浏览本教程:http ://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/ok01.html

组装的第一行是:

第二个是:

我以为ldr是为了将内存中的值加载到寄存器中。但似乎这=意味着 0x20200000 是一个值而不是内存地址。两条线似乎都在加载绝对值。

0 投票
1 回答
1536 浏览

assembly - 了解 ATT 组装(立即)

假设我有以下装配线

我究竟将什么存储到 %edi/%edx 寄存器中。

基本上,如果我要将此代码转换为 C 程序,我是否会将一些变量初始化为 -1 和 1,因为这就是我的看法,这就是我认为我感到困惑的地方。

我理解立即 =“一些常数”,但这是什么意思?

0 投票
2 回答
115 浏览

c++ - 为 arm mov 获取有效 imm num 的快速方法?

Arm mov 有一个限制,即立即数必须是 2 的倍数旋转的 8 位,我们可以这样写:

但我们不能这样写:

0x5000 可以拆分为 0x5000 + 1,我的意思是,一个有效的立即数和一个小数的总和。

那么对于给定的 32 位数字,如何快速找到最接近的有效立即数?像这样:

0 投票
1 回答
4991 浏览

assembly - 如何在arm中编码立即值?

假设有这样一个 inst:

机器码是

05 CA 8C E2

但是如果我们知道 0x5000,我们怎么能得到 101000000101?这是反向转换一一对应吗?谢谢。

0 投票
1 回答
619 浏览

assembly - at&t 汇编语法中带 $ 或不带 $ 符号的数字有什么区别?

假设 .data 部分有以下项目:

在代码中,

我相信使用 $ 符号,它会是常数,所以 %eax 会有内存地址,但是 %ebx 呢?

两条指令有什么不同?