- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我知道还有其他一些类似的问题,但我仍然无法理解它的 () 部分。有人可以为我拼出这个语法吗?谢谢。
最佳答案
cmp %eax,0x80498d4(,%ebx,4)
cmp 是比较汇编指令。它通过从左边减去右边的参数来执行两个参数之间的比较,并设置 CPU EFLAGS 寄存器。然后可以使用此 EFLAGS 寄存器进行条件分支/移动等操作。
第一个参数: `%eax(%eax 寄存器中的值)
第二个参数: 0x80498d4(,%ebx,4)。这被读作 offset ( base, index, scale )
在您的示例中,第二个参数的值是内存位置偏移 0x80498d4 + base (我相信如果不包括它默认为零) + %ebx 寄存器中的值 * 4(比例因子)
。
注意:我相信这里的 base 是空的,默认值为 0。
可以看看http://docs.oracle.com/cd/E19120-01/open.solaris/817-5477/ennby/index.html有关 Intel x86 汇编指令语法的更多信息。
关于c - cmp %eax,0x80498d4(,%ebx,4) 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28801983/
GCC 给我做了一些汇编代码,里面有这个语句: lea eax, [ebx+eax] (英特尔语法) 只是好奇,这有什么区别,和: add eax, ebx 是? eax 和 ebx 包含函数的返回值
我正在学习逆向工程的基础。在逆向破解版时,我碰巧在几乎每个函数的开头都看到了这种模式: pushl %ebp movl %esp, %ebp
我正在尝试学习一些汇编,但我很难理解一些基本的东西是做什么的。 eax ebx ecx 只是变量还是除了存储值之外它们都有独特的特定用途? 最佳答案 eax, ebx, ecx 等等其实都是寄存器 ,
我正在研究计算机系统,程序员的观点(第 3 版),练习题 3.3 包含以下行: movb $0xF, (%ebx) 我应该找出这行 x86-64 汇编代码有什么问题,答案是:“不能使用 %ebx 作为
我这个汇编代码: INT %ebx GCC 在尝试组装它时给我一个错误: INT ERROR:mismatch operand type for 'int'. 这是否意味着指令 INT 的操作数必须是
80386-80686+:不建议软件程序员使用EBX寄存器,因为它是CPU的特定寄存器,或者因为O.S.而不能使用它。 (至于Windows)由于某些原因需要它......? 但是如果我在使用它之前将
我已经用汇编编写了一个程序,输入后: as -32 maximum.s -o maximum.o ld -m elf_i386 maximum.o -o maximum ./maximum 它显示段错
我用 C++ 编写了一个“危险的”程序,它在一个堆栈帧和另一个堆栈帧之间来回跳转。目标是从调用堆栈的最低层跳转到调用者,做一些事情,然后再次向下跳,每次都跳过中间的所有调用。 我通过手动更改堆栈基地址
我试图理解一些汇编代码: movl $244, %eax movl %1, %%ebx 第一个表示将数字244放入寄存器eax,但是第二个是什么意思?在此先感谢您的帮助 P.S see the dif
我正在研究 x86 汇编代码高尔夫拼图。我正在使用 NASM 组装源文件: nasm -f elf32 -O0 main.s ld -m elf_i386 -s -O0 -o main main.o
我有以下用 MASM 为 i386 处理器编写的简单程序: TITLE BLA .MODEL SMALL .386 .STACK
在Linux环境下,如果我写一些NASM代码如下: mov eax, 1 ; system call 1 - sys_exit mov ebx, 0 int 0x80 ... ebx 中的值是多少?
在汇编中创建函数时,我在使用如此少量的寄存器进行操作时遇到问题 - 这些寄存器中的什么内容阻止了我使用它们?我可以在编码时将其内容复制到参数中,并在退出函数之前重置它,以免破坏其目的吗? 最佳答案 W
这个问题已经有答案了: What is the meaning of MOV (%r11,%r12,1), %edx? (2 个回答) 已关闭 5 年前。 一直在从事 assembly 作业,并且在很
我知道还有其他一些类似的问题,但我仍然无法理解它的 () 部分。有人可以为我拼出这个语法吗?谢谢。 最佳答案 cmp %eax,0x80498d4(,%ebx,4) cmp 是比较汇编指令。它通过从左
我正在尝试创建 read() 包装器但收到此错误: error: unknown register name ‘%%ebx’ in ‘asm’ in line 23 //(the bold line)
我正在尝试实现“Win32 EXE 的动态 fork ”的已知方法,它被称为 RunPE。我的问题是我无法获得在 http://www.security.org.sg/code/loadexe.htm
谷歌不显示结果, 有谁知道? 最佳答案 X 表示 对 ,并且至少可以追溯到 8080。它有 8 位寄存器 B、C、D、E、H、L(等等),它们也可以成对使用(BC、DE 和 HL)。 BC 和 DE
我正在尝试使用 AT&T/GAS 语法将此 for 循环从 C 语言转换为汇编语言: for(int j = i; i*j < N; j++) { A[i*j] = 0; } 我将i存储在%e
section .text global _start ;must be declared for linker (ld)
我是一名优秀的程序员,十分优秀!