You aren't saying what's happening, and you aren't mentioning your toolset.
See if is in its own segment or sitting at 0100h in the code instruction pointer path!
buffer db 10,?, 10 dup(' ')
; Get Buffered Keyboard input
mov dx, offset buffer
mov ah, 0ah ; Command Buffered Keyboard Input
int 21h ; DOS interrupt
; 0:bufsize, 1:char count, 2...N buffer
xor bx,bx
mov bl, buffer[1]
; mov buffer[bx+2], '$'
mov buffer[bx+1], '$' ; Replace carriage return with terminator
mov dx, offset buffer + 2
mov ah,09
int 21h
;;;; ret
mov ah,4ch
int 21h
wildgoose
Practically a Posting Shark
896 posts since Jun 2009
Reputation Points: 546
Solved Threads: 99
Just to be safe, move the data below the code! You're using the newer MASM32 (which I don't like, I still use MASM) with a 16-bit linker which implies you're making 16-bit Real Mode code.
wildgoose
Practically a Posting Shark
896 posts since Jun 2009
Reputation Points: 546
Solved Threads: 99