nasm

    1热度

    1回答

    我必须写在asm函数,以及i在C原型 void fdct(float *in, float *out, unsigned int n); 其中: in:指针输入数据缓冲器 out:指针outcoming数据缓冲器 n:数据矩阵的数量。 函数不会返回任何内容,但会与输出数据的数组一起使用,并且必须根据结果进行更改。 据我了解,在CDECL栈看起来像: esp: ret esp+4: *in -

    0热度

    1回答

    我试图编译此为Linux拱64,我想: section .text global _start _start: mov edx, len mov ecx, msg mov ebx, 1 mov eax, 4 int 0x80 mov eax, 1 int 0x80 section .data msg d

    -2热度

    1回答

    在我的Ubuntu机器上尝试使用NASM和GCC制作一个非常小的程序时,我注意到了一些奇怪的东西。 下面的代码在64位NASM和GCC编译罚款: global main extern puts section .text main: push rax mov rdi, message call puts jmp exit e

    1热度

    1回答

    我试图学习程序集,同时试用我卡住的教程中的示例。我正在使用Ubuntu虚拟机编译这个。 这里是代码:执行编译后的输出后 SYS_READ equ 3 SYS_WRITE equ 4 SYS_OPEN equ 5 SYS_CLOSE equ 6 SYS_CREATE equ 8 SYS_EXIT equ 1 section .text global _start _sta

    -2热度

    1回答

    每次我尝试编译我的NASM,那里是一个“流行”的代码错误(“流行人”在这种情况下),它给了我一个错误。 20: error: invalid combination of opcode and operands 在第20行,我有 pop al 什么问题?

    3热度

    1回答

    我开始学习汇编语言。我在基础层面熟悉它。我想知道,Assembly中有多大的应用程序是组织的,也就是说,我怎样才能将它们分解成模块/包并将它们包含到其他模块中?我特别在谈论NASM。

    -1热度

    1回答

    我学习ASM和现在看到了一个剧本,但我不能编译: section .text global _start ;must be declared for using gcc _start: ;tell linker entry point mov edx, [ebp+input_file] mov eax, [edx+8] movsx ecx,

    0热度

    2回答

    我很困惑,还没有找到明确的答案:我应该将标签命名为“label1”还是带有下划线“_label1”?什么是最流行和最可识别的方式?如果我没有记错的话,我甚至看到一个带有“.label1”的点。 相同的问题去功能:“function1”或“_function1”?

    0热度

    1回答

    我正在创建一个小例程,用lidt指令加载idtr寄存器。 我创造了这个代码 - global load_idt load_idt: mov eax, esp add eax, 4 lidt eax ;<-----------------LINE 9 ret 但是,当我编译这个使用NASM,我得到一个错误 - kernel/kernel_start.a

    -1热度

    1回答

    我看到,使用中断只能以低分辨率绘制。假设我制作的是简单的操作系统,可以在任何分辨率上显示,如4k,1920x1080。我有英特尔x64处理器与英特尔高清显卡和Nvidia卡。我在笔记本电脑上