输入0—9中得一个数,输出其对应的英文单词。
刚刚学汇编,不太懂,请大神们指教!!.386
DATA SEGMENT
INPUT DB 'INPUT X(0-9):$'
TAB DB 'ZERO$ ','ONE$ ','TWO$ ','THREE$','FOUR$ ','FIVE$ ','SIX$ ','SEVEN$','EIGHT$','NINE$ ' ;算上空格,每部分占6个字符
X DB ?
INERR DB 0AH,0DH,'INPUT ERROR!TRY AGAIN',0AH,0DH,'$'
CRLF DB 0DH,0AH,'$'
DATA ENDS
STACK SEGMENT USE16 STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT USE16
ASSUME CS:CODE, DS:DATA,SS:STACK
START:MOV AX,DATA
MOV DS,AX
NEXT:MOV DX,OFFSET INPUT
MOV AH,9
INT 21H
MOV AH,1
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
CMP AL,'0'
JB ERR
CMP AL,'9'
JA ERR
AND AL,0FH
MOV X,AL
MOV Bl,X
MOV BH,0
MOV SI,BX
IMUL SI,6
MOV BL,TAB
MOV BH,0
LEA DX,[BX+SI]
MOV AH,9
INT 21H
EXIT:MOV AH,4CH
INT 21H
ERR:MOV DX,OFFSET INERR
MOV AH,9
INT 21H
JMP NEXT
CODE ENDS
END START
为什么输出的都是乱码??实在是不知道哪里错了。谢谢各位了!
[ 本帖最后由 hustluojiang 于 2013-4-20 16:18 编辑 ]