count is not a variable
count is a constant, like #define count 3 in c/c++
in asm, there are 2 ways to define a constant: using "equ" or "="
if you use "=", you can redefine it later.
if you use "equ", you cannot.
For the 2nd question, did you convert the code from C? C uses cdecl, but masm uses stdcall. That maybe the reason
constant in MASM32 is not always 32bit by default
If I remember correctly, inMASM32 v8, it is 32bit, but in v9 and v10, it is 64bit
If I use a constant macro (a macro that returns a constant) in v9 and v10, I have to convert the result to DWORD
And, constant is not variable.
EQU and = define constant, not variable
At compile time, constant is converted to immidiate value
Variable is converted to the address, and takes memory at runtime.