Nasm是Netwide Assembler,一个开源的x86 / x64汇编程序。它旨在实现可移植,模块化和简单的语法。
我看到了如下代码: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次并存储其......
我正在linux上使用NASM进行一些汇编编码,但我遇到了一个问题。 global _start section .text testFunctionName:mov rdi,12 ret _start:call testFunctionName mov ...
也许我很蠢,不知道什么,但我认为我做得对。我有两个文件,一个是boot.asm,第二个是code.asm。在boot.asm我只启用蓝色的视频模式填充屏幕并尝试...
使用NASM中的scanf将非整数输入无符号整数,从而导致循环出现问题
每当我尝试在先前在循环中输入一个已接受的数字后,在我的scanf中为无符号整数输入一个字母或符号时,它会不断输入前一个数字,从而导致......
有没有办法在Linux中执行平面二进制映像,使用如下语法:nasm -f bin -o foo.bin foo.asm runbinary foo.bin
如何在不使用Assembler循环的情况下对3个变量进行排序?
我想在汇编程序中编写一个程序,向用户询问3个变量,然后用户将数字写入寄存器(我知道如何编写),但现在我有一个问题:我必须对这3个进行排序...