这个程序的问题是:1.输入三位数或以上就只显示后两位. 2.如果输入错误,无法用回格键修改.
谁帮我解决这两个问题???万分感激.
代码如下:
CRLF MACRO
MOV AH,02H
MOV DL,0DH
INT 21H
MOV AH,02H
MOV DL,0AH
INT 21H
ENDM
SPA MACRO
MOV AH,02H
MOV DL,20H
INT 21H
ENDM
DATA SEGMENT
MESS DB 'INPUT NUMBER: ',0DH,0AH, '$ '
ERROR DB 'INPUT ERROR! ',0DH,0AH, '$ '
RESULT DB 'THE RESULT IS: ',0DH,0AH, '$ '
N DW 0
ORG 1000H
SCORE DW 15 DUP (?)
DATA ENDS
;STACK SEGMENT
;STA DW 17 DUP(?)
;TOP DW ?
;STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START: MOV AX,DATA
MOV ES,AX
MOV DS,AX
; MOV SP,TOP
MOV SI,OFFSET SCORE
MOV AL,0FFH
MOV [SI-2],AL
MOV CX,0FH
UUU: CALL GETNUM
MOV [SI],DL
CALL PAIXU
PUSH CX
PUSH SI
MOV AX,N
INC AX
MOV N,AX
MOV CX,AX
MOV SI, OFFSET SCORE
MOV AH,09H
MOV DX,OFFSET RESULT
INT 21H
WWW: MOV AL,[SI]
CALL DISP1
SPA
INC SI
LOOP WWW
POP SI
POP CX
INC SI