主题:[讨论]帮忙解释一下各条语句
lxincf
[专家分:0] 发布于 2007-10-21 12:01:00
;数据段
DSEG SEGMENT
MESSAGE DB'HELLO WORLD!',0DH,0AH,24H
DSEG ENDS
;代码段
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
BEGIN: MOV AX,DSEG
MOV DX,AX
MOV DX,OFFSET MESSAGE
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END BEGIN
HELLO WORD 究竟是怎么输出来的?
MOV AH 9..是干什么的
回复列表 (共5个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2007-10-21 14:25:00
21 号中断,自己翻资料。
各个中断的参数如何使用~~~
板凳
caihao618 [专家分:50] 发布于 2007-10-21 18:57:00
DSEG SEGMENT
MESSAGE DB'HELLO WORLD!',0DH,0AH,24H;定义字符串
DSEG ENDS;以上是数据段
;代码段
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
BEGIN: MOV AX,DSEG
MOV DX,AX
MOV DX,OFFSET MESSAGE;取得MESSAGE字符串的段基址并送给DX寄存器。
MOV AH,9
INT 21H;申请输出字符串的DOS中断
MOV AH,4CH
INT 21H;申请结束
CSEG ENDS
END BEGIN
-----------------------------------
关于输出字符串的中断,可以去看DOS中断表,里面有具体的输入输出接口。
讲得不太准确,大概意思而已。
你还是要多看看书。
我也是初学者。
3 楼
lxincf [专家分:0] 发布于 2007-10-21 20:30:00
谢谢了,我是刚接触,教材上找不到
4 楼
lxincf [专家分:0] 发布于 2007-10-21 20:36:00
原来是书上面的后续类容。书上有的,嘿嘿
5 楼
蓝海芽子 [专家分:0] 发布于 2007-11-21 15:36:00
DSEG SEGMENT
MESSAGE DB'HELLO WORLD!',0DH,0AH,24H;定义字符串 0dh是回车 0ah是换行
DSEG ENDS;以上是数据段
;代码段
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
BEGIN: MOV AX,DSEG
MOV Ds,AX ;上面你的应该是写错了 是ds不是dx
MOV DX,OFFSET MESSAGE;取得MESSAGE字符串的段基址并送给DX寄存器。
MOV AH,9 ;9号中断是输出字符串 但后面要有'$'
INT 21H;申请输出字符串的DOS中断
MOV AH,4CH
INT 21H;申请结束
CSEG ENDS
END BEGIN
我来回复