主题:小妹恳求各位大侠一个小程序
[font=黑体][/font][color=000000][/color]
;此程序目的是想由键盘输入一个姓名和电话号码,然后输出,怎么输出时多了一串字符,请你们帮帮我呀.在此谢过!
DATA SEGMENT
INPUTNAME DB 'INPUT NAME: $'
INPUTTELE DB 'INPUT A TELEPHONE NUMBER: $'
MAX DB 9
REAL DB ?
INBUF DB 9 DUP(?)
OUTNAME DB 10 DUP(?)
OUTPHONE DB 10 DUP(?)
DATA ENDS
C_SEG SEGMENT
ASSUME DS:DATA,ES:DATA,CS:C_SEG
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
TELIST PROC FAR
LEA DX,INPUTNAME
MOV AH,9
INT 21H
CALL INPUT_NAME
LEA DX,INPUTTELE
MOV AH,9
INT 21H
CALL INPHONE
CALL PRINTLINE
MOV AX,4C00H
INT 21H
TELIST ENDP
INPUT_NAME PROC NEAR
PUSH BX
PUSH DI
PUSH SI
PUSH CX
XOR BX,BX
CALL GETCHAR
LEA DI,OUTNAME
LEA SI,INBUF
MOV CX,8
CLD
REP MOVSB
ADD BX,8
MOV OUTNAME[BX],'$'
POP CX
POP SI
POP DI
POP BX
RET
INPUT_NAME ENDP
INPHONE PROC NEAR
PUSH BX
PUSH DI
PUSH SI
PUSH CX
XOR BX,BX
CALL GETCHAR
LEA DI,OUTPHONE
LEA SI,INBUF
MOV CX,8
CLD
REP MOVSB
ADD BX,8
MOV OUTPHONE[BX],'$'
POP CX
POP SI
POP DI
POP BX
RET
INPHONE ENDP
PRINTLINE PROC NEAR
PUSH DX
PUSH AX
LEA DX,OUTNAME
MOV AH,9
INT 21H
LEA DX,OUTPHONE
MOV AH,9
INT 21H
POP AX
POP DX
RET
PRINTLINE ENDP
GETCHAR PROC NEAR
PUSH DX
push ax
LEA DX,MAX
MOV AH,0AH
INT 21H
pop ax
POP DX
RET
GETCHAR ENDP
C_SEG ENDS
END START
;此程序目的是想由键盘输入一个姓名和电话号码,然后输出,怎么输出时多了一串字符,请你们帮帮我呀.在此谢过!
DATA SEGMENT
INPUTNAME DB 'INPUT NAME: $'
INPUTTELE DB 'INPUT A TELEPHONE NUMBER: $'
MAX DB 9
REAL DB ?
INBUF DB 9 DUP(?)
OUTNAME DB 10 DUP(?)
OUTPHONE DB 10 DUP(?)
DATA ENDS
C_SEG SEGMENT
ASSUME DS:DATA,ES:DATA,CS:C_SEG
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
TELIST PROC FAR
LEA DX,INPUTNAME
MOV AH,9
INT 21H
CALL INPUT_NAME
LEA DX,INPUTTELE
MOV AH,9
INT 21H
CALL INPHONE
CALL PRINTLINE
MOV AX,4C00H
INT 21H
TELIST ENDP
INPUT_NAME PROC NEAR
PUSH BX
PUSH DI
PUSH SI
PUSH CX
XOR BX,BX
CALL GETCHAR
LEA DI,OUTNAME
LEA SI,INBUF
MOV CX,8
CLD
REP MOVSB
ADD BX,8
MOV OUTNAME[BX],'$'
POP CX
POP SI
POP DI
POP BX
RET
INPUT_NAME ENDP
INPHONE PROC NEAR
PUSH BX
PUSH DI
PUSH SI
PUSH CX
XOR BX,BX
CALL GETCHAR
LEA DI,OUTPHONE
LEA SI,INBUF
MOV CX,8
CLD
REP MOVSB
ADD BX,8
MOV OUTPHONE[BX],'$'
POP CX
POP SI
POP DI
POP BX
RET
INPHONE ENDP
PRINTLINE PROC NEAR
PUSH DX
PUSH AX
LEA DX,OUTNAME
MOV AH,9
INT 21H
LEA DX,OUTPHONE
MOV AH,9
INT 21H
POP AX
POP DX
RET
PRINTLINE ENDP
GETCHAR PROC NEAR
PUSH DX
push ax
LEA DX,MAX
MOV AH,0AH
INT 21H
pop ax
POP DX
RET
GETCHAR ENDP
C_SEG ENDS
END START