Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
System V 中 x86_64 的 C 浮点值调用约定是什么?
我目前正在深入研究汇编领域 主要是从 x86 64 C 和 System V AMD64 的角度 通常针对 Linux 通过按顺序使用以下寄存器 整数 以及隐含的指针 值的调用约定非常简单 RDI RSI RDX RCX R8 R9 XMM
c
Assembly
x8664
callingconvention
ABI
炸弹实验室阶段_4
Dump of assembler code for function func4 lt 0 gt mov rbx 0x18 rsp lt 5 gt mov rbp 0x10 rsp lt 10 gt mov r12 0x8 rsp lt
Assembly
reverseengineering
x8664
一步步在 macOS 上编写 hello world
我在 mac os x86 64 架构 的汇编方面遇到了很大的困难 我想向您介绍 hello world 程序的解释 如果您能向我提供反馈意见以及建议和解释 我将不胜感激 话虽如此 让我们进入代码 你好世界程序 Never felt the
Assembly
x86
x8664
使用 printf 函数汇编无限循环[重复]
这个问题在这里已经有答案了 谁能解释一下为什么这段代码会进入无限循环 我认为这与 printf 函数有关 q1 asciz Hello World n global main main movq rsp rbp movq 3 rcx jmp
Assembly
x8664
att
有一个为Windows API编写的汇编代码,如何在Linux上编译它并用Wine运行
中有一个示例代码这个介绍 如下所示 Sample x64 Assembly Program Chris Lomont 2009 www lomont org extrn ExitProcess PROC external functions
WINAPI
Assembly
x8664
nasm
MASM
Playstore 会拒绝使用 armeabi-v7a、arm64-v8a、x86 但不支持 x86-64 的应用吗?
来自 Android 开发者网站 https developer android com distribute best practices develop 64 bit很明显 从 2019 年 8 月 1 日开始 Google Play
Android
arm
x8664
ARM64
armv7
Intel SDM手册中的“根据结果设置”是什么意思?
这是我在 Intel x86 64 的文档中看到的内容neg和许多其他说明 包括sub 所以理解 FLAGS 为neg x as 0 x取决于这个 The OF SF ZF AF and PF根据结果 设置标志 我假设sf dest lt
Assembly
x86
x8664
eflags
从 x64 进程将 x86 代码注入到 x86 进程
我意识到标题有点复杂 所以让我解释一下我想要做什么 我刚刚完成了一个简单的 DLL 注入器的编写 用于验证我正在尝试编写的概念 该程序拍摄当前进程的快照 枚举进程树 并将 DLL 注入其直接父进程 现在 在理想条件下 效果很好 32 位版本
c
WINAPI
Assembly
x86
x8664
使用“push”或“sub”x86 指令时,堆栈内存是如何分配的?
我已经浏览了一段时间 我试图了解在执行以下操作时如何将内存分配给堆栈 push rax 或者移动堆栈指针为子例程的局部变量分配空间 sub rsp X Move stack pointer down by X bytes 我的理解是 堆栈段
Linux
memory
memorymanagement
x8664
为什么Assembly x86_64系统调用参数不像i386那样按字母顺序排列
有一个问题困扰着我 那么 为什么在x86 32 the 参数在我认为在的寄存器中传递按字母顺序 eax ecx edx esi and ranked order esi edi ebp syscall arg0 arg1 arg2 arg3
Assembly
x86
x8664
cpuregisters
callingconvention
在 Linux 中轻松检查 Intel 汇编操作码
我一直在寻找一种实用的工具 可以在 Linux 中打印任何 Intel 64 位或 32 位指令的操作码 例如就像是Hiew sDOS 中的汇编程序 基于网络的服务也是一种选择 由于找不到 所以自己做了一个bash脚本 它从命令行参数 指令
Linux
Assembly
x86
x8664
opcode
Linux x86-64 Hello World 和寄存器参数用法
我发现这个页面有一个 Linux 上 x86 64 的 Hello World 示例 http blog markloiseau com 2012 05 64 bit hello world in linux assembly nasm 6
Linux
Assembly
x86
x8664
nasm
位置无关代码指向错误地址
我有一个用 NASM 2 11 08 编写的针对 macho64 架构的小示例程序 我正在运行 OSX 10 10 3 bits 64 section data msg1 db Message One 10 0 msg1len equ ms
nasm
x8664
macho
C 代码的 x86 反汇编生成:orq $0x0, %(rsp)
I have written the following C code 它只是分配一个包含 1000000 个整数和另一个整数的数组 并将数组的第一个整数设置为 0 我编译这个使用gcc g test c o test fno stack
c
Assembly
gcc
x8664
callstack
不使用 libSystem macOS 链接目标文件
我正在为 x86 64 上的 macOS 编写一个编译器 但是当我将目标文件链接在一起时 ld says ld dynamic main executables must link with libSystem dylib for infe
MacOS
Linker
x8664
linkererrors
ld
如何防止gcc优化破坏rep movsb代码? [复制]
这个问题在这里已经有答案了 我尝试使用以下命令创建我的 memcpy 代码rep movsb操作说明 当禁用优化时 它可以完美地适应任何尺寸 但是 当我启用优化时 它无法按预期工作 问题 如何防止gcc优化破坏rep movsb代码 我的代
c
gcc
Optimization
x8664
inlineassembly
首次使用 AVX 256 位向量会减慢 128 位向量和 AVX 标量运算
最初 我试图重现 Agner Fog 的微架构指南部分 YMM 和 ZMM 向量指令的预热期 中描述的效果 其中写道 处理器在不使用时关闭向量执行单元的上部部分 以节省电力 在大约 56 000 个时钟周期或 14 s 的初始预热期间 具有
Assembly
x8664
SSE
SIMD
avx
使用索引寻址模式时的瓶颈
我在 Haswell 和 Coffee Lake 机器上进行了以下实验 指令 cmp rbx qword ptr r14 rax 吞吐量为 0 5 即每个周期 2 条指令 这正如预期的那样 该指令被解码为随后未层压的一个微指令 参见http
x8664
intel
cpuarchitecture
microoptimization
addressingmode
使用gdb检查寄存器的值
如何查看寄存器保存的值 我有以下装配线 mov 0x8 rax rax cpm ebx rax 使用命令 gdb p x ebx gdb p x rbx 3 0xb 我得到了存储在该寄存器中的值 但是 当我尝试查看内存位置 rax 中存储的
Assembly
GDB
x8664
在 x86/x86_64 处理器上使用 LFENCE 指令是否有意义?
我经常在互联网上发现LFENCE在 x86 处理器中没有任何意义 即它什么都不做 所以改为MFENCE我们可以绝对无痛地使用SFENCE 因为MFENCE SFENCE LFENCE SFENCE NOP SFENCE But if LFE
Assembly
x86
x8664
atomic
memorybarriers
«
1 ...
14
15
16
17
18
19
20
21
»