Nasm是Netwide Assembler,一个开源的x86 / x64汇编程序。它旨在实现可移植,模块化和简单的语法。
我注意到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 ...
我在这个简单的程序中遇到一些问题,该程序接受用户的名字并输出“Hello,name here”这是我的代码到目前为止...%define SYSCALL_WRITE 0x2000004%define SYSCALL_EXIT ...
我正在编写一个简单的NASM汇编程序。我有大约95%的想法。但是,我遇到了一个我似乎无法弄清楚的问题。击中ctrl-d应该显示再见...
为什么具有对_GLOBAL_OFFSET_TABLE_的非限定引用的nasm程序集显然可以组装并链接为PIC?
为什么我可以将get_got.asm汇编并链接为与位置无关的代码,因为它包含对其GOT的绝对地址的引用? get_got.asm extern _GLOBAL_OFFSET_TABLE_ section .text global ...
我看到了如下代码:section .data db'hello'db'h','e','l','l','o'data_segment_size equ $ - $$为什么data_segment_size等于25?我知道$和$$表示什么,但我不能......
我试图理解以下行为:mov bl,51;现在在gdb中打印$ ebx返回51 mov bh,52;现在是13363,但我认为这将是5251为什么?我在Intel上使用Linux nasm ...
该程序必须以用户提供的准确度计算pi。 calculate_pi()函数是用NASM编写的。有人可以向我解释为什么这条线被评论:// printf(“准确度:%....
为了将基数10中的任何数字转换为基数16,一个好的实现将是:段数据use32 class =数据号dd 0 format_input db“%d”,0 format_output db“%x”,0 ...
我需要写很多推送不同字符的推送指令。我想为此使用一个宏。这就是我到目前为止所做的:%macro push_multi 1- *;在1和∞之间接受......
在学校编写编译器,最后一个里程碑是生成汇编代码。试图学习NASM。从头开始,http://www.cs.lmu.edu/~ray/notes/nasmexamples/,试图编译一个Hello ...
NASM x86_64在32位模式下组装:为什么该指令产生RIP相对寻址代码?
[位32] global _start section .data str_hello db“HelloWorld”,0xa str_hello_length db $ -str_hello section .text _start:mov ebx,1; ...
找不到错误!!尝试循环遍历字符串并使用x86汇编语言将小写字母更改为大写字母
section .data msg db“x和y的和是”;字符串部分.text global _start _start:Change_letter:mov ECX,-1; set counter mov ESI,[msg];将字符串地址移动到ESI mov Eax,32; ...
我想使用GDB打破NASM汇编代码中的本地标签。发出以下命令将产生输出:(gdb)break * start.label1 + 217尝试提取值的组件...
从我的shellcode中删除空字节时,我似乎无法在mov rsi指令中获取空字节,以便在没有奇怪的解决方法的情况下彻底删除。我有一个bindshell shellcode和...
我是汇编程序设计的初学者,想要澄清我在解释这段代码时引起的一些疑问:%macro print 2 mov rax,1 mov rdi,1 mov rsi,%1 mov rdx,%2 ...
NASM ctypes SIMD - 如何访问返回到ctypes的128位数组?
我有一个由ctypes调用的NASM 64 dll。程序将两个64位整数相乘并返回一个128位整数,因此我使用的是xmm SIMD指令。它循环10,000次并存储其......