Какой размер переменной использовать (db, dw, dd)для сборки x86?

Я новичок в ассемблере и не знаю, что означают все эти db, dw, dd. Я попытался написать этот небольшой скрипт, который делает 1+1, сохраняет его в переменной и затем отображает результат. Вот мой код на данный момент:

.386
.model flat, stdcall 
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
.data
num db ? ; set variable. Here is where I don't know what data type to use.
.code
start:
mov eax, 1               ; add 1 to eax register
mov ebx, 1               ; add 1 to ebx register
add eax, ebx             ; add registers eax and ebx
push eax                 ; push eax into the stack
pop num                  ; pop eax into the variable num (when I tried it, it gave me an error, i think  thats because of the data type)
invoke StdOut, addr num  ; display num on the console.
invoke ExitProcess       ; exit
end start

Мне нужно понять, что означают вещи db, dw, dd и как они влияют на настройку и комбинирование переменных и тому подобное.

Заранее спасибо. Progrmr

59
задан jww 18 June 2018 в 22:42
поделиться