汇编程序 Dos功能调用 输入与输出程序 哪位高手帮我看一下,哪里错了,谢谢~!

2025-03-01 09:03:16
推荐回答(2个)
回答1:

我从你的第二句就可以断定你是一位初学者。我给你改写了一下,把你的100个改成了10个,以便简单点。调试后成功运行。
DATA SEGMENT
INPUT DB 10
DB ?
DB 10 DUP(?)
DB '$'
MSG1 DB 'Want input(Y/N):',0DH,0AH,'$'
HEADMSG DB 0DH,0AH,'please input a string:',0DH,0AH,'$'
MSG2 DB 0DH,0AH,'your inputting is:',0DH,0AH,'$'
MSG3 DB 0DH,0AH,'Want continue(Y/N)?','$'
MSG4 DB 0DH,0AH,'$'
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
STEP1: MOV AH,9
MOV DX,OFFSET MSG1
INT 21H
MOV AH,1
INT 21H
CMP AL,'Y'
JE STEP2
CMP AL,'N'
JE EXIT
JMP STEP1
STEP2: MOV AH,9
MOV DX,OFFSET HEADMSG
INT 21H
MOV DX,OFFSET INPUT
MOV AH,10
INT 21H
LEA DX,MSG4
MOV AH,9
INT 21H
MOV AH,9
MOV DX,OFFSET MSG2
INT 21H
MOV AH,9
MOV DX,OFFSET INPUT+2
INT 21H

STEP3: MOV AH,9
MOV DX,OFFSET MSG3
INT 21H
MOV AH,1
INT 21H
CMP AL,'Y'
JE STEP2
CMP AL,'N'
JE EXIT
JMP STEP3
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START

回答2:

不懂汇编