当前位置: 代码迷 >> 汇编语言 >> 这么简单一个小程序为什么看不到他的输出结果呢,INT21该如何用
  详细解决方案

这么简单一个小程序为什么看不到他的输出结果呢,INT21该如何用

热度:4052   发布时间:2013-02-26 00:00:00.0
这么简单一个小程序为什么看不到他的输出结果呢,INT21该怎么用?
Assembly code
                    .MODEL TINY 0000                _TEXT    SEGMENT USE16                    ORG 100H 0100                START: 0100  8C C8                MOV AX,CS 0102  8E D8                MOV DS,AX 0104  B8 0009                MOV AX,09H 0107  BA 010E R            MOV DX,OFFSET MSG 010A  CD 21                INT 21H 010C  EB FE                JMP $ 010E 48 45 4C 4C 4F 2C        MSG    DB "HELLO,WORLD!",'$'       57 4F 52 4C 44 21       24 011B                _TEXT    ENDS                    END    START

上面是一个.COM格式的小程序的清单文件的一个片断,编译,连接都通过了.完行的时间怎么就是看不到输出结果.是个那INT21H调用的有问题么. 下面是INT21 9号的调用说明,就是向屏幕输出个字串:
Assembly code
Category: D - DOS kernelInp.:    AH = 09h    DS:DX -> '$'-terminated stringReturn: AL = 24h (the '$' terminating the string, despite official docs which        state that nothing is returned) (at least DOS 2.1-7.0 and        NWDOS)Notes:    ^C/^Break are checked, and INT 23 is called if either pressed    standard output is always the screen under DOS 1.x, but may be      redirected under DOS 2+    under the FlashTek X-32 DOS extender, the pointer is in DS:EDXSeeAlso: AH=02h,AH=06h"OUTPUT"Copied from Ralf Brown's Interrupt List

请帮我看下代码,不知道问题出在那?

------解决方案--------------------------------------------------------
明白就好了
------解决方案--------------------------------------------------------
错误都有提示的,楼主可以用debug 单步调试的
  相关解决方案