x86 相关问题

x86是一个源自Intel 8086 CPU的架构。 x86系列包括32位IA-32和64位x86-64架构,以及传统的16位架构。关于后者的问题应该标记为[x86-16]和/或[emu8086]。如果您的问题特定于64位x86-64,请使用[x86-64]标记。对于x86 FPU,请使用标记[x87]。对于SSE1 / 2/3/4 / AVX *,也可以使用[sse]和[avx] / [avx2] / [avx512]中的任何一个

如何在ml64.exe中设置align 64?

使用ml64.exe为某些汇编程序功能代码设置align 64的最简单方法是什么? _TEXT的默认对齐方式为16,因此ml64不允许在align命令中设置超过16。并且ml64不...

回答 1 投票 3

INT 10h功能0Dh不一致

我试图获得单个像素的颜色(我在Emu8086中使用13h图形模式),因为我正在使用中断10h的函数0Dh。但它根本不一致。它没有给出正确的......

回答 1 投票 -1

如果大于参数的大小,ADD指令的结果“包围”是什么意思

我正在关注Udemy的汇编语言冒险:完整课程。在解释ADD指令时,教师说ADD指令的结果“包裹”,如果大于......

回答 1 投票 -1

为什么具有对_GLOBAL_OFFSET_TABLE_的非限定引用的nasm程序集显然可以组装并链接为PIC?

为什么我可以将get_got.asm汇编并链接为与位置无关的代码,因为它包含对其GOT的绝对地址的引用? get_got.asm extern _GLOBAL_OFFSET_TABLE_ section .text global ...

回答 1 投票 2

NASM示例代码中$和$$的真正含义[重复]

我看到了如下代码:section .data db'hello'db'h','e','l','l','o'data_segment_size equ $ - $$为什么data_segment_size等于25?我知道$和$$表示什么,但我不能......

回答 1 投票 -2

写给bl和bh

我试图理解以下行为:mov bl,51;现在在gdb中打印$ ebx返回51 mov bh,52;现在是13363,但我认为这将是5251为什么?我在Intel上使用Linux nasm ...

回答 1 投票 0

当VMEXIT发生时,处理器是否总是重新加载CR3?

当VMEXIT发生时,处理器是否总是重新加载CR3?

回答 1 投票 1

.Net混合非托管x32和x64 dll [重复]

我依赖于一个非托管的dll。我可以在x86和x64中编译非托管dll。我想将我的项目添加到x64和x86 dll中,因此它可以在x64或x86之间动态选择...

回答 1 投票 -1

在调用asm函数之前调用printf与否的神秘副作用?

该程序必须以用户提供的准确度计算pi。 calculate_pi()函数是用NASM编写的。有人可以向我解释为什么这条线被评论:// printf(“准确度:%....

回答 1 投票 1

为什么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)田地,但不......

回答 1 投票 0

确定寄存器的值是否等于零的最简单方法是什么?

我正在使用与Irvine库的x86程序集。检查寄存器值是否等于零的最简单方法是什么?我使用cmp指令,但我正在寻找替代方法。这是我的 ...

回答 3 投票 6

使用影子分页在ubuntu中运行vm?

在ubuntu中,如果你在Virt-manger中运行另一个ubuntu - 在no上使用阴影分页禁用嵌套分页和强制会产生什么影响。 VM退出。退出的数量是否......

回答 1 投票 2

为什么Skylake比Broadwell-E在单线程内存吞吐量方面要好得多?

我们有一个简单的内存吞吐量基准。对于大块内存,它所做的只是重复记忆。在几台不同的机器上查看结果(针对64位编译),Skylake ......

回答 2 投票 9

x86在基数2中输入一个数字,并将其作为基数8的数字输出

为了将基数10中的任何数字转换为基数16,一个好的实现将是:段数据use32 class =数据号dd 0 format_input db“%d”,0 format_output db“%x”,0 ...

回答 1 投票 -2

如何准备prolog和epilog汇编来拦截带参数的函数?

我非常精通编程,尤其是C ++,但对于API挂钩和汇编(学习)这个概念仍然很陌生。目前我正在研究DLL代理,与...相比应该相当容易

回答 2 投票 2

Nasm预处理器 - 通过变量的地址参数

我需要写很多推送不同字符的推送指令。我想为此使用一个宏。这就是我到目前为止所做的:%macro push_multi 1- *;在1和∞之间接受......

回答 1 投票 1

这个x86-64 addq指令是什么意思,它只有一个操作数? (来自CSAPP第3版)

在以下说明中,addq如何工作?它只有一个操作数,书中声称它增加%rdx,但%rdx不在此指令中。我很困惑......这是书中的......

回答 1 投票 3

Fasm在堆栈中声明结构

出于某种原因,我无法正确地将其中的结构放入fasm中。这是问题所在,假设我有这样的结构:struct IMAGE_SECTION_HEADER _Name db IMAGE_SIZEOF_SHORT_NAME dup(?)...

回答 1 投票 1

为什么汇编程序员想要从这个位置减去ebp而不是esp?

关于在x86汇编语言中设置堆栈帧的ebp和esp的使用,我有点混淆。在下面的代码中:section。。code'代码可读的可执行文件; ...

回答 2 投票 1

在发布与调试模式下生成本地堆栈变量的代码

作为我在Rust中操作系统的一部分,我有以下系统调用入口点:#[no_mangle]#[naked]#[inline(never)] unsafe extern“C”fn syscall_handler(){//切换到内核堆栈专用...

回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.