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]中的任何一个

cmp后汇编x86调用

我有以下代码来比较数字并增加变量如果为true或false failcheck1:mov eax,val1 add ebx,4 cmp eax,40 jl failinc1 ...

回答 2 投票 1

使用GDB for NASM程序集中断本地标签

我想使用GDB打破NASM汇编代码中的本地标签。发出以下命令将产生输出:(gdb)break * start.label1 + 217尝试提取值的组件...

回答 1 投票 2

在单CPU指令中可以在0和1之间翻转位/整数/布尔值的任何可能代码

单个x86指令可以在“0”和“1”之间切换布尔值吗?我想到了以下方法,但都导致了两个指令与-cc标志的gcc。 status =!状态; status = 1 - 状态; ...

回答 3 投票 1

如何在16位模式下使用GDB?

我有以下代码,我试图实现一个使用BIOS函数打印字符串的函数:int printString(char * string){int i = 0; while(*(string + i)!='\ 0'){...

回答 2 投票 4

装配ADC(随附进位)到C ++

有一个汇编指令ADC。我发现这意味着“随身携带”。但我不知道这意味着什么。或者如何用C ++编写这个指令。我知道它与ADD不同。所以......

回答 6 投票 15

从编译器asm输出反向设计数组维度/结构布局?

在此代码中,A和B是使用#define定义的常量。 A和B的值是多少? typedef struct {int x [A] [B];长y; } str1; typedef struct {char array [B]; int t; ...

回答 1 投票 2

为什么va_arg()会对x86_64和arm产生不同的影响?

代码:#include #包括 #包括 typedef unsigned int uint32_t; float average(int n_values,...){va_list var_arg; int count; ...

回答 2 投票 0

需要从MASM转换到NASM

附加文件:文件dosbox_003.png(5.722 KB)编写一个NASM,它将:在一行显示您的名字。 (使用int 21h,函数9.回车符和换行符是0Dh和0Ah,...

回答 1 投票 -4

Linux上的程序集:程序集的意外行为[重复]

运行下面的代码生成一个文件,欢迎使用jj Shashwat作为内容。我没有得到的是为什么它在文件的末尾写Shashwat,Shashwat是一个完全不同的变量。 ...

回答 1 投票 2

如何在画面上打印SVGA信息?

我是装配和图形的完整初学者,任何帮助将不胜感激。我得到了svga信息,但是当我打印它时,它不会打印任何东西。如果有人能解释为什么那会很棒。这里 ...

回答 2 投票 3

如何在x86程序集中正确索引数组

我试图确保我理解SI和DI寄存器。我在汇编语言方面的背景仅限于6502,所以请耐心等待。我有一个快速的例子,说明我将如何...

回答 4 投票 3

为什么在重复调用clock_gettime时会看到400x异常值时序?

我试图通过使用物理时钟来测量c ++中某些命令的执行时间,但是我遇到了一个问题,即从物理时钟读取测量的过程...

回答 3 投票 6

何时创建逻辑地址?

我总是指x86(Linux)是否在生成二进制文件时创建了逻辑地址?如果是的话,他们在二进制文件里面吗?谢谢

回答 2 投票 0

testb $ 1,%al的语义是什么

我试图理解这个testb指令(x86-64)会做什么。 testb $ 1,%al这里$ 1的值是多少。是全部(0xFF)还是单个1(0x1)?该组件由clang生产...

回答 2 投票 0

MOVSX装配说明如何工作?

如下组装指令MOVSX如何工作:MOVSX ECX,BYTE PTR DS:[EDX]在这种情况下,这里是寄存器的状态:ECX = 0000000F EDX = 0012FD9F从......

回答 2 投票 8

是否可以在支持Intel IA-32e模式的操作系统中运行16位代码?

在Intel 64和IA-32架构手册第3A卷第9章处理器管理和初始化中,我发现了以下内容:在代码段上选择了兼容模式执行...

回答 3 投票 8

在gcc内联汇编中,双百分号(%%)有什么作用?

我遇到了一个看起来像这样的代码:asm volatile(#[...]“movl $ 1200,%% ecx;”#[...]);我知道什么是movl $ 1200,%ecx在x86中做了什么。但我很困惑为什么有两个......

回答 3 投票 11

如何使用gcc编译到程序集

如何使用gcc编译为程序集而不是可执行文件。我知道有一个-S标志,但是在makefile中我在哪里使用它。例如,如果我使用标志-O3 -o exe_name,我应该在哪里放-...

回答 3 投票 26

将XMM寄存器推入堆栈

有没有办法将打包的双字整数从XMM寄存器推送到堆栈?然后在需要时弹出它?理想情况下,我正在寻找像PUSH或POP这样的东西...

回答 2 投票 12

在C / C ++中了解Windows / MSVC的一些Antidebug内联asm

我试图了解https://github.com/nemesisqp/al-khaser/blob/0f74c40dde8ba060807e031271f81457a187fa08/DebuggerDetection.cpp#L603中的一些反调试器功能__asm {mov ...

回答 1 投票 2

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