x86-64是Intel x86架构的64位扩展
NASM中具有LINK.EXE和WinAPI的Hello世界
我正在尝试在NASM中运行一个简单的Hello world程序。我想不使用C库直接打印到控制台,而是直接与WinAPI交互。我正在使用Visual Studio提供的LINK ....
因此,我正在Mac上学习x86_64 nasm程序集,这很有趣。在hello world和一些基本的算法之后,我尝试从该站点复制一个稍微高级些的hello world程序并将其修改为64 ...
在x86 SIB中,如果索引= 100,未使用比例和索引寄存器,则意味着可以互换使用24、64,A4,E4和其他?
我有一些程序集需要在OS X(x86-64)中加载C符号。对于x86,执行此操作的方法是:mov rax,some_symbol_name但是,对于x86-64,这会导致链接警告:ld:warning:...
这里是我的程序:.text extern printf,scanf全局主main:mov rdi,msg1 mov rax,0调用printf mov rsi,res mov rdi,fmt mov rax,0调用scanf mov ...
这是main的汇编代码:push%rbp mov%rsp,%rbp sub $ 0x20,%rsp mov%edi,-0x14(%rbp)mov%rsi,-0x20(%rbp)mov -0x20(% rbp),%rax添加$ 0x8,%rax mov(%rax),%rax mov%...
问题的答案如何在Linux内核模块中分配可执行页面?描述如何使用__vmalloc()分配可执行内存。使用kmalloc()也可以吗?我的...
如何使用SSE / AVX指令有效地将2 x 2个64位整数矩阵相乘?
[有没有一种方法可以使用SSE或AVX乘以2 x 2矩阵的无符号64位整数,这比仅不使用任何SSE / AVX指令效率更高?
我已经读过,为了根据英特尔的系统编程指南(第3卷第9.9章)暂时关闭分页,我应该先禁用中断,然后再执行其他操作。我可以轻松禁用...
以下64位NASM代码使用锁cmpxchg以内核顺序获取每个内核,执行一些代码,然后使用xchg重置内核编号变量,以便下一个内核可以执行该代码。核心...
浮点异常核心已转储。我正在使用64位汇编。我认为我从关于错误的所见中使用div指令时遇到了错误,(人们似乎在没有这样做的情况下就得到了它。...
为什么D2D1CreateFactory在程序集中发送错误消息
我到目前为止有一个程序,它所做的只是尝试创建一个D2D1Factory,但是我收到错误消息E_NOINTERFACE,我以为我拥有正确的IID_ID2D1Factory,并且在...中多次检查过...
我想在函数中使用'rbx'和'rcx'寄存器,在使用它们之前,我想保存它们。由于它是2个寄存器,我想知道哪种方法更好?将它们一一推入或保留堆栈(16 -...
我正在将32位和64位汇编语言文件从gas转换为MASM格式,并在我的代码中遇到一条似乎完全有问题的指令。我的意思是,我看不到...
使用gdb,我希望将此地址0x7fffffffe0f0放入eip寄存器中,以使缓冲区溢出成功。问题是此地址的大小(0x7fffffffe0f0)大于eip ...
我试图在调用函数strcpy()时在GDB上设置一个断点,但是GDB停止了,我不知道如何找到错误,这是GDB的新手,我想研究二进制利用,所以我是论坛...
我在Visual C ++文档中了解到,从同一对象读取多个线程是安全的。我的问题是:具有多个内核的X86-64 CPU如何处理此问题?假设您有一个1 MB ...
Assembly PE64 Console无法找到命令行参数计数和数组(argc)+(argv)
im正在为Win64的Assembly项目工作,我在命令行参数方面有问题!!!!在正常情况下,命令行参数的地址为:[rsp] =命令行数...
假设我在C语言中有一个简单的系统:#include typedef struct Point {Point * a;点* b; int x;诠释}点; int main(){点p1 = {NULL,NULL,3,5};返回0; } ...