Instrucción bsf de Intel utilizando el tutorial

  

Introducción: instrucción de ensamblaje bsfl: instrucción de ensamblaje intel: bsf oprd1, oprd2; barrido de bits de derecha a izquierda (desde el bit 0 -> bit 15 o bit 31 La primera palabra que contiene el " 1 'en la palabra de escaneo o la palabra doble operand oprd2, y el número de bit del primer bit que contiene el' 1 'escaneado se envía al operando oprd1 Instrucciones de ensamblaje de formato AT &T bsfl es similar Bsf, excepto que los operandos de origen y destino están en orden inverso. Por ejemplo, hay un análisis similar de la declaración en Internet: .__ asm __ (" bsfl% 1,% 0 /n /t " jne 1f /n /t " movl $ 32,% 0 /n " 1: " : " = r " (conjunto): " r " (~ (* p > > > >))); La condición inicial antes de ingresar a la instrucción de ensamblaje: p: la que se encuentra en el bit de inicio señalado por desplazamiento Sin firmar palabra larga 4B doble al principio. Bit: El bit de inicio señalado por desplazamiento es la primera de las palabras dobles 4B largas sin signo en las que se encuentra. * p > > bit: el puntero al principio de la palabra doble 4B de tipo largo sin signo en el que se ubica el bit de inicio señalado por el desplazamiento se desplaza hacia la derecha por el bit, es decir, el bit antes del bit de inicio señalado por el desplazamiento Todos se mueven hacia afuera, y el bit de inicio señalado por el desplazamiento se desplaza al extremo más a la derecha (el bit más bajo, el bit 0), y el bit de inicio se convierte en el primer bit del tipo 4B largo sin firmar. ~ (* p > > bit): Invierta los bits, buscando originalmente el primer bit '0' del bit de desplazamiento. Esta inversión convierte el problema en encontrar el bit de desplazamiento. El bit después del primer '1'. Bsfl% 1,% 0 < ==== > bsfl (~ (* p > > > >)), el conjunto encuentra el primer '1' en (~ (* p > > > bit)) El bit se almacena en el conjunto y se devuelve. Movl $ 32,% 0: cuando los siguientes 32 bits del bit de desplazamiento son todos '0', es decir: todos '1' antes de la inversión, entonces set = 32

Copyright © Conocimiento de Windows All Rights Reserved