抽筋大猩猩 发表于 2012-3-29 17:50:44

汇编语言实验十的问题

实验十的第一题 为什么运行后不是绿色的?求解啊,谢谢了!


assume cs:code
data segment
db 'welecome 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,0100h
int 21h            
mov ax,4c00h
int 21h

show_str:mov ax,0B800h
               mov es,ax
               dec dh
            mov al,dh
            mov bl,0A0h
            mul bl
             mov dh,0
            add ax,dx
            mov bx,ax
s:         mov dl,cl
         mov ch,0
         mov cl,ds:
            jcxz s1
         mov ch,dl
         mov es:,cx
         inc si
         add bx,2
         jmp s
s1:
          ret
code ends
end start




莫名其妙 发表于 2012-3-29 17:50:45

本帖最后由 莫名其妙 于 2012-3-29 18:18 编辑

         mov dl,cl; 这里出的问题      
       mov ch,0
         mov cl,ds:   ; 这里cl 发生了改变然后这次循环结束了 你在用mov dl,cl 就不是 dl就不是02了
            jcxz s1
         mov ch,dl                                     cl   ch
         mov es:,cx    这里cx是按照 字母 颜色存入的然后下次调用就会吧 字母的ascii码值当成颜色存进去dl

最好加个开始循环加 push   结尾加 pop保存cl值

抽筋大猩猩 发表于 2012-3-30 14:16:38

莫名其妙 发表于 2012-3-29 18:13 static/image/common/back.gif
mov dl,cl; 这里出的问题      
       mov ch,0
         mov cl,ds:   ; 这里cl 发生 ...

真的。。回头看了一遍也发现问题了 谢谢!!

流星一瞬间 发表于 2012-3-30 14:38:29

我怎么看不懂了???
页: [1]
查看完整版本: 汇编语言实验十的问题