. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->直接定址表
主题 : :  16.4例程是怎么回事?mov cl,4, shl al,cl这2句不明白?求人解答!  [已解决] 回复[ 6次 ]   点击[ 458次 ]  
yc2010
[帖 主] [ 发表时间:2010-08-31 17:33 ] 
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27
sub3:push bx
     push cx
     push es
     mov cl,4                  ----->不明白为什么要左移4位,求人给解释下。
     shl al,cl
     mov bx,0b800h
     mov es,bx
     mov bx,1
     mov cx,2000
sub3s:and byte ptr es:[bx],10001111b
      or es:[bx],al
      add bx,2
      loop sub3s
      pop es
      pop cx
      pop bx
ret
int20
[第4楼] [ 回复时间:2010-09-04 22:41 ] 
荣誉值:2
信誉值:0
注册日期:2010-07-25 14:15
因为当输入7的时候,二进制编码是: 0000 0111  只能影响到0,1,2位,4,5,6位没有任何的改变,而书上说,4,5,6位是设置前景色的,因此,往左移四位,好让4,5,6位得以改变.
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved