能力值:
( LV2,RANK:10 )
|
-
-
2 楼
不要见笑。
.data
szCap db 'test',0
szMsgFmt db 'DX:%04lX AX:%04lX',0
.data?
szBuf db 0 dup(128)
.code
start:
xor edx,edx
xor eax,eax
mov bh,80H ;要测试的位
mov bl,0dbh ;11011011
mov ecx,8 ;测试8次
loop1:
mov edi,ecx ;保存ecx 到 edi
test bh,bl ;测试指定位是否为1
jz NextCmp ;为0就下一个
Bit1:
mov edx,0Fh
lea ecx,[ecx*4] ;
sub ecx,4 ;
shl edx,cl ;左移 cl 位
or eax,edx ;然后与原值 or
NextCmp:
shr bh,1 ;要测的下一位
mov ecx,edi
loop loop1
mov edx,eax ;
shr edx,16 ;eax 的高16位
and eax,0FFFFh ;清0 eax的高16位
invoke wsprintf,addr szBuf,addr szMsgFmt,edx,eax
invoke MessageBox,0,addr szBuf,addr szCap, MB_OK
invoke ExitProcess,eax
end start
|