回 帖 发 新 帖 刷新版面

主题:[讨论]一个BLOS调用的问题

SSEG SEGMENT PARA STACK 'stack'
    dw 100h dup(0) ;初始化堆栈大小为100
SSEG ENDS

DSEG SEGMENT
    ;数据段:在此处添加程序所需的数据

DSEG ENDS

ESEG SEGMENT
    ;附加段:在此处添加程序所需的数据
ESEG ENDS

CSEG SEGMENT
    assume  cs:CSEG, ds:DSEG, es:ESEG, ss:SSEG


    
MAIN PROC       ;主程序入口

    mov ax, dseg
    mov ds, ax
    mov es, ax

           mov ah,01h
          mov al,37h
           int 10h


    mov ax, 4c00h  ;程序结束,返回到操作系统系统
    int 21h
MAIN ENDP
    
CSEG ENDS

END MAIN

为什么这个程序没有在窗口上显示 7  呢?

回复列表 (共1个回复)

沙发

mov  ah,02h
mov  dl,37h
int   21h

01中断是要求输入一个字符并回显,要认真!
顺便提一下,你定义了堆栈段,但并没有使ss指向SSEG,一般程序可省略堆栈段定义

我来回复

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