nasm 相关问题

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

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

在装配中接受用户输入?简单程序(在macOS上)

我在这个简单的程序中遇到一些问题,该程序接受用户的名字并输出“Hello,name here”这是我的代码到目前为止...%define SYSCALL_WRITE 0x2000004%define SYSCALL_EXIT ...

回答 1 投票 0

NASM没有读ctrl-d字符

我正在编写一个简单的NASM汇编程序。我有大约95%的想法。但是,我遇到了一个我似乎无法弄清楚的问题。击中ctrl-d应该显示再见...

回答 2 投票 0

为什么具有对_GLOBAL_OFFSET_TABLE_的非限定引用的nasm程序集显然可以组装并链接为PIC?

为什么我可以将get_got.asm汇编并链接为与位置无关的代码,因为它包含对其GOT的绝对地址的引用? get_got.asm extern _GLOBAL_OFFSET_TABLE_ section .text global ...

回答 1 投票 2

NASM示例代码中$和$$的真正含义[重复]

我看到了如下代码:section .data db'hello'db'h','e','l','l','o'data_segment_size equ $ - $$为什么data_segment_size等于25?我知道$和$$表示什么,但我不能......

回答 1 投票 -2

写给bl和bh

我试图理解以下行为:mov bl,51;现在在gdb中打印$ ebx返回51 mov bh,52;现在是13363,但我认为这将是5251为什么?我在Intel上使用Linux nasm ...

回答 1 投票 0

在调用asm函数之前调用printf与否的神秘副作用?

该程序必须以用户提供的准确度计算pi。 calculate_pi()函数是用NASM编写的。有人可以向我解释为什么这条线被评论:// printf(“准确度:%....

回答 1 投票 1

x86在基数2中输入一个数字,并将其作为基数8的数字输出

为了将基数10中的任何数字转换为基数16,一个好的实现将是:段数据use32 class =数据号dd 0 format_input db“%d”,0 format_output db“%x”,0 ...

回答 1 投票 -2

Nasm预处理器 - 通过变量的地址参数

我需要写很多推送不同字符的推送指令。我想为此使用一个宏。这就是我到目前为止所做的:%macro push_multi 1- *;在1和∞之间接受......

回答 1 投票 1

在Mac OSX上编译NASM

在学校编写编译器,最后一个里程碑是生成汇编代码。试图学习NASM。从头开始,http://www.cs.lmu.edu/~ray/notes/nasmexamples/,试图编译一个Hello ...

回答 2 投票 3

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; ...

回答 3 投票 3

找不到错误!!尝试循环遍历字符串并使用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; ...

回答 1 投票 -4

使用GDB for NASM程序集中断本地标签

我想使用GDB打破NASM汇编代码中的本地标签。发出以下命令将产生输出:(gdb)break * start.label1 + 217尝试提取值的组件...

回答 1 投票 2

删除空字节汇编shellcode

从我的shellcode中删除空字节时,我似乎无法在mov rsi指令中获取空字节,以便在没有奇怪的解决方法的情况下彻底删除。我有一个bindshell shellcode和...

回答 2 投票 0

NASM中汇编编程的基础知识

我是汇编程序设计的初学者,想要澄清我在解释这段代码时引起的一些疑问:%macro print 2 mov rax,1 mov rdi,1 mov rsi,%1 mov rdx,%2 ...

回答 1 投票 0

NASM ctypes SIMD - 如何访问返回到ctypes的128位数组?

我有一个由ctypes调用的NASM 64 dll。程序将两个64位整数相乘并返回一个128位整数,因此我使用的是xmm SIMD指令。它循环10,000次并存储其......

回答 1 投票 0

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