汇编语言(asm)编程问题。请务必使用您正在使用的处理器和/或指令集以及汇编程序。警告:对于.NET程序集,请改用标签[.net-assembly]。对于Java ASM,请改用标签[java-bytecode-asm]。
我需要编写一些(安全使用)随机垃圾汇编代码,以便对C ++项目进行一些混淆练习。到目前为止,我只能找到这个:#define JUNKCODE \ __asm {push eax} \ ...
我试图理解以下行为:mov bl,51;现在在gdb中打印$ ebx返回51 mov bh,52;现在是13363,但我认为这将是5251为什么?我在Intel上使用Linux nasm ...
我们遇到的主要问题是一个数字被保存为一个字节,另一个被保存为一个单词,我们意识到PDP-11中有一个内置的XOR。
对于以下函数... uint16_t swap(const uint16_t value){返回值<< 8 |值>> 8; } ...为什么带有-O2的ARM gcc 6.3.0会产生以下程序集?交换(未签名...
该程序必须以用户提供的准确度计算pi。 calculate_pi()函数是用NASM编写的。有人可以向我解释为什么这条线被评论:// printf(“准确度:%....
为什么ModR / M:rm字段在mov al中是100,字节ptr [rbx + rsi * 2 + 0x100]?
指令mov al,byte ptr [rbx + rsi * 2 + 0x100]被编码为8a 84 73 00 01 00 00,这意味着ModR / M是0x84或10.000.100我理解mod(10)和reg(000)田地,但不......
此图像提供了有关虚拟地址空间的良好图像。但它只说了故事的一半。它仅提供用户地址空间的完整图片,即...降低50%(或在某些情况下为75%)。什么 ...
我正在做一个实验室项目,我遇到了一个小问题。我已经写了一些代码来制作音符,这部分似乎有效。我遇到的问题是我处理'm'......
我正在使用与Irvine库的x86程序集。检查寄存器值是否等于零的最简单方法是什么?我使用cmp指令,但我正在寻找替代方法。这是我的 ...
如何将寄存器中的存储器地址传递给其他寄存器?我的以下例程从堆栈接收字符串内存地址(是的,这是必要的),然后尝试放入D1寄存器,但它不...
为了将基数10中的任何数字转换为基数16,一个好的实现将是:段数据use32 class =数据号dd 0 format_input db“%d”,0 format_output db“%x”,0 ...
确定以下子程序的运行时间(以纳秒为单位):延迟:按下r22 ldi r20,0x40 del1:nop ldi r21,0xFF del2:nop ldi r22,0xFF del3:nop ...
我非常精通编程,尤其是C ++,但对于API挂钩和汇编(学习)这个概念仍然很陌生。目前我正在研究DLL代理,与...相比应该相当容易
我需要写很多推送不同字符的推送指令。我想为此使用一个宏。这就是我到目前为止所做的:%macro push_multi 1- *;在1和∞之间接受......
所以我正在研究Redox OS(一个用Rust制作的操作系统)的源代码,看看我是否可以学到一些东西。我正在读取bootloader文件夹中的汇编文件start.s。在里面 ...
这个x86-64 addq指令是什么意思,它只有一个操作数? (来自CSAPP第3版)
在以下说明中,addq如何工作?它只有一个操作数,书中声称它增加%rdx,但%rdx不在此指令中。我很困惑......这是书中的......
出于某种原因,我无法正确地将其中的结构放入fasm中。这是问题所在,假设我有这样的结构:struct IMAGE_SECTION_HEADER _Name db IMAGE_SIZEOF_SHORT_NAME dup(?)...
关于在x86汇编语言中设置堆栈帧的ebp和esp的使用,我有点混淆。在下面的代码中:section。。code'代码可读的可执行文件; ...
最近在我的计算机课上,我们已经说过使用uVision ARM编译器。现在,我已经做了很多年java并且了解如何编程但是ARM给了我麻烦。我是...
是否有更直接的方法将float转换为int而不是添加0.5f并使用截断转换?
在使用浮点数据的C ++代码中,通常使用舍入从float转换为int。例如,一种用途是生成转换表。考虑一下......的片段