回 帖 发 新 帖 刷新版面

主题:[讨论]帮忙解释一下各条语句

;数据段
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个回复)

沙发

21 号中断,自己翻资料。
各个中断的参数如何使用~~~

板凳

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 楼

谢谢了,我是刚接触,教材上找不到

4 楼


  原来是书上面的后续类容。书上有的,嘿嘿

5 楼

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

我来回复

您尚未登录,请登录后再回复。点此登录或注册