新用户 发表于 2011-11-24 00:35:13

求解?实验十!

本帖最后由 新用户 于 2011-11-24 00:36 编辑

assume cs:data
data segment
db 'welcome to masm!',0
db 3,3,02H,160,2                                                                           ;行,列,颜色
data ends

code segment
start:                        mov ax,data
                              mov ds,ax
                              
                              mov ax,0b800h
                              mov es,ax
               
                              mov al,ds:
                              mul byte ptr ds:                                                                                                      
                              mov bx,ax                                                   ;BX=绝对行
                              
                              mov al,ds:
                              mul byte ptr ds:
                              mov dl,al                                                      ;dl=绝对列
                              
                              mov dh,ds:                                              ;dh=颜色
                              
                              mov si,0
                              
                              call s
                              
                              mov ax,4c00h
                              int 21h
                              
s:                              ;mov al,ds:                                             ;SI素引循环,把DS:的数据给AL
                              mov ch,0                                                                        
                              mov cl,al                                                          ;检测CX是否为“0”
                              mov ah,0
                              mov al,dl
                              add bx,ax
                              mov al,ds:
                              mov byte ptr es:,al                                 ;将AL的数据给相对行的起始位置
                              add si,1                                                                                       
                              mov byte ptr es:,dh                                  ;定义颜色
                              add si,1
                              loop s
ok:                              ret                              
                              


code ends

end start



前辈老师们看看,问题出哪了,DEBUG我看不出来有什么毛病啊,就是不往显存写东西!!什么原因?

z310394543 发表于 2011-11-24 08:21:23

新用户 发表于 2011-11-24 10:18:07

本帖最后由 新用户 于 2011-11-24 10:49 编辑

源数据和输出同用si导致源数据跳格

这句什么意思?段地址不同啊,并且用寄存器转移了呀!学汇编才12天!请指教下新手!

关键是感觉 发表于 2011-11-24 11:08:21

新用户 发表于 2011-11-24 10:18 static/image/common/back.gif
源数据和输出同用si导致源数据跳格

这句什么意思?段地址不同啊,并且用寄存器转移了呀!学汇编才12天 ...

错了很多,你看看题目要求在做
排列好源码,不行把*.ASM 发上来

小B同学 发表于 2011-11-25 14:57:23

不要用16进制嘛,看得人头大,用10进制寻址不好吗
页: [1]
查看完整版本: 求解?实验十!