X86汇编 BT

您所在的位置:网站首页 汇编语言stc指令 X86汇编 BT

X86汇编 BT

2024-06-09 12:33| 来源: 网络整理| 查看: 265

位操作指令位操作指令包括位测试和位扫描指令,可以直接对一个二进制位进行测试,设置和扫描。  1位测试和设置指令  格式:BT DEST,SRC     BTC DEST,SRC     BTR DEST,SRC     BTS DEST,SRC  功能:按照源操作指定的位号,测试目的操作数,当指令执行时,被测试位的状态被复制到进位标志CF。  BT将SRC指定的DEST中一位的数值复制到CF。BTC将SRC指定的DEST中一位的数值复制到CF,且将DEST中该位取反。BTR将SRC 指定的DEST中一位的数值复制到CF,且将DEST中该位复位。BTS将SRC指定的DEST中一位的数值复制到CF,且将DEST中该位置位。  目的操作数为16位或32位通用寄存器或存储器,源操作数为16位或32位通用寄存器,以及8位立即数,当源操作数为通用寄存器时,必须同目的操作数类型一致。源操作数SRC以两种方式给出目的操作数的位号,即  · SRC为8位立即数,以二进制形式直接给出要操作的位号;  · SRC为通用寄存器,如果DEST为通用寄存器,则SRC中二进制值直接给出要操作的位号。如果DEST为存储器操作数,通用寄存器SRC为带符号整数, SRC的值除以DEST的长度所得到的商作为DEST的相对偏移量,余数直接作为要操作的位号。DEST的有效地址为DEST给出的偏移地址和DEST相 对偏移量之和。  BT,BTC,BTR,BTS指令影响CF标志位,其它标志位无定义。  例 3.53  MOV AX,1234H  MOV ECX,5  BT AX,CX       ;CF=1AX=1234H  BTC AX,5       ;CF=1;AX=1214H  BTS AX,CX;      ;CF=0AX=1234H  BTR EAX,ECX      ;CF=1EAX=00001214H

       AT&T  格式 

       movl  $0x1234 ,&ecx   // 0001 0010 0011 0100B 

       bt  $0x03,%ecx   //  第一位是0  , 0x03 是第四位 

        jnc  somewhere   //CF 位是0 则转移 

  例 

      ·MODEL SMALL      ·586      ·DATA   DATA1 DW 1234H,5678H      ·CODE      ·START UP       BTC DATA1,3;CF=0(DATA1)=123CH       MOV CX,20       BTR DATA1,CX;CF=1[DATA+2]=5668H      ·EXIT       END

 

   



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3