DIAGRAMA DE FLUJO PARA COMPARAR REGISTROS DE 16 BITS<br />Consideraciones:<br />Si C= 0 en la suma, es que no se ha producido acarreo.<br />Si C= 1 en la suma, es que se ha producido acarreo.<br />En la resta es todo lo contrario: <br />Si C= 0, es que se ha producido préstamo.<br />Esto significa que si restamos A – B y C= 0, A – B = - (Negativo) por lo tanto A< B ó B > A.<br />Si C= 1, es que no se ha producido préstamo. <br />Esto significa que si restamos A – B y C= 0, A – B = + (Positivo) por lo tanto A > B ó B < A.<br />Si Z= 1, es porque al restar A – B= 0, por lo tanto A=B.<br />C y Z, son bits que se encuentran en el registro STATUS.<br />En los números de 16 bits, se tienen 2 registros de 8 bits:<br />Parte AltaParte BajaNúmero 16 bitsAHALBHBLRHRL<br />Una forma de comparar los números de 16 bits es restar las partes altas primero y determinar mediante los bits C y Z si son negativos (AH < BH), positivos (AH > BH) o cero (AH = BH). <br />En los dos primeros casos, ya este resultado es determinante. Si AH > BH, no importa restar la parte baja y se puede decir que A > B. Si AH < BH, no importa restar la parte baja y se puede decir que A < B.<br />En el último caso (AH=BH), no es determinante para saber si A > B o A < B, por lo que se procede a restar la parte baja. AL – AH. Y se vuelve a preguntar por los bits C y Z del registro STATUS.<br />Si AL > BL, se puede decir que A > B. Si AL < BL, no importa restar la parte baja y se puede decir que A < B.<br />Y por último si AL = BL, se tendrá que A = B.<br />INICIO<br />AH - BH<br />SI1Z=0?<br />NO<br />SIC=0?<br />Ir rutina A < BA < B<br />NO<br />A > B<br />Ir rutina A > B<br />1<br />NOSIA > BNOSIA < BZ=0?C=0?Ir rutina A > BIr rutina A < BAL - BL<br />A = BIr rutina A = B<br />
Comparar registros de 16 bits

Comparar registros de 16 bits

  • 1.
    DIAGRAMA DE FLUJOPARA COMPARAR REGISTROS DE 16 BITS<br />Consideraciones:<br />Si C= 0 en la suma, es que no se ha producido acarreo.<br />Si C= 1 en la suma, es que se ha producido acarreo.<br />En la resta es todo lo contrario: <br />Si C= 0, es que se ha producido préstamo.<br />Esto significa que si restamos A – B y C= 0, A – B = - (Negativo) por lo tanto A< B ó B > A.<br />Si C= 1, es que no se ha producido préstamo. <br />Esto significa que si restamos A – B y C= 0, A – B = + (Positivo) por lo tanto A > B ó B < A.<br />Si Z= 1, es porque al restar A – B= 0, por lo tanto A=B.<br />C y Z, son bits que se encuentran en el registro STATUS.<br />En los números de 16 bits, se tienen 2 registros de 8 bits:<br />Parte AltaParte BajaNúmero 16 bitsAHALBHBLRHRL<br />Una forma de comparar los números de 16 bits es restar las partes altas primero y determinar mediante los bits C y Z si son negativos (AH < BH), positivos (AH > BH) o cero (AH = BH). <br />En los dos primeros casos, ya este resultado es determinante. Si AH > BH, no importa restar la parte baja y se puede decir que A > B. Si AH < BH, no importa restar la parte baja y se puede decir que A < B.<br />En el último caso (AH=BH), no es determinante para saber si A > B o A < B, por lo que se procede a restar la parte baja. AL – AH. Y se vuelve a preguntar por los bits C y Z del registro STATUS.<br />Si AL > BL, se puede decir que A > B. Si AL < BL, no importa restar la parte baja y se puede decir que A < B.<br />Y por último si AL = BL, se tendrá que A = B.<br />INICIO<br />AH - BH<br />SI1Z=0?<br />NO<br />SIC=0?<br />Ir rutina A < BA < B<br />NO<br />A > B<br />Ir rutina A > B<br />1<br />NOSIA > BNOSIA < BZ=0?C=0?Ir rutina A > BIr rutina A < BAL - BL<br />A = BIr rutina A = B<br />