nasm 相关问题

Nasm是Netwide Assembler,一个开源的x86 / x64汇编程序。它旨在实现可移植,模块化和简单的语法。

resb是否创建指针或未初始化的变量?

'var resb 1'是否声明指针或1字节的未初始化变量?它的c等价物是什么?

回答 1 投票 1

尝试打印十进制数时的程序集“分段错误”

我正在尝试创建一个将为我打印十进制数的宏。我的想法是将数字除以10,将余数转换为ASCII并将其推入堆栈,直到比率为0.我......

回答 1 投票 1

访问C文件中的汇编宏函数/指令

我想知道是否可以在另一个C文件文件中访问.directive或像%macro my_macro这样的宏的汇编指令:macroasm.S%macro my_macro 1 mov rsp,1%endmacro有没有...

回答 1 投票 0

如何使用asm和c创建多级引导加载程序? [关闭]

我想创建一个简单的32位基于文本的操作系统。 Bootloader:首先我要创建一个多级引导加载程序。第1阶段:汇编代码(NASM编译器)第2阶段:C(GCC编译器)......

回答 1 投票 0

在汇编中使用参数调用execve的正确方法是什么?

我试图用execve执行以下命令:/ bin // nc -lnke / bin / bash -p 4444在阅读execve的手册页时,我看到以下要求:int execve(const char * filename,char * .. 。

回答 1 投票 1

无法理解nasm错误。如何修复代码。

我尝试从asm代码调用printf函数。 hello.asm:%macro exit 0 mov eax,1 mov ebx,0 int 80h%endmacro extern printf; C函数,被称为SECTION .data ...

回答 2 投票 -1

如何在不调用的情况下执行子程序?

我对汇编(x86_64)非常陌生,并且遇到了一个教程,他提供了一个简单的程序来打印具有未定义长度的字符串。该程序如下:section .data text db“...

回答 1 投票 1

Bios设置部门

我想从usb启动一个自制的操作系统。我成功地从flopy磁盘启动它。但问题发生了,当我想从usb启动时,我必须将数据读取到磁盘。在flopy磁盘,扇区和。 ..

回答 1 投票 0

从我的16位引导加载程序加载内核

我最近开始使用os编程,并且我编写了一个带有nasm的引导加载程序,它调用了一个内核...当我模拟它时,引导加载程序工作正常,但是内核没有加载,我的代码:...

回答 1 投票 0

在linux控制台中显示所有ascii字符(NASM程序集)

我阅读了关于nasm的教程,并且有一个代码示例显示整个ascii字符集。我几乎了解一切,除了为什么我们推动ecx和弹出ecx,因为我不知道如何...

回答 1 投票 3

用x87浮点调用printf

我在x86 asm中有一个简单的程序,它使z = x / y。问题是,在划分时应该正确编写代码,但不打印任何内容。没有输出。我不知道是什么......

回答 2 投票 3

装配不打印空行

我刚开始学习x86程序集,我试着编写一个简单的程序,打印所有的ascii字符和一个换行符到标准输出。除了...之外,它按预期打印所有内容

回答 1 投票 1

我的汇编程序中的分段错误

我从这个简单的启动程序中得到了一个分段错误。我正在使用Ubuntu 16.10和kdbg进行调试。 Affter到达__int 80h__,它停止移动到下一行。部分 ....

回答 1 投票 -1

使用自定义引导加载程序创建可引导的ISO映像

我试图将我用汇编语言编写的引导加载程序转换为ISO映像文件。以下是MikeOS bootloader的代码。这是我的引导程序代码:BITS 16开始:mov ax,...

回答 2 投票 8

从NASM到GAS的翻译

我怎么把mov [ebx],al从NASM翻译成GAS?我试过mov%al,(%ebx),但它确实是分段错误。另一个问题,让我说我在GAS .lcomm数组中有一个数组,50我必须投入一美元(...

回答 4 投票 1

x86 NASM更改未作为参数传递的地址的值

我注意到NASM汇编代码中scanf的一些特殊行为。我有两次调用scanf:mov rdi,fmt mov rsi,r14 call _scanf和mov rdi,fmt mov rsi,r15 call _scanf其中fmt是...

回答 1 投票 0

将两个32位数相乘并将64位结果打印为十进制NASM程序集

我在使用NASM程序集时遇到问题。我无法弄清楚如何将2个数字相乘并将它们打印到屏幕上。问题是我们只允许使用只打印32位的功能......

回答 1 投票 0

编写一个跨步的x86基准测试

我想编写一个加载基准测试,它跨越给定的内存区域,具有编译时已知的步幅,包含在区域末尾(2的幂),只需要很少的非加载指令...

回答 3 投票 2

将Go汇编程序翻译为NASM

我遇到了以下Go代码:type Element [12] uint64 // go:noescape func CSwap(x,y * Element,choice uint8)// go:noescape func Add(z,x,y * Element)where CSwap和添加功能是......

回答 2 投票 1

装配 - 如何输入中断并将其保存在寄存器中

我写了一些宏来获取用户的输入,我需要将输入保存在某个寄存器中。 gdb告诉我存储的值与输入不同!这是我的代码:%macro exit 0 mov eax,1 ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.