Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Manejo de bits en ensamblador
Enviado por rodrigo_lezama el día 18 de abril de 2005
Hola a todos y gracias por leer esto.
A ver, ¿me podria explicar alguien como manejar los bits por separado de una variable o de un registro? Un ejemplo :
mov ah,0
mov al, 11001100b
asi tengo en ax 11001100 en binario, si yo quisiera solo acceder a los bits menos significativos (los dos ceros de la derecha ) para bien consultarlos o bien cambiarlos (solo cambiar esos dos ojo) ¿Como tendria que hacerlo?
Muchas gracias otra vez por leerlo cualquier ayuda sera bien recibida, un saludo.
Alterar un valor manteniendo los otros bits iguales:
and al, 11111100b ; Limpiar bits 0, 1
ior al, 000000XXb ; setear los bits 0, 1 con XX
Esto es expandible a AX, BX, CX, etc. como a EAX, ECX, E... y cualquier localidad de memoria.
Un AND borra los bits a cero y deja igual los bits a uno.
Un OR setea los bits a uno y deja igual los bits a cero.