Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
推送 64 位 intel osx
我想将 64 位地址压入堆栈 如下所示 asm pushq 0x1122334455667788 但我得到编译错误 我只能按以下方式推送 asm pushq 0x11223344 有人可以帮助我理解我的错误吗 我是装配新手 所以如果我的问题
MacOS
Assembly
x8664
elf .rel.text 部分中 R_386_32/R_386_PC32 的含义
为了理解重定位的概念 我编写了一个简单的 chk c 程序 如下所示 1 include
c
Linux
Assembly
x86
gcc 如何知道内联汇编中使用的寄存器大小?
我有内联汇编代码 define read msr index buf asm volatile rdmsr d buf 1 a buf 0 c index 使用该宏的代码 u32 buf 2 read msr 0x173 buf 我发现反汇
gcc
Assembly
x86
inlineassembly
当非特权用户运行 C/asm 程序时,会对 Linux 造成什么危害?
我一直在考虑一种场景 让用户 可以是任何人 可能有恶意 提交在 Linux PC 我们称之为基准节点 上运行的代码 目标是为单线程例程创建一种自动化基准测试环境 假设一个网站向代理发布了一些代码 该代理将此代码交给基准节点 而基准节点仅与代
c
Linux
security
Assembly
benchmarking
arm-thumb指令集的blx指令如何支持4MB范围
读自https www keil com support man docs armasm armasm dom1361289866046 htm https www keil com support man docs armasm arma
Assembly
arm
machinecode
thumb
instructionencoding
英特尔® 事务同步扩展新指令 (TSX-NI) 与英特尔 TSX 有何不同?
我在Intel的页面上找到了 https ark intel com products 97123 Intel Core i5 7500 Processor 6M Cache up to 3 80 GHz https ark intel c
c
Assembly
x86
inteltsx
我试图在 AAM 指令之后使用 AX 中存储的值将其除以 2,为什么它不适用于 2 位数字输出?
英语不是我的母语 请原谅输入错误 我将在此处显示的代码是一项作业 我真的需要了解发生了什么事 我在 DosBox 0 74 和 TASM 汇编器中使用 Intel 8086 语法 当我必须除以 2 时 代码的问题在于三角形的面积 注意 程序
Assembly
x8616
tasm
DOSBOx
g++ 内联汇编括号中不匹配
g 向我抱怨以下代码中缺少括号 1 2 3 v v v asm volatile inb 1 0 a result Nd portnumber 1 2 3 正如您所看到的 括号是匹配
c
Assembly
x86
g
inlineassembly
现代 x86 硬件不能将单个字节存储到内存中吗?
说到 C 的并发内存模型 Stroustrup 的C 编程语言 第 4 版 第 1 节 41 2 1 说 就像大多数现代硬件一样 机器无法加载或存储小于单词的任何内容 然而 我的 x86 处理器已经有几年的历史了 它可以并且确实存储小于单词
c
Assembly
concurrency
x86
memorymodel
分配内存空间的宏
我需要让一个汇编程序员来计算帕斯卡三角形 https en wikipedia org wiki Pascal 27s triangle 这样帕斯卡三角形的每一行都与其他行分开存储在内存中 我想做一个 但我不知道如何使用宏在汇编中做到这一点
Assembly
x86
nasm
x8664
MASM
将 C 转换为 MIPS - 嵌套数组
我正在学习 MIPS 汇编语言 在书中看到了这个例子 对我来说这似乎是不正确的 如果是的话 这将不是我在本书中发现的第一个错误 变量f and g被分配寄存器 s0 and s1分别是数组的基地址A and B are s6 and s7分
c
Assembly
MIPS
如何查看JVM中JIT编译的代码?
有什么方法可以查看 JVM 中 JIT 生成的本机代码吗 一般用法 正如其他答案所解释的 您可以使用以下 JVM 选项运行 XX UnlockDiagnosticVMOptions XX PrintAssembly 根据特定方法进行过滤 您
Java
Assembly
JVM
JIT
x86 实模式下的段大小
我对实模式下段的大小有一个疑问 因为它们不能超过 64K 但可以小于那个 http support microsoft com kb 120069 我的问题是这些段大小和基地址是如何初始化的 就像保护模式下有 GDT 和 LDT 一样 实模
Assembly
x86
memorysegmentation
realmode
如何在汇编程序中使用 C 库?
我想知道如何用汇编语言编写文本编辑器 但现代操作系统需要 C 库 特别是对于它们的窗口系统 我找到了这个page http pengu1n is programmer com posts 8304 html 这对我有很大帮助 但我想知道是否
c
Linux
Assembly
x86
I 类型指令的 MIPS 周期数 (addi)
So on https en wikipedia org wiki Cycles per instruction https en wikipedia org wiki Cycles per instruction它说 对于多周期MIPS
Assembly
MIPS
在长模式下更改 GDT 并更新 CS
我正在编写一个简单的自制 64 位操作系统 通过 UEFI 启动它 这意味着当我的代码开始执行时 它已经处于长模式 并且启用了分页 现在 退出 UEFI 引导服务后 我想用我自己的控制结构替换 UEFI 构建的所有控制结构 成功更改 CR3
Assembly
64bit
x8664
osdev
gdt
在 NASM 中使用 istruc 时:“警告:尝试初始化 BSS 部分‘.bss’中的内存:忽略 [-w+other]”
在搜索这个错误时我发现this https stackoverflow com questions 65731514 nasm attempt to initialize memory in bss section 77001709问题 但
Assembly
struct
compilererrors
warnings
nasm
在 DLL 中,函数表的结构如何?
我一直在研究不明确支持我的操作系统的设备库的实现 特别是 我有一个反汇编的 DLL 以及大量的支持源代码 现在 功能表 导出表是如何构造的 我的理解是 第一个结构 data部分是 RVA 表 接下来是通过索引链接到第一个地址表的字符串表 这
Windows
dll
Assembly
NOP 雪橇如何工作?
我找不到回答这个问题的好来源 我知道 nop sled 是一种用于规避缓冲区溢出攻击中堆栈随机化的技术 但我无法理解它是如何工作的 有什么简单的例子可以说明这种方法 128 字节 nop sled 等术语是什么意思 有些攻击包括使程序跳转到
c
Assembly
stack
bufferoverflow
noop
内联汇编 - cdecl 和准备堆栈
我最近一直在尝试通过使用缓冲区和不同汇编运算符的原始十六进制等效项来实现 C 中的动态函数 为了说明一个简单的跳转 byte buffer new buffer 5 buffer 0xE9 Hex for jump uint buffer
c
Linux
gcc
Assembly
32bit
1
2
3
4
5
6
...79
»