鱼C论坛

 找回密码
 立即注册
查看: 2552|回复: 4

求解?实验十!

[复制链接]
发表于 2011-11-24 00:35:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 新用户 于 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:[11h]
                                mul byte ptr ds:[14h]                                                                                                        
                                mov bx,ax                                                     ;BX=绝对行
                                
                                mov al,ds:[12h]
                                mul byte ptr ds:[15h]
                                mov dl,al                                                        ;dl=绝对列
                                
                                mov dh,ds:[13h]                                              ;dh=颜色
                                
                                mov si,0
                                
                                call s
                                
                                mov ax,4c00h
                                int 21h
                                
s:                                ;mov al,ds:[si]                                               ;SI素引循环,把DS:[X]的数据给AL
                                mov ch,0                                                                        
                                mov cl,al                                                          ;检测CX是否为“0”
                                mov ah,0
                                mov al,dl
                                add bx,ax
                                mov al,ds:[si]
                                mov byte ptr es:[bx+si],al                                   ;将AL的数据给相对行的起始位置
                                add si,1                                                                                       
                                mov byte ptr es:[bx+si],dh                                  ;定义颜色
                                add si,1
                                loop s
ok:                                ret                                
                                


code ends

end start



前辈老师们看看,问题出哪了,DEBUG我看不出来有什么毛病啊,就是不往显存写东西!!什么原因?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-11-24 08:21:23 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-24 10:18:07 | 显示全部楼层
本帖最后由 新用户 于 2011-11-24 10:49 编辑

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

这句什么意思?段地址不同啊,并且用寄存器转移了呀!学汇编才12天!请指教下新手!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-24 11:08:21 | 显示全部楼层

错了很多,你看看题目要求在做
排列好源码,不行把*.ASM 发上来  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-25 14:57:23 | 显示全部楼层
不要用16进制嘛,看得人头大,用10进制寻址不好吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 19:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表