30 de marzo de 2008

Complemento a dos

Para calcular el complemento a 2 de un número tienes dos maneras, la más rápida es aplicando la siguiente fórmula: [2^N-número ]. Como trabajamos con números de 8 bits, N=8.

En uno de los ejercicios, teníamos la instrucción SJMP que desviaba la ejecución del programa 9 bytes hacia atrás, por eso había que codificar el valor en negativo (en complemento a dos).

Ejemplo: Codificar el valor 9 en complemento a dos.

Utilizando la fórmula 2^N-número, tenemos que 2^8 - 9 = 256-9 = 247 = F7h. Por lo tanto, el valor que hay que codificar en la instrucción de salto será 247, que corresponde al negativo del valor 9 (su complemento a dos). La instrucción quedaría como puedes ver en la siguiente figura (puedes codificar el valor en binario, decimal o hexadecimal):


Visita Wikipedia para más información

No hay comentarios: