. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->直接定址表
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  16.4例程是怎么回事?mov cl,4, shl al,cl这2句不明白?求人解答!  [已解决] 回复[ 6次 ]   点击[ 458次 ]  
yc2010
[帖 主]   [ 发表时间:2010-08-31 17:33 ]   [引用]   [回复]   [ top ] 
荣誉值: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
masmaster
[第1楼]   [ 回复时间:2010-08-31 17:51 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
回头去看第九章实验九中队属性字节的描述。
yc2010
[第2楼]   [ 回复时间:2010-08-31 22:08 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27
to masmaster 
shl左移4位,那al传进来的4,5,6位背景色不就没了.
为什么要左移4位。
yc2010
[第3楼]   [ 回复时间:2010-09-01 21:35 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27
这么冷清,无人问津。
速度求人指点,达人在哪里?
int20
[第4楼]   [ 回复时间:2010-09-04 22:41 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-07-25 14:15
因为当输入7的时候,二进制编码是: 0000 0111  只能影响到0,1,2位,4,5,6位没有任何的改变,而书上说,4,5,6位是设置前景色的,因此,往左移四位,好让4,5,6位得以改变.
yc2010
[第5楼]   [ 回复时间:2010-09-05 21:16 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27
感谢int20 的解答.
yc2010
[第6楼]   [ 回复时间:2010-09-05 21:21 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27
此贴由 贴主 于 [ 2010-09-05 21:21 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved