Last active
November 16, 2022 03:34
-
-
Save Reflej0/d15f87d7080c43e9461db202624182fe to your computer and use it in GitHub Desktop.
Ejercicio completo en Assembler, en Motorola 68HC11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Dado un vector de numeros signados del que se conoce direccion inicial (dirIni) | |
* y la cantidad de elementos (cant) obtener la suma de los positivos (sumap) | |
* la cantidad de impares (cimpar), y la posición del primer cero (ppc) | |
ORG $0000 | |
dirIni RMB 2 | |
cant RMB 1 * cantidad de elementos del vector | |
sumap RMB 2 * suma de los positivos | |
cimpar RMB 1 * cantidad de impares | |
ppc RMB 1 * posicion dentro del vector (subindice) del primer cero | |
* si en lugar de la posicion (subindice) estuviera pidiendo direccion | |
* entonces la reservar de ppc seria de 2 bytes | |
aux RMB 1 * para llevar la cuenta de los elementos del vector | |
ORG $c000 | |
CLR aux | |
CLR sumap * limpio la sumatoria de positivos | |
CLR sumap+1 | |
CLR cimpar * limpiar la cantidad de impar | |
CLR ppc | |
LDX dirIni | |
bucle INC aux | |
ROR 0,x | |
BCC esPar | |
INC cimpar * tengo un impar mas! | |
esPar ROL 0,x | |
LDAB 0,x * en la parte baja de D cargo el num de 8 bits | |
BLE esNeg * si es negativo o cero, no lo sumo | |
CLRA * la parte alta la dejo en cero | |
ADDD sumap * acumulo en sumap este numero | |
STD sumap | |
esNeg LDAA 0,x * vuelvo a cargar porque lo pise con ADDD | |
BNE sigo | |
LDAA ppc | |
BNE sigo * habia otro cero | |
LDAA aux | |
STAA ppc * guardo la posicion del cero que encontre | |
* si en lugar de la posicion pidiera la direccion del primer cero | |
* reemplazaria las dos instrucciones anteriores por STX ppc | |
sigo INX | |
DEC cant * uno menos! | |
BNE bucle | |
FIN BRA FIN |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment