Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
C/C++ 中的简单“Hello World”内联汇编语言程序
我使用 devcpp 和 borland c 编译器 asm mov ax 4 I O Func mov bx 1 Output func mov cx name address of the string mov dx 6 length
c
Assembly
x86
inlineassembly
如何获取 VESA BIOS 信息
我正在跟踪Phil Opp 教程 https os phil opp com 关于用 Rust 编写一个操作系统 在稍微尝试了一下之后 我想在屏幕上显示真实的图形 我发现我应该从使用带有 VESA 的线性帧缓冲区开始 我在 osdev or
Assembly
x86
Rust
inlineassembly
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
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
用于读/写 XMM 和 YMM 寄存器的内联汇编代码?
我有 2 个变量来模拟 X86 XMM 和 YMM 如下所示 uint64 t xmm value 2 uint64 t ymm value 4 现在我想使用内联汇编来读取和写入 XMM YMM 寄存器 如何编写GCC内联汇编来复制xmm
gcc
Assembly
SSE
inlineassembly
内联汇编中的内存偏移
在 A64 汇编器中 有不同的方法来指定地址 base 0 Simple register exclusive Immediate Offset base imm Offset Immediate Offset base Xm LSL im
c
memory
Assembly
inlineassembly
ARM64
我如何使其解密而不是加密?
想知道如何从加密代码中获取此代码并使用相同的代码来创建解密 我知道这意味着我必须反转一些指令并重新排序 但我无法弄清楚哪些指令需要重新排序 哪些不需要 编辑 这是完整的函数 可以让事情变得更清晰一些 对堆栈溢出非常陌生 因此对于任何混淆表示
Assembly
visualc
x86
inlineassembly
如何使用 Intel 语法内联汇编在 GCC 中设置变量?
为什么这个代码没有设置temp到 1 我实际上该如何做到这一点 int temp asm intel syntax mov 0 eax mov eax 1 att syntax r 1 r temp eax printf d n temp
gcc
inlineassembly
intelsyntax
切换 C++ 函数的调用堆栈
这是我的上一个问题 https stackoverflow com questions 1371547 explanation of asm code关于切换 C 调用堆栈 但是 C 使用不同的调用约定 thiscall 并且可能需要一些不
c
gcc
Assembly
inlineassembly
将 GCC 内联汇编与采用立即值的指令结合使用
问题 我正在为 ARM Cortex M3 处理器开发定制操作系统 为了与我的内核交互 用户线程必须生成 SuperVisor Call SVC 指令 以前称为 SWI 用于软件中断 该指令在ARM ARM中的定义是 这意味着该指令需要即时
c
gcc
Assembly
arm
inlineassembly
如何在 gcc 内联汇编中声明和初始化局部变量而不使用扩展内联 asm?
我知道这是一个非常基本的问题 但我真的很困惑 事实上我绝对是 GCC 语法的新手 我想要拥有局部变量 带有标签的堆栈地址 而不使用扩展内联汇编 类似 Intel 语法中的以下代码 DATA1 DB 100 MOV AL DATA1 我猜这是
gcc
scope
inlineassembly
localvariables
GCC 内联汇编错误:“‘int’的操作数大小不匹配”
首先 如果有人知道标准 C 库的函数 则会打印 一个字符串 无需寻找二进制零 但需要绘制字符数 请告诉我 否则 我会遇到这个问题 void printStringWithLength char str ptr int n chars asm
c
Assembly
gcc
x8664
inlineassembly
如何在 x86_64 上准确地衡量未对齐访问速度?
In 一个答案 https stackoverflow com questions 45116212 are packed structs portable 45116730 45116730 我已经说过 在很长一段时间内 未对齐访问的速度
performance
x86
x8664
benchmarking
inlineassembly
"rdtsc": "=a" (a0), "=d" (d0) 这是做什么的? [复制]
这个问题在这里已经有答案了 我是 C 和基准测试的新手 我不明白这部分代码的作用是什么 所以我发现了一些关于 edx eax 寄存器的信息 但我不完全理解它是如何在代码中发挥作用的 所以我理解这段代码本质上返回了CPU周期的当前滴答声 那么
c
gcc
x86
inlineassembly
RDTSC
如何在x86汇编编程中表示诸如FFFFFFBB之类的十六进制值?
我正在学习 x86 内联汇编编程 我想写mov ecx FFFFFFBB 但是编译器无法识别它 像这样的十六进制数字应该如何在内联汇编代码中编写 这取决于您的汇编器的风格 美国电话电报公司 movl 0xFFFFFFBB ecx Intel
Assembly
x86
Hex
inlineassembly
带字符串的多行内联汇编宏
我正在尝试实现一个宏 MY MACRO 它存储某个部分中前面带有 32 位整数的字符串 my section 例子 MY MACRO 200 my first string u x 以下是我尝试过的选项以及我面临的问题 我将不胜感激任何帮助
c
gcc
Assembly
inlineassembly
cpreprocessor
如何确定堆栈中保存的值?
我正在做一些实验 希望能够看到系统调用期间堆栈上保存的内容 用户登陆进程的保存状态 根据http lxr linux no linux v2 6 30 1 arch x86 kernel entry 32 S http lxr linux
c
Linux
Assembly
inlineassembly
systemcalls
在 GNU C 内联汇编中编写 Linux int 80h 系统调用包装器 [重复]
这个问题在这里已经有答案了 我正在尝试使用内联汇编 我读过这一页http www codeproject com KB cpp edujini inline asm aspx http www codeproject com KB cpp
c
Linux
Assembly
x86
inlineassembly
CMPXCHG16B 正确吗?
尽管我不确定为什么 但这似乎并不完全正确 建议会很好 因为 CMPXCHG16B 的文档非常少 我没有任何英特尔手册 template lt gt inline bool cas volatile types uint128 t src t
c
gcc
x8664
inlineassembly
compareandswap
扩展内联汇编中的约束“Rah”和“Ral”意味着什么?
这个问题的灵感来自于另一个论坛上有人提出的问题 在下面的代码中 扩展内联汇编约束是什么Rah and Ral意思是 我以前没见过这些 include
gcc
x86
x8616
inlineassembly
ia16gcc
1
2
3
4
5
6
»