所以我正在使用tasm 1.4而且我正在制作一个程序,用较小的字母和数字组成CS14。通过我运行它的方式大约1/4,并且在我的上一个消息输出之后出现了一些奇怪的东西,例如hgweh26I ^ U%EYWGT #YWHSDWrite disk FullHSJETESRGDTFHGJ!
错误看起来像这样 http://s18.postimg.org/h35196kop/TD2.png
这是我的代码(虽然尚未完成):
MODEL SMALL
.STACK 100H
.DATA
MSG DB 27 DUP('*'),13,10
MSG1 DB 27 DUP('*'),13,10
MSG2 DB 3 DUP('*')
MSG3 DB 2 DUP(' ')
MSG4 DB 3 DUP('C')
MSG5 DB 2 DUP(' ')
MSG6 DB 4 DUP('S')
MSG7 DB 2 DUP(' ')
MSG8 DB '1'
MSG9 DB 2 DUP(' ')
MSG10 DB '4 4'
MSG11 DB 2 DUP(' ')
MSG12 DB 3 DUP('*'),13,10
.CODE
MAIN PROC
;INIT
MOV AX, @DATA
MOV DS, AX
;DISPLAY
LEA DX, MSG
MOV AH, 9
INT 21H
;RETURN TO DOS
MOV AX, 4C00H
INT 21H
MAIN ENDP
答案 0 :(得分:0)
打印有INT 21H / AH=09H
的字符串应该以{{1}}字符(ASCII代码36)终止。我没有在你的字符串后面看到任何这样的终结符,所以中断函数将继续打印直到找到终结符。