Reputation: 17
So I im using tasm 1.4 and I was making a program to bring out CS14 in big made up in smaller letters and numbers. about 1/4 of the the way through I ran it and some weird stuff comes up after the output of my last msg saying stuff like hgweh26I^U%EYWGT#YWHSDWrite disk FullHSJETESRGDTFHGJ!
the error looks like this http://s18.postimg.org/h35196kop/TD2.png
This is my code(Although its not done yet):
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
Upvotes: 1
Views: 1539
Reputation: 58427
Strings printed with INT 21H / AH=09H
are supposed to be terminated by a '$'
-character (ASCII code 36). I don't see any such terminator after your strings, so the interrupt function will just keep on printing until the terminator is found.
Upvotes: 2