相关疑难解决方法(0)

在MASM32中混淆括号

我试图掌握MASM32,并对以下内容感到困惑:

我认为括号用于间接,所以如果我有一个预定义的变量

 .data
   item dd 42
Run Code Online (Sandbox Code Playgroud)

然后

 mov ebx, item
Run Code Online (Sandbox Code Playgroud)

将'item'的内容,即数字42,放入ebx和

 mov ebx, [item]
Run Code Online (Sandbox Code Playgroud)

将'item'的地址,即存储42的地址放入ebx.

但是控制台应用程序中的以下代码:

 mov ebx, item
 invoke dwtoa, ebx, ADDR valuestr 
 invoke StdOut, ADDR valuestr
 mov ebx, [item]
 invoke dwtoa, ebx, ADDR valuestr 
 invoke StdOut, ADDR valuestr
Run Code Online (Sandbox Code Playgroud)

两次打印42次.要获得"项目"的地址,我似乎需要

 mov ebx, [OFFSET item]
 invoke dwtoa, ebx, ADDR valuestr 
 invoke StdOut, ADDR valuestr
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释MASM中的方括号,或者指出一个很好的参考.

assembly masm masm32

7
推荐指数
1
解决办法
1679
查看次数

标签 统计

assembly ×1

masm ×1

masm32 ×1