Printing from MASM (and other droll questions)



Greetings,

Just getting back to assemby after 10+ years away from it and trying
to learn a bit about x86 programming. My last experience was with a
Z80 so I am finding a lot of great things like MASM, NASM, HLA, et al.

I am currently using VC++ as it was handy and seems to understand
MASM. I was using the snippet below to test printing messages from an
asm
function. How should one print <CRLF>? Seems one should use 0D0Ah but
0Ah works fine thus far.

I copied the MessageBox invocation from another example and I have all
the same includes and tried to run it under Vc++. But as you can see
it is commented as it was reported as an undefined symbol. It would
really give me a leg up to see a print example that could print values
from registers and memory locations.

Lastly (if I haven't worn out my welcome already) if one is developing
for the IA-32 platform using an XP pc, what would be your assembler
and/or IDE of choice at this time?

Thanx,

gtb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..486
..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
helloString db "Hello World! ", ,0Ah, 0
..code

fn1 proc
;invoke MessageBox, NULL, addr helloString, addr helloString,
MB_OK
invoke StdOut, addr helloString
ret
fn1 endp

end
.