首页
社区
课程
招聘
[旧帖] [求助]问下OD中的bt是什么意思 0.00雪花
发表于: 2008-10-12 09:12 3593

[旧帖] [求助]问下OD中的bt是什么意思 0.00雪花

2008-10-12 09:12
3593
我知道大概就是比较

但他是怎么比较的呢,我上网查查不到

汇编查询器里面也没有bt这个操作

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2575
活跃值: (502)
能力值: ( LV2,RANK:85 )
在线值:
发帖
回帖
粉丝
2
BT - Bit Test           (386+)
        Usage:  BT      dest,src
        Modifies flags: CF
        The destination bit indexed by the source value is copied into the
        Carry Flag.
                                 Clocks                 Size
        Operands         808x  286   386   486          Bytes
        reg16,immed8      -     -     3     3            4-8
        mem16,immed8      -     -     6     6            4-8

        reg16,reg16       -     -     3     3            3-7
        mem16,reg16       -     -     12    12           3-7

        0F A3 BT r/m16,r16 Store selected bit in CF flag
        0F A3 BT r/m32,r32 Store selected bit in CF flag
        0F BA /4 ib BT r/m16,imm8 Store selected bit in CF flag

        0F BA /4 ib BT r/m32,imm8 Store selected bit in CF flag
2008-10-12 09:20
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
位检测指令(Bit Test Instruction)
指令的格式:BT/BTC/BTR/BTS Reg/Mem, Reg/Imm    ;80386+
受影响的标志位:CF
位检测指令是把第一个操作数中某一位的值传送给标志位CF,具体的哪一位由指令的第二操作数来确定。
根据指令中对具体位的处理不同,又分一下几种指令:
BT:把指定的位传送给CF;
BTC:把指定的位传送给CF后,还使该位变反;
BTR:把指定的位传送给CF后,还使该位变为0;
BTS:把指定的位传送给CF后,还使该位变为1;
图5.11 位检测指令的功能示意图

例如:假设(AX)=1234H,分别执行下面指令。
BT  AX, 2      ;指令执行后,CF=1,(AX)=1234h
BTC AX, 6       ;指令执行后,CF=0,(AX)=1274h
BTR AX, 10      ;指令执行后,CF=0,(AX)=1234h
BTS AX, 14      ;指令执行后,CF=0,(AX)=5234h
3、检测位指令TEST(Test Bits Instruction)
检测位指令是把二个操作数进行逻辑“与”操作,并根据运算结果设置相应的标志位,但并不保存该运算结果,所以,不会改变指令中的操作数。在该指令后,通常用JE、JNE、JZ和JNZ等条件转移指令。
指令的格式:TEST  Reg/Mem, Reg/Mem/Imm
受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)
例如:
TEST AX, 1       ;测试AX的第0位
TEST CL, 10101B    ;测试CL的第0、2、4位

谢谢楼上的了
2008-10-12 09:45
0
游客
登录 | 注册 方可回帖
返回
//