群益电脑 发表于 2012-5-10 12:23:07

为什么每次退出CMD窗口,重新进入CMD窗口,都要用DEBUG命令调试一下才能显示

assume cs:code,ds:data,ss:stack

data segment

        db 'welcome to masm!',0

data ends

stack segment

        dw 8 dup (0)

stack ends

code segment

        start:        mov dh, 8h                                        ;显示的行号
                        mov dl, 3h                                        ;显示的列号
                        mov cl, 2h                                        ;显示的颜色
                        mov ax, data                                ;将DATA定义数据段
                        mov ds, ax
                        mov ax, stack
                        mov ss, ax
                        mov sp, 16
                        mov si, 0
                        call show_str
                       
                        mov ax, 4c00h
                        int 21h
                       
show_str:        mov ax, 0b800h
                        mov es, ax
                       
                        mov al, 160                                        ;计算行偏移字节数
                        sub dh, 1
                        mul dh
                        mov di, ax                                        ;将行偏移字数给DI
                       
                        mov al, 2                                        ;计算列偏移字节数
                        mul dl
                        sub ax, 2
                       
                        add di, ax                                        ;计算显存偏移地址
                        mov bl, cl                                        ;显示的颜色给BL
                        mov bh, 0
                        mov cl,                                 ;将DATA的第一个字符给CL
                        mov ch, 0                                        ;给CH一个零
                       
                s:        jcxz s1
                        mov es:, cl
                        mov es:, bl
                       
                        add di, 2
                        inc si
                        mov cl,
                        mov ch, 0
                       
                        jmp short s
                       
                s1: ret

code ends
end start
页: [1]
查看完整版本: 为什么每次退出CMD窗口,重新进入CMD窗口,都要用DEBUG命令调试一下才能显示