|
主题 : : 16.4例程是怎么回事?mov cl,4, shl al,cl这2句不明白?求人解答! [已解决] |
回复[ 6次 ]
点击[ 458次 ] | |
|
|
|
|
[帖 主]
[ 发表时间: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 | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-08-31 17:51 ]
[引用]
[回复]
[ top ] | |
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19 |
|
|
|
|
|
[第2楼]
[ 回复时间:2010-08-31 22:08 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27 |
to masmaster
shl左移4位,那al传进来的4,5,6位背景色不就没了.
为什么要左移4位。 | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-09-01 21:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27 |
|
|
|
|
|
[第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位得以改变. | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-09-05 21:16 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27 |
|
|
|
|
|
[第6楼]
[ 回复时间:2010-09-05 21:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27 |
此贴由 贴主 于 [ 2010-09-05 21:21 ] 结贴。 结贴原因:问题已解决 | | |