Nasm是Netwide Assembler,一个开源的x86 / x64汇编程序。它旨在实现可移植,模块化和简单的语法。
我正在更改AMD64代码的源代码。使用类似[nasm -f elf64 -O0 XXXXXX]的命令。但是当我从gdb确认时,汇编代码[dec ecx]更改为[rex.WB]。为什么会发生这种情况?
我完全不了解组装问题,并且搜查了几个小时,因此在SO上搜索并没有清除所有内容,因此我来这里询问。我要实现的目标:[第一秒]:您好(请停留在...
NASM中具有LINK.EXE和WinAPI的Hello世界
我正在尝试在NASM中运行一个简单的Hello world程序。我想不使用C库直接打印到控制台,而是直接与WinAPI交互。我正在使用Visual Studio提供的LINK ....
我正在尝试从nasm编译共享文件,我正在使用以下命令:nasm -f elf64 -o asm / asm.o asm / asm.asm ld -shared -o asm / asm.so asm / asm.o -I /lib64/ld-linux-x86-64.so.2在第二个之后我得到了...
因此,我正在Mac上学习x86_64 nasm程序集,这很有趣。在hello world和一些基本的算法之后,我尝试从该站点复制一个稍微高级些的hello world程序并将其修改为64 ...
我有一些程序集需要在OS X(x86-64)中加载C符号。对于x86,执行此操作的方法是:mov rax,some_symbol_name但是,对于x86-64,这会导致链接警告:ld:warning:...
这里是我的程序:.text extern printf,scanf全局主main:mov rdi,msg1 mov rax,0调用printf mov rsi,res mov rdi,fmt mov rax,0调用scanf mov ...
我用nasm(x64)编写了一个程序,该程序应该执行/ bin / bash,并且运行良好。然后,我用objdump -D运行了程序,并写下了这样的机器代码:\ xbb \ x68 \ x53 \ x48 \ xbb \ x2f \ ...
很明显有标志。但是,当我有如下代码块时:;以招架开始,将set eax设置为零,100; mov不影响标志负eax;设置进位,调整和签名,...
如何在Ubuntu(Linux)的程序集(nasm)中设置光标位置
我正在尝试编写一个汇编程序(以nasm格式),该程序将设置光标的位置。我尝试使用以下代码:section .text global _start _start:mov eax,4 mov ecx,...
以下64位NASM代码使用锁cmpxchg以内核顺序获取每个内核,执行一些代码,然后使用xchg重置内核编号变量,以便下一个内核可以执行该代码。核心...
我受够了。我一直在尝试掌握汇编语言,但我觉得我正在针对我的编译器而不是一种语言进行编码。我一直在使用本教程,到目前为止它是...
我正在开发操作系统。我在启动操作系统时出错。错误是:找不到KERNEL.BIN!这里是代码:Boot.asm; Aqua_Seven_OS操作系统引导程序; ========== ...
如果nasm代码与_start的结尾相符,是否会自动移至下一个标签?
我有代码:全局_start节.text _start:mov ebx,1 mov ecx,4标签:添加ebx,ebx dec ecx cmp ecx,0 jg标签mov eax,1 int ...
我需要使用NASM 16位代码访问SSD驱动器。访问常规硬盘驱动器时,需要设置寄存器AX,DX,CX以选择圆柱体/磁道/扇区/扇区数(AH-选择读取扇区...
我正在尝试使用电传打印符号。这是一段代码:mov al,[smb] int 0x10 smb:db“ X”但是事实证明,它显示的是内存中的任何符号,而不是此符号中的任何符号。
我早先曾想过,链接到动态库的程序会进入/etc/ld.so.preload。但是,在我读过的某处,所有程序都尝试打开/etc/ld.so.preload,这...
我想在x86中编写一个将从C程序调用的函数。该函数应如下所示:char * remnth(char * s,int n);我希望它从字符串s中删除第n个字母,然后返回...
我正在尝试在NASM x86组件中打印变量的地址。当我汇编此代码时,它会很好地汇编,但是当我运行此代码时,它会打印两个字符而不是地址。 .bss ...