2017-04-26 59 views
0

可以为程序集中的字符串赋一个int值吗?程序集 - 将int值赋给字符串

例如,我把>>老鼠= 2,当我调用使用的变量,如果我把>>鼠+ 2方案,它必须返回4.

而且,如果可能的话,这是做到这一点的最佳方式?

任何帮助将不胜感激。

回答

0

这听起来像你想存储一个整数在变量,这恰好是使用字符串命名?这与rkhb解释你的问题的方式有很大的不同,但我认为这更符合你的实际问题,从你使用的标签判断。

有两种基本类型的NASM支持的变量:初始化数据和未初始化数据。

使用已初始化的数据,可以在声明变量时分配一个静态值。实际上,初始化的数据更像是一个常量,但您将其命名为符号。 DB(Declare Byte),DW(Declare Word),DD(Declare Doubleword)和DQ(Declare Quadword)是用于声明初始化数据的命令。所以,你可以这样做:

rat DD 2 

然后在某处你的代码,这样做:

mov eax, DWORD [rat] 
add eax, 2 
; eax now contains 4 

随着未初始化的数据,你基本上只保留空间来保存数据。这些数据不是静态初始化的;你在运行时填写它。您使用RESB(预留字节),RESW(预留字),RESD(预留双字)和RESQ(预留四字)。例如:

rat RESD 1  ; reserve space for 1 DWORD-sized value 
在你的代码

再后来,你会去:

call GetValue   ; returns value in EAX 
mov DWORD [rat], eax ; store value in 'rat' 

这是所有在NASM手册Chapter 3解释。

0

这就是我一直在寻找不为,但由于

我试图与变量计算器NASM

所以,作为卡西欧计算器(例如),你可以把变量,如X,Y,M,Z和其他,然后你可以赋值给这些变量

这就是我正在寻找,而不是在代码内,但在屏幕上。

再一次,感谢您的帮助,它帮助我用我的代码的另一个错误

相关问题