童虎 发表于 2011-10-26 20:17:35

实验10-1,无法显示出效果,要么被系统终止,要么一下就跳回cmd

请哪位大虾帮忙看看代码有什么问题?assume cs:code
;目标:在屏幕的第8行3列开始,用绿色显示data段
data segment
        db 'Welcome to masm!',0
data ends

code segment
start:
        mov dh, 8 ;存储行
        mov dl, 3 ;存储列
        mov cl, 2 ;存储颜色
        mov ax, data
        mov ds, ax
        mov si, 0
        call show_str
       
        mov ax, 4c00H
        int 21H
       
show_str:
        mov ax, 16
        sub dh, 1
        mul dh
        add ax, 0b800H
        mov es, ax ;计算获得显存段地址
       
        mov ax, 2
        sub dl, 1
        mul dl
        mov di, ax ;计算获得显存偏移地址
       
        mov bl, cl ;记录下颜色
        s:
                mov cl,
                mov ch,0
       
                jcxz short ok
       
                mov al,
                mov es:, al
                inc di
                mov es:, bl
                inc di
                inc si
                jmp short s
       
        ok:
                ret
       
code ends
end start
       
页: [1]
查看完整版本: 实验10-1,无法显示出效果,要么被系统终止,要么一下就跳回cmd