汇编输入一个字符后输出.是这样写吗?该怎么处理

汇编输入一个字符后输出....是这样写吗??
P SEGMENT
  ORG 100H
  ASSUME CS:P,DS:P,ES:P,SS:P
  MAIN PROC NEAR
  MOV AH,1 ; 实现int 21h的1号功能,输入一个字符存入al寄存器中
  INT 21H
  MOV DL,AL ; 把输入的字符放到dl寄存器中
  MOV AH,2 ;实现int 21h的2号功能,输出一个字符《注意没有回车换行功能》
  INT 21H
  MAIN ENDP
P ENDS
  END MAIN

------解决方案--------------------
P SEGMENT
ORG 100H
ASSUME CS:P,DS:P,ES:P,SS:P
MAIN PROC NEAR
PUSH CS
XOR AX,AX
PUSH AX

MOV AH,1 ; 实现int 21h的1号功能,输入一个字符存入al寄存器中
INT 21H
MOV DL,AL ; 把输入的字符放到dl寄存器中
MOV AH,2 ;实现int 21h的2号功能,输出一个字符《注意没有回车换行功能》
INT 21H
RET
MAIN ENDP
P ENDS
END MAIN