Created
April 21, 2024 02:11
-
-
Save AlejandroVelasco/a0acb30bc0e5c4c00dc21e0a1aa0bac5 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
| main: | |
| ; Definir los números | |
| ldi r16, 2 ; n1 | |
| ldi r17, 4 ; n2 | |
| ldi r18, 6 ; n3 | |
| ; Calcular la media aritmética | |
| add r16, r17 ; r16 = n1 + n2 | |
| add r16, r18 ; r16 = n1 + n2 + n3 | |
| ldi r19, 3 ; divisor | |
| ; División: resultado en r16, residuo en r17 | |
| lsr r16 ; Dividir por 2 | |
| ror r17 ; Colocar el bit menos significativo del residuo en el bit más significativo | |
| lsr r16 ; Dividir por 2 | |
| ror r17 ; Colocar el bit menos significativo del residuo en el bit más significativo | |
| lsr r16 ; Dividir por 2 | |
| loop: | |
| cpi r16, 0 ; Comprobar si el resultado es válido | |
| brmi negative ; Si es negativo, saltar a la etiqueta negative | |
| cpi r16, 255 ; Comprobar si el resultado es válido | |
| brsh negative ; Si es mayor que 255, saltar a la etiqueta negative | |
| sbi DDRB, 5 ; Establecer PB5 como salida | |
| sbi PORTB, 5 ; Encender LED si el resultado es válido | |
| rjmp loop ; Bucle infinito | |
| negative: | |
| cbi PORTB, 5 ; Apagar LED si el resultado no es válido | |
| rjmp loop ; Bucle infinito |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment