汇编语言(asm)编程问题。请务必使用您正在使用的处理器和/或指令集以及汇编程序。警告:对于.NET程序集,请改用标签[.net-assembly]。对于Java ASM,请改用标签[java-bytecode-asm]。
我正在 Android 设备上编写针对 ARM Cortex-A 的代码(使用 GNU 汇编器和编译器),并且我正在尝试在 Assembly 和 C 之间建立接口。特别是,我对调用函数感兴趣
TITLE clits.asm 道森格 .型号小 .堆栈0100H 。数据 。代码 MOV AX,@DATA MOV DS、AX ; --- 清除屏幕 --- MOV AX,0600H 莫夫BH,07H 莫夫CX,0000H MOV DX,184FH INT 10H ; --- 显示在...
此问题现已结束。我找到了决定。 我想写一个操作系统(小,更多用于练习)并遇到了一些困难。现在我有了加载程序文件、内核和一个
我正在尝试创建一个包含自定义序言/尾声的类,该类应由其他“消费者”类的方法使用。 它应该类似于以下示例。 (请记住...
将汇编目标文件与GCC链接时,由于errno设置而发生重定位错误
作为一个学校项目,我被要求重写 x86-64 程序集中的 write 函数。这个项目有一些规则。例如,就像 write 在发生错误时设置 errno 一样,我的 write 函数...
在 MUSL 的 x86_64 __syscall_cp_asm 包装器中的系统调用之前将传入的 pthread 地址保存在堆栈上的目的?
这是来自musl的源代码: 1 __syscall_cp_asm: 2 __cp_开始: 3 移动 (%rdi),%eax 4 测试%eax,%eax 5 jnz __cp_cancel 6 移动 %rdi,%r11 7 移动 %rsi,%rax 8 m...
我正在开发一个汇编程序,使用 Irvine32 库根据用户输入(范围从 1 到 13 行)打印帕斯卡三角形。虽然程序正确显示前几行,但...
我学习用 C 和汇编语言对 ATmega328p 微控制器进行编程: 在C中,我定义DDRB = 0x24。 在汇编器中,我定义 DDRB = 0x04 有人可以解释一下地址中的这种差异吗(是吗
了解 Clang 的 SIMD 优化,用于将 float 乘以 int 循环计数器
给定以下函数 void foo(float* 结果, int 大小, float y, float delta) { 对于 (int t = 0; t < size; ++t) { result[t] = y + delta * t; } } Clang with -O2 generates the
问题: 我有计算机科学课程,我们使用 fasm 学习汇编,课程依赖于 win api,但我使用 Linux,所以我已获得使用外部库的批准。 我选择了雷利布。 问题是我...
x86 使用 .IF 、 .ELSE 和 .ELSEIF 比较两个数字
我得到了两个 DWORD 值,并将使用 .IF、.ELSE、.ELSEIF 比较它们,看看哪个数字更大或者它们是否都相等。比如屏幕上调用了两个提示,分别是...
在谷歌上搜索了一段时间,但我找不到与此相关的任何文档。 我一直在努力学习 ARM,并一直在查看编译后的 ARM 汇编代码以实现简单的计算器。c
AVR的“ADC r18,r18”和“ROL r18”的区别
AVR 同时具有 ADC(带进位加法)和 ROL(进位左移)指令。 然而,在我看来,ROL 根本不需要,并且 ADC r, r 实现了相同的目的。 据我所知...
我正在编写一个 16 位 x86 汇编操作系统,并且正在开发程序执行。我设计的执行是不同的,因为我希望内核执行代码(这样它可以有更多的控制权...
我正在编写一个 16 位 x86 汇编操作系统,并且正在开发程序执行。我设计的执行是不同的,因为我希望内核执行代码(这样它可以有更多的控制权...
我有这个汇编8086(TASM)代码,并且屏幕上打印的文本是紫色的,我不希望它是紫色的(我需要蓝色或黑色), 那么我该如何改变它呢? 代码: .型号小 ...
给定main.c: #包括 无效(*fn_ptr)(无效); 无效 foo(无效); 无效栏(无效){ printf("酒吧 ”); } int 主函数(无效){ fn_ptr = 栏; foo(); } 和 foo.s: 外部
我读过一些有关缓冲区溢出的内容,我不明白的一件事是,据我所知,通常空间无法执行,放置在其中的代码如何运行?
Windows API SetThreadContext 未设置 EFlags 进位标志
我尝试在 Windows 上运行机器代码以进行测试, 我有一个工作原型,唯一不工作的是 EFlags SetThreadContext 似乎没有正确地将 EFlags 应用于线程, 如果我
对于一位数,我想知道它是奇数还是偶数(2的倍数)。 例如,给定 9,打印出奇数。 (即检查数学奇偶性,而不是计算奇偶性。) 这是