Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
GCC 上 x86 intel asm 中方括号前的偏移量
从我找到的所有文档中 没有提到类似的语法offset var offset2 采用 Intel x86 语法 但 GCC 具有以下标志 gcc S hello c o masm intel 对于这个程序 include
gcc
Assembly
x86
gnuassembler
intelsyntax
ARM64在iOS上使用gas?
我已经将一些汇编函数移植到了 64 位 ARM 并且它们在 Android 上运行良好 但是当我尝试在 Xcode 中编译相同的文件时 我发现 clang 使用不同的语法 与官方 ARM 不同 文档 我发现一些脚本可以将源文件从一种格式转换
Android
ios
Assembly
gnuassembler
ARM64
将 .org 指令与 .data 部分中的数据一起使用:与 ld 相关
在我努力了解如何使用 GNU binutils 来构建一个简单的引导加载程序时 使用gas我遇到过这样的问题 如何告诉链接器将数据放置在使用 org 推进位置计数器的文件中 同时将文件大小保持在 512 字节 我似乎找不到办法做到这一点 尝
Linux
ld
gnuassembler
att
如何使用 GDB 调试 jonesforth?
jonesforth 通常按如下方式启动 cat jonesforth f jonesforth 有什么好的调试方法jonesforth 在Ubuntu上 如果您使用的是 Ubuntu 请允许gdb附加到正在运行的进程 echo 0 gt
Assembly
GDB
gnuassembler
forth
用汇编语言定义“变量”
我知道这是一个非常愚蠢的问题 但我有一段时间无法找到答案如何在 GAS AT T 汇编语言中正确声明和定义 变量 例如 我想要 5 个字节的缓冲区 两个 1 字节变量 最初值为 0 2 字节变量为 0 和 2 字节变量为 10 这段代码不能
Assembly
gnuassembler
att
为什么IDIV为-1会导致浮点异常?
据我了解 idiv ebx将分裂edx eax 按顺序连接成 64 位值 与 32 位ebx 然而 当我尝试划分时0x00000000 0xfffffffb 0 和 5 与0xffffffff 1 我得到一个浮点异常 有人可以解释为什么吗
Assembly
x86
gnuassembler
att
如何在64位汇编程序中使用RIP相对寻址?
如何在 AMD64 架构的 Linux 汇编程序中使用 RIP 相对寻址 我正在寻找一个使用 AMD64 RIP 相对寻址模式的简单示例 Hello world 程序 例如 以下 64 位汇编程序可以正常工作 绝对寻址 text globa
Assembly
x8664
gnuassembler
addressingmode
relativeaddressing
使用 GAS AT&T 指令计算引导扇区的填充长度?
所以我想在引导扇区添加填充 比方说 目前只有一个无限循环 jmp 该扇区的长度需要为 512 字节 还有 神奇的数字0xaa55需要在最后添加 jmp skip 508 0 word 0xaa55 但是 如果我想打印一些内容 但不想计算所有
Assembly
x8616
BootLoader
gnuassembler
att
为什么这个带有 gcc (clang) 内联汇编的简单 c 程序表现出未定义的行为?
我正在尝试使用 gcc 汇编程序扩展做一件非常简单的事情 将 unsigned int 变量加载到寄存器中 加 1 给它 输出结果 编译我的解决方案时 include
gcc
x86
inlineassembly
gnuassembler
在 x86_64 上汇编 i386 代码
以下代码无法按预期工作 intel syntax noprefix arch i386 data hello world ascii Hello world n hello world end equ hello world len hel
Assembly
x86
offset
gnuassembler
i386
用 GNU(GCC 和 GAS)替换 DOS 中的定时器中断处理程序
正如标题所示 我正在尝试用我自己的处理程序替换 DOS 中定时器中断的现有处理程序 在广泛搜索各种解决方案之后 我找到了一些完全可以做到这一点的汇编代码 我什至成功地编译和测试了它 并发现它可以工作 现在的问题是我找到的代码 见下文 是为
gcc
Assembly
DOS
interrupthandling
gnuassembler
从 Asm 访问 C 中定义的全局变量
我有一个包含全局变量 foo 的 C 文件 我如何访问foo来自另一个汇编程序 我使用 i586 elf as GNU 汇编器 和 i586 elf gcc gnu 编译器 进行构建 您可以只使用交易品种名称 as将所有未定义的符号视为外部
c
gcc
Assembly
globalvariables
gnuassembler
Gnu 汇编器 (GAS) 中的 CFI 指令有何用途?
每行后面似乎都有一个 CFI 指令 并且这些指令也有很多种 例如 cfi startproc cfi endproc etc 更多这里 file temp c text globl main type main function main
Assembly
callstack
gnuassembler
stackunwinding
debuginformation
在 GNU 汇编器宏中引用操作数/参数
我目前正在尝试理解的概念汇编语言中的宏 特别是在 GNU 汇编器中 IA 32 x86 的 AT T 语法 我大学的幻灯片内容如下 How to define a macro macro write string movl string e
Assembly
gcc
x86
macros
gnuassembler
试图理解 Linux 内核中的一段内联臂汇编
我试图了解这段内联汇编的作用 它是从 C 生成的DEFINE macro define DEFINE sym val asm volatile n gt sym 0 val i val define offsetof TYPE MEMBER
c
gcc
Assembly
gnuassembler
ARM64
为什么 _exit(0) (通过系统调用退出)阻止我接收任何标准输出内容?
我有一个 Linux x86 32 GAS 汇编程序 如下所示终止 movl 1 eax movl 0 ebx argument for exit int 0x80 当我像这样退出时 程序会像平常一样运行 但是如果我尝试读取标准输出输出 我
Linux
Assembly
interrupt
systemcalls
gnuassembler
为什么从 AT&T 语法切换到 Intel 语法会使本教程在使用 GAS 时出现段错误?
我正在完成一些教程http www ibm com developerworks linux library l gas nasm index html熟悉 x86 x64 本教程代码使用提供的代码进行编译和运行 不会出现任何问题 该代码使
Assembly
x86
intel
gnuassembler
att
«
1
2
3