| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
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:[si] 
                mov ch,0 
                jcxz s1          ;当取到‘0’这个数时跳转到s1 
                mov es:[bx+di],cl          ;将字符的ASCII码放在要求显示的位置 
                mov es:[bx+di+1],ah            ;将颜色数据放在ASCII码后一位 
                inc si 
                add di,2 
                jmp short s 
                 
        s1:        ret 
code ends 
 
end start 
 
以上是代码,在debug时可以正常结束程序,但是屏幕上什么都不显示,球大佬们指点一下啊 
萌新刚开始学,要是什么低级错误,求大佬轻喷   |   
 
 
 
 |