汇编 - 将int值赋给string

时间:2017-04-26 00:16:02

标签: variables assembly nasm assign

可以在程序集中为字符串指定一个int值吗?

例如,我把>> rat = 2,当我调用一个使用变量的程序时,如果我把>>老鼠+ 2,它必须返回4。

并且,如果有可能,这是最好的方法吗?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

听起来你想要在变量中存储一个整数,恰好用字符串命名?这与rkhb如何解释你的问题有很大的不同,但我认为从你使用过的标签来看,它更符合你的实际问题。

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

使用初始化数据,在声明变量时分配静态值。实际上,初始化数据更像是常量,但您可以象征性地命名它。 DB(声明字节),DW(声明字),DD(声明双字)和DQ(声明四字)是用于声明初始化数据的命令。所以你可以这样做:

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中有所解释。

答案 1 :(得分:0)

那不是我想要的,但谢谢

我试图使用NASM

制作带变量的计算器

因此,作为卡西欧计算器(例如),您可以放置​​X,Y,M,Z等变量,然后可以为这些变量赋值

这就是我要寻找的,不是在代码内部,而是在屏幕上。

再次,感谢您的帮助,它帮助我解决了我的代码

的另一个错误