;***************************************************************************************************
;***** PROGRAMA QUE SUMA UNOS DATOS Y LOS ALMACENA EN LA MEMORIA
;***************************************************************************************************
.include "m32def.inc" ;directiva que incluye los archivos del micro
.def temp=r16 ;directiva para definir un nombre smbolico para los registros
.def suma=r17 ;operandos los 32 registros de orden general r0-r31
;Por el momento haremos un programa muy básico para demostrar algunas de las funciones del micro
RESET: ;primera interrupcion ubicada en la direccion $000
ldi temp, 0 ;instrucción que carga un numero al registro r16
;operandos del r16-r31
rjmp INICIO ;salto relativo a inicio
INICIO: ;etiqueta para definir el programa principal a ejecutar
inc temp ;incremento de r16, valor inicial=0
sts 0x60, temp ;almacenamos este dato en la memoria de datos, direccion 0x60 hex.
lds temp, 0x60 ;leemos lo que esta en esta direccion
add suma, temp ;se hace una suma lógica entre los dos registros, resultado en r17
sts 0x61, suma ;se almacena resultado en memoria de datos, dirección 0x61
rjmp INICIO ;salto relativo a esta etiqueta.
;NOTA:;los comentarios de color verde no son ejecutados por el compilador solo sirven para dar enfasis a una ;operacion en especial.......
;NOTA1:;todos los numros sumados estan en el orden de nuemros hexdeimales por lo que supongo que usted ya ;sabe hacer la conversion.....
sábado, 4 de octubre de 2008
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario