可以在程序集中为字符串指定一个int值吗?
例如,我把>> rat = 2,当我调用一个使用变量的程序时,如果我把>>老鼠+ 2,它必须返回4。
并且,如果有可能,这是最好的方法吗?
任何帮助将不胜感激。
答案 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等变量,然后可以为这些变量赋值
这就是我要寻找的,不是在代码内部,而是在屏幕上。
再次,感谢您的帮助,它帮助我解决了我的代码
的另一个错误