¿como leer un la parte alta o baja de una direccion?
Tengo una variable de nombre _ax (que contiene el contenido de ax estraido de una pila) y de ella quiero separar la parte alta _ah y la baja _al a partir del valor de esta variable. algo asi como si tuviera la palabra en la variable = AF12 y quisiera separarla en dos variableh=AF y variablel=12
Teniendo en cuenta como tu has dicho que tienes variable = 0xAF12;
Extracción de la parte alta:
variableh = variable & 0xFF00;
con esto, en la variable variableh tendrás el siguiente valor: 0xAF00
Entonces tendrás que desplazar 8 bits hacia la derecha:
varableh = variableh >> 8;
Así tienes ya la parte alta en variableh.(variableh = 0xAF)
La extracción de la parte baja es más sencilla, lo único que tienes que hacer es lo siguiente:
varablel = variable & 0x00FF;
Así, en varablel tendrás el valor 0x12
Sencillo ¿verdad?
Suerte.
Extracción de la parte alta:
variableh = variable & 0xFF00;
con esto, en la variable variableh tendrás el siguiente valor: 0xAF00
Entonces tendrás que desplazar 8 bits hacia la derecha:
varableh = variableh >> 8;
Así tienes ya la parte alta en variableh.(variableh = 0xAF)
La extracción de la parte baja es más sencilla, lo único que tienes que hacer es lo siguiente:
varablel = variable & 0x00FF;
Así, en varablel tendrás el valor 0x12
Sencillo ¿verdad?
Suerte.
