鱼C论坛

 找回密码
 立即注册
查看: 2163|回复: 1

[技术交流] 实验 10 终于完成与大家分享,欢迎高手指正

[复制链接]
发表于 2012-1-9 14:37:29 | 显示全部楼层 |阅读模式

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

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

x
assume cs:dmd
sjd segment
db 'Welcome to masm!',0
sjd ends

dmd segment
cxks :    

          mov dh,8
          mov dl,3
              mov cl,2
              mov ax,sjd
              mov ds,ax
              mov si,0
             call show
         
             mov ax,4c00h
             int 21h
show:    mov ax,0       ;将AX值0
         mov al,160    ;将AL值160,每行160字节
         mul dh           ;AL 乘以8,AX=第8行的起始偏移
         
                 mov dh,0   ;将DH值0
                 add dx,dx  ;DX=第三列的起始位置,一列2字节
                 push dx  ;压栈DX
                 
                
                 mov dl,16   ;将DL值16
                 div dl                 ;将AX中的数据除以16,段地址要乘16,这里先除
                                 
        
                 add ax,0b800h ;将显存地址与ax内容相加送入AX
                 mov es,ax  ;将段地址送入附加段
                 mov di,0  ;
                 mov bx,0
                 
                 mov dl,cl ;将处cl字符属性绿色字符送给Di
                 
                 pop bp  ;将列偏移量出栈送给bp
                 
siii:    mov cl,ds:[bx] ;取数据
         mov ch,0
                 jcxz sccc  ;CX=0则跳转
                 
                 mov es:[di+bp],cl
                 mov es:[di+1+bp],dl  ;内容加入显存地址
                 inc bx
                 add di,2
                 jmp siii ;继续执行
sccc:    ret
                 
     dmd ends
      end cxks        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-1-9 14:39:44 | 显示全部楼层
第37行备注写错了
                 mov dl,cl ;将处cl字符属性绿色字符送给Di       (是DL  不是   DI)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-8 18:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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