After assembly and linking, the cursor is set to the top upper left, but the text string is not.  I don't see why it's not. 

MAIN	      PROC	   FAR
MOV   AX,@data ;Initialize
MOV   DS,AX ;  segment
MOV   ES,AX ;  registers
; Place Code Below

CALL CLS
CALL PROMPT
CALL KBINPUT



MAIN   ENDP

CLS PROC
;Clear the screen, and change colors of console
MOV AX, 0600H
MOV BH, 71H ;white bkgd, blue frgd
MOV CX, 0000H
MOV DX, 184FH
INT 10H
CLS ENDP

PROMPT PROC
;Display THE 'ENTER AN INTEGER' MESSAGE
MOV AH, 09H
LEA DX, MESSAGE; Display message
INT 21H
PROMPT ENDP

KBINPUT PROC
;Display the kbdata string
MOV AH, 09H
LEA DX, KBDATA; Display kbdata
INT 21H

;Accept a string from the keyboard
MOV AH, 0AH
LEA DX,PARAM
INT 21H
KBINPUT ENDP


MOV   AX,4C00H ;End processing
Posted on 2010-11-10 09:45:32 by bcoughlin
"After assembling and linking"... I assume you run it, too?

You don't appear to have set the cursor. You merely scroll the screen up to clear it (and change colors). Try int 10h/2.

Best,
Frank

Posted on 2010-11-10 19:42:32 by fbkotler