在nasm中的mov教学的意义

3 x86 assembly nasm cpu-registers mov

大会上我有点生疏了.我想问你们一些问题.

1)这些装配说明在NASM中是否有效?
2)有什么区别,什么时候应该使用它们?

mov EAX,EBX

VS

mov EAX,[EBX]

小智 11

mov EAX,EBX

在EAX中移动EBX的值,而

mov EAX, [EBX]
Run Code Online (Sandbox Code Playgroud)

在EBX中移动地址的值(因此EBX必须包含有效的地址,如果不是,则会返回分段错误).

  • 并祝贺您获得发表评论的权利!一个答案还不错。 (2认同)

thb*_*thb 5

你会读C吗?如果是这样的话,给定先前的定义int a, b;,第一条指令或多或少等于

a = b;
Run Code Online (Sandbox Code Playgroud)

而给定先前的定义int a, *b;,第二条指令或多或少等于

a = *b;
Run Code Online (Sandbox Code Playgroud)

除了EAX和EBX是寄存器而不是堆栈驻留变量。

可以说的很多很多,但是前面的内容为您提供了这个想法。

(顺便说一句,与过去GNU的汇编程序相比,NASM(我承认过去五年没有使用过)以相反的顺序显示了参数。NASM将目标寄存器放在左侧,将源寄存器放在右侧,而将GNU放在左侧)与GNU的“ AT&T语法”相比,NASM的约定也称为“ Intel语法”。)