标题:问个简单的问题(从键盘读入一行数据然后显示)
取消只看楼主
Spygg
Rank: 5Rank: 5
等 级:职业侠客
帖 子:135
专家分:394
注 册:2007-5-20
结帖率:100%
已结贴  问题点数:10 回复次数:2 
问个简单的问题(从键盘读入一行数据然后显示)
;这个程序结果不对,希望有人帮我改下,谢谢了
DAT SEGMENT
STRING DB 100,0,100 DUP(?)
DAT ENDS
COD SEGMENT
ASSUME CS: COD,DS: DAT
STRAT:
MOV AX,DAT
MOV DS,AX
LEA DX,STRING
MOV AH,0AH
INT 21H
XOR CL,CL
MOV CL,STRING+1
XOR CH,CH
ADD DX,CX
MOV BX,DX
MOV BYTE PTR[BX+1],0AH   ;这两行就是在读入的字符后加个0a和0d用来换行
MOV BYTE PTR[BX+2],0DH   ;不过不是很懂是bx+1,bx+2还是bx+2,bx+4
MOV BYTE PTR[BX+4],'$'
LEA DX,STRING+2
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
COD ENDS
END

[ 本帖最后由 Spygg 于 2010-4-25 19:45 编辑 ]
搜索更多相关主题的帖子: 键盘 
2010-04-25 16:15
Spygg
Rank: 5Rank: 5
等 级:职业侠客
帖 子:135
专家分:394
注 册:2007-5-20
得分:0 
回复 2楼 hahayezhe
但是这个程序结果不对
2010-04-25 19:44
Spygg
Rank: 5Rank: 5
等 级:职业侠客
帖 子:135
专家分:394
注 册:2007-5-20
得分:0 
;终结版,嘿嘿有问题还是要自己哈,不过还是谢谢2楼的版主
DAT SEGMENT
STRING DB 100,0,100 DUP(?)
ENT DB 0AH,0DH,'$'
PRINTF DB 'INPUT A STING TO TEST!','$'
STAR DB '***************************THIS IS A DEVIDE LINE******************','$'
DAT ENDS
COD SEGMENT
ASSUME CS: COD,DS: DAT
STRAT:
MOV AX,DAT
MOV DS,AX
;Print a line to remind user
LEA DX,PRINTF
MOV AH,09H
INT 21H
LEA DX,ENT
MOV AH,09H
INT 21H
;
LEA DX,STRING
MOV AH,0AH
INT 21H
XOR CL,CL
MOV CL,STRING+1
XOR CH,CH
ADD DX,CX
MOV BX,DX
MOV BYTE PTR[BX+2],'$'
; ENTER NEXT LINE
LEA DX,ENT
MOV AH,09H
INT 21H
LEA DX,STAR
MOV AH,09H
INT 21H
LEA DX,ENT
MOV AH,09H
INT 21H
; PRINT THE LINE THAT USER TYPED
LEA DX,STRING+2
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
COD ENDS
END
2010-04-25 22:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-304372-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016195 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved