Я пытаюсь справиться с MASM32 и путаюсь в следующем:
Я думал, что скобки были использованы для косвенности, поэтому, если у меня есть предопределенная переменная
.data
item dd 42
то
mov ebx, item
помещает содержимое "item", то есть число 42, в ebx и
mov ebx, [item]
будет помещать адрес "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
печатает 42 раза дважды. Чтобы получить адрес "элемента", мне, кажется, нужно
mov ebx, [OFFSET item]
invoke dwtoa, ebx, ADDR valuestr
invoke StdOut, ADDR valuestr
Кто-нибудь может объяснить, для каких квадратных скобок в MASM, или указать мне хорошую ссылку.