我是靠谱客的博主 威武月亮,这篇文章主要介绍Win32 汇编 [23] - 位测试指令: BT、BTC、BTR、BTS,现在分享给大家,希望可以做个参考。

BT、BTS、BTR、BTC

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
;BT(Bit Test):            位测试  ;BTS(Bit Test and Set):      位测试并置位  ;BTR(Bit Test and Reset):    位测试并复位  ;BTC(Bit Test and Complement): 位测试并取反    ;它们的结果影响 CF  ;它们的指令格式相同:  BT r16/r32, r16/r32  BT r16/r32, m16/m32  BT r16/r32, i8  BT m16/m32, r16/r32  BT m16/m32, i8      ; Test23_1.asm  .386  .model flat, stdcall    include  windows.inc  include  kernel32.inc  include  masm32.inc  include  debug.inc  includelib kernel32.lib  includelib masm32.lib  includelib debug.lib    .code  main proc    ;BT 把 10000001b 的第七位复制到 CF, 得知是 1     mov dx, 10000001b     bt dx, 7     lahf     PrintHex ah ;47 - 01000111b (CF=1)    ;BT 把 10000001b 的第六位复制到 CF, 得知是 0     bt dx, 6     lahf     PrintHex ah ;86 - 10000110b (CF=0)        ;BTS 在执行 BT 命令的同时, 把操作数的指定位置为 1     mov dx, 10000001b     bts dx, 6     PrintHex dl ;C1 - 11000001b        ;BTR 在执行 BT 命令的同时, 把操作数的指定位置为 0     mov dx, 10000001b     btr dx, 7     PrintHex dl ;01 - 00000001b        ;BTC 在执行 BT 命令的同时, 把操作数的指定位取反     mov dx, 10000001b     btc dx, 0     PrintHex dl ;80 - 10000000b     btc dx, 0     PrintHex dl ;81 - 10000001b     ret  main endp  end main 

最后

以上就是威武月亮最近收集整理的关于Win32 汇编 [23] - 位测试指令: BT、BTC、BTR、BTS的全部内容,更多相关Win32内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(86)

评论列表共有 0 条评论

立即
投稿
返回
顶部