欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

汇编语言ds的有关问题

更新时间: 2014-01-05 03:17:25 责任编辑: Author_N1

 

汇编语言ds的问题
SSEG  SEGMENT PARA STACK
DW 256 DUP(?)
SSEG ENDS

DSEG SEGMENT
MESS DB 'HELLO',0DH,0AH,'$'
DSEG ENDS

CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG
MOV DS,AX
MOV DX,OFFSET MESS//如果这里的DX换成BX就会出现乱码,
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CSEG  ENDS
END  START
这是课本上的程序,在下想知道ds在何时选用dx又在何时选用bx,这两者是怎么区分的?
--参考方法--
那里,必须使用 DX 是因为 int21h 的 9 功能调用就是这么规定的,待显示的字符串,其地址必须在 DS:DX ,所以若用 BX 来替换 DX int21h 是不承认的,还是会使用 DS:DX 来获得字符串,所以就可能出现乱码了。
--参考方法--
MOV AH,9
INT 21H就决定了你的字符串必须在dx中。
--参考方法--
你调用的是INT21H,这个的参数位置是固定的
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:25
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20435/
本文WWW.DOC100.NET DOC100.NET版权所有。