Nasm是Netwide Assembler,一个开源的x86 / x64汇编程序。它旨在实现可移植,模块化和简单的语法。
我正在尝试创建一个将为我打印十进制数的宏。我的想法是将数字除以10,将余数转换为ASCII并将其推入堆栈,直到比率为0.我......
我想知道是否可以在另一个C文件文件中访问.directive或像%macro my_macro这样的宏的汇编指令:macroasm.S%macro my_macro 1 mov rsp,1%endmacro有没有...
我想创建一个简单的32位基于文本的操作系统。 Bootloader:首先我要创建一个多级引导加载程序。第1阶段:汇编代码(NASM编译器)第2阶段:C(GCC编译器)......
我试图用execve执行以下命令:/ bin // nc -lnke / bin / bash -p 4444在阅读execve的手册页时,我看到以下要求:int execve(const char * filename,char * .. 。
我尝试从asm代码调用printf函数。 hello.asm:%macro exit 0 mov eax,1 mov ebx,0 int 80h%endmacro extern printf; C函数,被称为SECTION .data ...
我对汇编(x86_64)非常陌生,并且遇到了一个教程,他提供了一个简单的程序来打印具有未定义长度的字符串。该程序如下:section .data text db“...
我想从usb启动一个自制的操作系统。我成功地从flopy磁盘启动它。但问题发生了,当我想从usb启动时,我必须将数据读取到磁盘。在flopy磁盘,扇区和。 ..
我最近开始使用os编程,并且我编写了一个带有nasm的引导加载程序,它调用了一个内核...当我模拟它时,引导加载程序工作正常,但是内核没有加载,我的代码:...
在linux控制台中显示所有ascii字符(NASM程序集)
我阅读了关于nasm的教程,并且有一个代码示例显示整个ascii字符集。我几乎了解一切,除了为什么我们推动ecx和弹出ecx,因为我不知道如何...
我在x86 asm中有一个简单的程序,它使z = x / y。问题是,在划分时应该正确编写代码,但不打印任何内容。没有输出。我不知道是什么......
我刚开始学习x86程序集,我试着编写一个简单的程序,打印所有的ascii字符和一个换行符到标准输出。除了...之外,它按预期打印所有内容
我从这个简单的启动程序中得到了一个分段错误。我正在使用Ubuntu 16.10和kdbg进行调试。 Affter到达__int 80h__,它停止移动到下一行。部分 ....
我试图将我用汇编语言编写的引导加载程序转换为ISO映像文件。以下是MikeOS bootloader的代码。这是我的引导程序代码:BITS 16开始:mov ax,...
我怎么把mov [ebx],al从NASM翻译成GAS?我试过mov%al,(%ebx),但它确实是分段错误。另一个问题,让我说我在GAS .lcomm数组中有一个数组,50我必须投入一美元(...
我注意到NASM汇编代码中scanf的一些特殊行为。我有两次调用scanf:mov rdi,fmt mov rsi,r14 call _scanf和mov rdi,fmt mov rsi,r15 call _scanf其中fmt是...
我在使用NASM程序集时遇到问题。我无法弄清楚如何将2个数字相乘并将它们打印到屏幕上。问题是我们只允许使用只打印32位的功能......
我想编写一个加载基准测试,它跨越给定的内存区域,具有编译时已知的步幅,包含在区域末尾(2的幂),只需要很少的非加载指令...
我遇到了以下Go代码:type Element [12] uint64 // go:noescape func CSwap(x,y * Element,choice uint8)// go:noescape func Add(z,x,y * Element)where CSwap和添加功能是......
我写了一些宏来获取用户的输入,我需要将输入保存在某个寄存器中。 gdb告诉我存储的值与输入不同!这是我的代码:%macro exit 0 mov eax,1 ...