汇编网首页登录博客注册
xiaoyao2012的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
文章收藏
友情链接

[2012-11-19 09:58] 实验10  (1)    史上最强的程序  快来看啊   ( ^  _ ^ )

名称:show_str 
;功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。 
;参数:(dh)=行号(取值范围0~24) 
;      (dl)=列号(取值范围0~79) 
;      (cl)=颜色,ds:si指向字符串的首地址 
;返回:无 
应用举例:在屏幕的8行3列,用绿色显示data段中的字符串.


ome to masm!',0
data ends

 stack segment
 db 16 dup (0)
 stack 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 ax,stack
          mov ss,ax
                  mov sp,16
                  push cx
          mov ax,0b800h        
          mov es,ax
                  mov di,0
                  mov al,0a0h
                  mul dh
                  mov bx,ax
                  mov al,2
                  mul dl
                  add bx,ax
                  mov di,bx
                  
                  
 s:       mov cl,ds:[si]
                  mov ch,0
                  jcxz ok
                  mov es:[di],cl
                  pop cx
                  mov es:[di+1],cl
                  push cx
                  inc si
                  add di,2
                  jmp short s
                  
                  
     ok:  ret
                  
code ends
end start
评论次数(2)  |  浏览次数(635)  |  类型(汇编作业) |  收藏此文  | 

[  chinatree   发表于  2012-11-19 13:21  ]

不要哗众取宠,没看到强在哪,浪费那么严重,一条指令能完成的事非要花2条甚至3条。

[  xiaoyao2012   发表于  2012-11-19 15:20  ]

终于有人来看了 哈哈

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码