cost 258 ms
如何在 MacOS 上正确使用“写入”系统调用来打印到标准输出? - How to correctly use the "write" syscall on MacOS to print to stdout?

我看过类似的问题,但似乎找不到我的代码有什么问题。 我试图在 MacOS 上进行“写入”系统调用以将字符串打印为标准 output。 我能够完美地使用printf来完成它,并且熟悉在 x64 程序集中调用其他函数。 然而,这是我第一次尝试syscall 。 我正在使用 GCC 的 GAS 汇编器。 ...

无法在 aarch64 设备上使用汇编程序系统调用打开磁盘文件 - Cannot open disk file using assembler syscalls on aarch64 device

我是这里的业余程序员,现在正试图进入 android 电话的汇编程序。 我无法打开磁盘文件。 如果任何了解 aarch64 的 gnu 汇编程序的人可以帮助我,我非常想克服这个障碍。 我正在使用 Termux 应用程序,它是一个类似 Bash 的 shell,安装了 package Binutils ...

打乱gdt表后通过数据段寄存器访问数据就可以了吗? - Will it be OK to access data through a data segment register after I disturb gdt table?

我已经使用这些数据设置了 gdt 表 我做mov $16, %eax ; mov %eax, %ds加载带有 GDT 条目的 DS。 现在我更改 gdt_table,或者只是将它设置为零(以打扰它)但不再重新加载%ds 。 这些是我的问题我想知道我是否仍然可以通过%ds访问数据(在我打乱 gdt ...

为什么mov %ax, %ds assemble+disassemble as mov %eax,%ds, 和原来的不一致? - why does mov %ax, %ds assemble+disassemble as mov %eax,%ds, inconsistent with the original?

测试.S 我通过这样做得到了反汇编代码文件 测试文件.txt 我的问题我想知道为什么我得到这样的代码mov %eax,%ds ,它不适合我原来的汇编代码? 为什么 objdump output 矛盾的结果我的期待我希望mov %eax,%ds应该是mov %ax,%ds ,我认为%eax (32 ...

.code16和.code32有什么区别 - What's the difference between .code16 and .code32

我正在通过观看一些视频来学习对 i386 的系统核心进行编程。 我知道一些关于进入保护模式的程序: 在.code16文件中,首先我需要打开A20 Address Line并更改CR0寄存器,然后我需要将ljmp转换为.code32代码。 现在我正在研究.code16机器码和.code32机器码之间的 ...

常量溢出(特别是 in.byte)汇编程序指令(尤其是 gas 和 clang) - Overflow in constants (specifically in .byte) assembler directives (especially gas and clang)

如果.byte指令的操作数溢出,有没有办法让汇编程序(gas 或 clang)output 出错,而不是警告? 我在 ARM 上特别考虑这样的构造: 它仅在(.L12-.L6)/2等表达式适合 [-128, 255] 时才有效。 有没有办法在组装时检查这个? (也许我可以使用条件指令,但这看起来 ...

更正 LDR Rd,=constant_expression 在 GCC / GAS 中的用法? - Correct LDR Rd,=constant_expression usage in GCC / GAS?

我正在使用 GNU arm-none-eabi 工具链从 Ride7 迁移到 Eclipse CDT。 在我的项目中,我有一个使用 .equ 指令的硬件寄存器描述库,其方式如下: 我想准备一个掩码来清除例如第 30、27、25 和 5 位。 在 Ride7 中使用伪指令没有问题 这会在池中某处生成 ...

.S 汇编代码 将另一个宏应用到 .S 中的多个寄存器的宏 - .S assembly code Macro to apply another macro to multiple registers in .S

在.S 汇编代码中,我想编写一个宏,将另一个宏作为“参数”,然后将其应用于多个寄存器。 一个最小的例子是: 但是,当我想编译这个宏时,它不起作用: 有没有办法定义一个宏,将另一个宏应用于某些寄存器? 请注意,对于手头的用例,我必须使用宏并且不能使用 function。 ...

ARM 内联汇编:将 function 地址移至寄存器 - ARM inline assembly: Move function address to register

我想将 function 的地址加载到寄存器中。 我编写了以下内联汇编。 内联汇编程序返回错误“错误:未定义的符号 x0 用作立即值”。 这段代码有什么问题? 我在 ubuntu 上使用 ARM GNU 工具链。 目标:在新启动的 AArch64 系统(在 EL2 中)中,我想 go 到 EL1。 ...

GNU i386-Assembler: arch/i386/boot.S: Error: junk `GDT39' after expression - GNU i386-Assembler: arch/i386/boot.S: Error: junk `GDT39' after expression

我尝试按照 wiki.osdev.org 中关于 GDT 设置的教程进行操作。 我试图将示例代码从 NASM 转换为 GAS 语法,但工具 intel2gas 无法转换我自己尝试的某些行。 我不得不说我对汇编程序了解不多。 这是我来自 boot.S 的代码,我正在使用 GNU-i386-Cross ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM