silencewmg 发表于 2019-2-14 16:27:55

关于实验10的第一小题

assume cs:code

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 di,0
                mov bx,0b800h
                mov es,bx         ;初始化
                mov ax,0ah
                mul dh
                add dl,dl
                mov dh,0
                add ax,dx
                mov bx,ax         ;计算出要显示位置的偏移地址并赋值给bx
                mov ah,cl         ;将颜色数据保存在ah
        s:        mov cl,ds:
                mov ch,0
                jcxz s1          ;当取到‘0’这个数时跳转到s1
                mov es:,cl          ;将字符的ASCII码放在要求显示的位置
                mov es:,ah            ;将颜色数据放在ASCII码后一位
                inc si
                add di,2
                jmp short s
               
        s1:        ret
code ends

end start

以上是代码,在debug时可以正常结束程序,但是屏幕上什么都不显示,球大佬们指点一下啊
萌新刚开始学,要是什么低级错误,求大佬轻喷{:10_266:}{:10_266:}

silencewmg 发表于 2019-2-14 16:56:02

已解决
页: [1]
查看完整版本: 关于实验10的第一小题