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

我的博客

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

[2011-08-03 14:17] 实验十四

assume cs:code
code segment
    s: db 9,8,7,4,2,0
    start:
    mov ax,cs
    mov ds,ax
    mov bx,offset s 
    
    mov dx,0b800h
    mov es,dx
    mov si,160*12+2*12
    
    
    mov cx,6
    circle:
      push cx
      mov al,[bx]
      out 70h,al
      in al,71h
      
      mov ah,al
      mov cl,4
      shr ah,cl
      and al,00001111b
      
      add ah,30h
      add al,30h
      
      pop cx
      
      mov es:[si],ah
      mov es:[si+2],al
      
      cmp cx,4
      ja sign1
      je sign2
      jb sign3
      
      sign1:
      mov byte ptr es:[si+4],'/'
      jmp short ok
      sign2:
      mov byte ptr es:[si+4],' '
      jmp short ok
      sign3:
      cmp cx,1
      je ok
      mov byte ptr es:[si+4],':'
      jmp short ok
      
      ok:
      add si,6
      inc bx
      loop circle
      
      mov ax,4c00h
      int 21h
 code ends
 end start
评论次数(2)  |  浏览次数(584)  |  类型(汇编作业) |  收藏此文  | 

[  chinatree   发表于  2011-08-03 16:06  ]

跳转用的有些多了,而且add ah,30h
add al,30h直接add ax,3030h好了,能省一个字节,而且也没有看到字符颜色属性

[  qingpengchen2011   发表于  2011-08-04 13:06  ]

嗯。。好的。我再优化一下

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