输出中的奇怪垃圾 [英] Weird garbage in output

查看:33
本文介绍了输出中的奇怪垃圾的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我使用 tasm 1.4 并且我正在制作一个程序来用较小的字母和数字组成大的 CS14.我运行了大约 1/4 的过程,在我的最后一条消息输出后出现了一些奇怪的东西,比如 hgweh26I^U%EYWGT#YWHSDWrite disk FullHSJETESRGDTFHGJ!

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!

错误看起来像这样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

推荐答案

<打印的字符串code>INT 21H/AH=09H 应该以 '$' 字符(ASCII 码 36)结束.我在您的字符串之后看不到任何此类终止符,因此中断函数将继续打印,直到找到终止符.

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.

这篇关于输出中的奇怪垃圾的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆