为什么在debug命令中输出一个字符串要在int 20之后再定义字符串变量

当我们想任意显示字符串,如:UNDERSTAND?,则可以使用DOS21H号中断9H号功能。输入下行程序,存盘并执行看看:1.输入A100MOVDX,109;DS:DX=... 当我们想任意显示字符串,如:UNDERSTAND?,则可以使用DOS21H号中断9H号功能。输入下行程序,存盘并执行看看:
1.输入 A100
MOV DX,109 ;DS:DX = 字符串的起始地址
MOV AH,9 ;DOS的09h功能调用
INT 21 ;字符串输出
INT 20
DB 'UNDERSTAND?$';定义字符串
为什么要在最后才定义字符串?
为什么不能在第一行定义字符串呢?
展开
 我来答
Andy1990zx
2010-02-24 · TA获得超过750个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:547万
展开全部
可以任意放哪, 放最后是因为不会被执行到, 最方便
不能放第一排, 因为那里是会被执行的第一条指令, 你使用db放数据到那里, 就不知道会发生什么事情了

当然可以这样改
第一行输入jmp xxxx
第二行输入db 'string$'
第三行就是其他指令
其中xxxx是第三行的地址.
你看, 是不是很麻烦? 还要根据第二行字串的长度来计算出第三行的地址
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式