- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
假设我有以下 assembly 线
movl $-1, %edi
movl $1, %edx
我到底在 %edi/%edx 寄存器中存储了什么。
基本上,如果我要将此代码转换为 C 程序,我会将一些变量初始化为 -1 和 1,因为这是我的看法,也是我认为我感到困惑的地方。
我理解 immediate = "some constant"但这是什么意思?
最佳答案
有四种方法可以将内容加载到寄存器中:
立即值 - 在 AT&T 汇编程序中,它使用 $number
,并将该特定值(数字)加载到寄存器中。请注意,number
不必是数值,例如,它可以是 movl $printf, %eax
- 这将加载函数的地址 printf
到寄存器 eax
。
从另一个寄存器 movl %eax, %edx
- 我们现在将 eax
值复制到 edx
中。
从固定的内存位置,movl myvar, %eax
- myvar
的内容在 eax
中。
从另一个寄存器中的内存位置,movl (%eax), %edx
- 现在,edx
具有该地址处的任何 32 位值在 eax
中。当然,假设它实际上是一个“好的”内存位置——如果不是,我们就会遇到段错误。
如果这是 C 代码,代码可能看起来有点像这样:
1)
int x = 42;
int (*printfunc)(const char *fmt, ...) = printf;
2)
int x = 1;
int y = 2;
...,
x = y; // movl %eax, %edx
3)
int x = myvar;
4)
int x = *myptr;
编辑:几乎所有作为移动指令“来源”的东西也可以作为算术运算的来源,例如 add $3, %eax
在 C 中等价于 x += 3;
。
关于assembly - 了解 ATT 程序集(即时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14900594/
我很难理解 CSS [att|=val] 和 [att~=val] 中这两个不同的属性。谁能简单地给我解释一下 谢谢 最佳答案 [attr|=val] 以任何形式匹配 val 中的单词,因此 [cla
也许我遗漏了什么,但它们看起来很相似。例如,如果您使用... a[alt~="thumb"] 或者... a[alt*="thumb"] 我可以将选择范围缩小到哪些不同?我的理解是 ~ 在引号中给你一
我已阅读文章How to customize list preference radio button 我使用下面的xml lyaout来自定义我的Dialog,我觉得android Dialog的大
Smile灬凉城丶 Distance の痕丶 冷温柔°Triste MdENY 勿念 Autism゛陌亡 瞬间”Heart Att 第5梦Dream 独家说LOVE 南城s
我即将向 App Store 提交我的应用程序,但只是想知道是否需要将 ATT 警报实现到应用程序中才能在 App Store 中发布。我调查了一下,发现苹果将其推迟到明年年初。所以为了确保,我调用
正在学习汇编程序,我有以下代码必须翻译为 C: pushl %ebp movl %esp, %ebp movl 12(%ebp), %eax imull $886836204, %
C 版: int arith(int x, int y, int z) { int t1 = x+y; int t2 = z*48; int t3 = t1 & 0xFFFF;
我正在为学校做一个项目,但我找不到任何关于 JL 在 at&t 语法中的含义的信息。作为引用,问题是在 NOP 运行时找到 %eax 的值。下面是它使用的代码: MOV $492,%ebx MOV $
我正在阅读这篇文章“assembly-challenge-jump-to-a-non-relative-address-without-using-registers”。 我需要完全按照他在这里的建议
$(document).ready(function(){ var myValue = $(".myValue").val(); console.log(myValue); }); 它返回“valu
CSAPP练习3.18需要用汇编代码恢复C代码,书上给出的答案填在空白处;评论里的答案就是我的答案。C代码如下: int test(int x ,int y) { int val=_x^y__
我有以下基于按钮点击运行的代码。 function ClickYes() { $('#').attr('placeholder', 'Tell me more'); }
假设我有以下 assembly 线 movl $-1, %edi movl $1, %edx 我到底在 %edi/%edx 寄存器中存储了什么。 基本上,如果我要将此代码转换为 C 程序,我会
VulnStack - ATT&CK红队评估实战(四) Writeup VulnStack(四)环境搭建 1、项目地址 http://vulnstack.qiyuanxu
谁能给我解释一下 GATT 和 ATT 之间的区别是什么?我没能理解。 我知道它们都是处理 BLE 服务的通用协议(protocol)。但并没有真正理解它。请解释一下。 谢谢! 最佳答案 您可以在此处
我正在尝试生成这样的汇编代码(以便它与 nasm 一起工作) ;hello.asm [SECTION .text] global _start _start: jmp short ender
大家好,我有这样的情况 See More 当单击此 div 时,它会使用此 jquery 扩展我的 UL/LI $('.todos-pedidos').click(function() { $('#b
在 iOS 14 中,当应用程序在 SwiftUI 中启动时,它可以显示 ATT(应用程序跟踪透明度)对话框,如下所示。 func application(_ application: UIAppli
$('target').haschild('#test') 应该是 true $('target').haschild('#test[att="test"]') 应该是 true $('targ
所以我有这个内联汇编代码和我的 C 代码,我想对这个特定的 asm() 调用使用 intel 语法,但是我需要切换回 ATT 语法,否则它会给出一长串错误。 asm(".intel_syntax pr
我是一名优秀的程序员,十分优秀!