Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Apuntes / Mini-Prácticas de programación ensamblador y en C para microcontroladores - Sumando en ensamblador con microcontroladores

Mini-Prácticas de programación ensamblador y en C para microcontroladores - Sumando en ensamblador con microcontroladores

 ****- (34 opiniones)
Creative Commons Apuntes de BADBYTE-K - 20 de Enero de 2005
Temas Relacionados: Equipos electrónicosElectrónica
1. Sumando en ensamblador con microcontroladores
programa 1

Citar;  Este programa suma el contenido de las posiciones 0x0c y 0x0d
; de memoria y almacena el resultado en la posicion 0e.
        LIST p= 16c84           ;Indica el modelo de PIC que se usa
                                ;Es una directiva del ensamblador.
;
                                ;Zona para etiquetas.
        OPERANDO1 EQU 0x0c      ;Define la posici¢n del operando1
        OPERANDO2 EQU 0x0d      ;Define la posici¢n del operando2
        RESULTADO EQU 0x0e      ;Define la posici¢n del resultado
;
        ORG 0                   ;Comando que indica al Ensamblador
                                ;la direcci¢n de la memoria de programa
                                ;donde situar  la siguiente instrucci¢n
;
        movlw   05            ; 5 -> W (Primera instrucci¢n)   
        movwf   OPERANDO1     ; W -> OPERANDO1
        movlw   02            ; 2 -> W
        movwf   OPERANDO2     ; W -> OPERANDO2
        movfw   OPERANDO1     ; OPERANDO1 -> W
        addwf   OPERANDO2,0   ; W + OPERANDO2 -> W
        movwf   RESULTADO     ; W -> RESULTADO
        END                   ; Directiva de fin de programa

programa 2

Citar; Optimizacion del primer programa que calcula la suma de 2
;posiciones de memoria y deja el resultado en una tercera.
;Estas posiciones son 0x0c para operando1, 0x0d para operando2 y 0x0e para
;el resultado.
;La optimizaci¢n consiste en ahorrar una instrucci¢n al aprovechar el hecho
;de que la suma es una operaci¢n conmutativa.De esta manera tras cargar en W
;el operando 2 se puede realizar directamente la suma.
        LIST p= 16c84           ;Indica el modelo de PIC que se usa
                                ;Es una directiva del ensamblador.
;
                                ;Zona para etiquetas.
        OPERANDO1 EQU 0x0c      ;Define la posici¢n del operando1
        OPERANDO2 EQU 0x0d      ;Define la posici¢n del operando2
        RESULTADO EQU 0x0e      ;Define la posici¢n del resultado
;
        ORG 0                   ;Comando que indica al Ensamblador
                                ;la direcci¢n de la memoria de programa
                                ;donde situar  la siguiente instrucci¢n
;
        movlw   05              ;5 --> W (primera instrucci¢n)
        movwf   OPERANDO1       ;W --> Operando1
        movlw   02              ;2 --> W
        movwf   OPERANDO2       ;W --> Operando2
        addwf   OPERANDO1,0     ;W + operando1 --> W
        movwf   RESULTADO       ;W --> resultado
        END                     ;directiva de fin del programa


programa 3

Citar; Este programa suma el contenido de las posiciones 0c y 0d de memoria y
; almacena el resultado en la misma posici¢n 0d.
        LIST    p= 16C84     ; Para PIC 16C84
;
        OPERANDO1  EQU  0x0C ; Define la posici¢n del operando 1
        OPERANDO2  EQU  0x0D ; Define la posici¢n del operando 2
                             ; y del resultado
;
        ORG     0            ; Direcci¢n de inicio del programa
;
        movlw   02           ; 2 -> W
        movwf   OPERANDO2    ; W -> OPERANDO2
        movlw   05           ; 5 -> W
        movwf   OPERANDO1    ; W -> OPERANDO1 ( Operando1 est  en W y en 0x0C)
        addwf   OPERANDO2,1  ; OPERANDO2 + W -> Operando2
        END                  ; Directiva de fin de programa


sumando en C

Citar/* Programa que suma el contenido de dos variables en memoria y almacena */
/* el resultado en una tercera variable de resultado.                */
#include <16c84.h>
void main( void )
{
 int operando1 = 5, operando2 = 2, resultado;
 resultado = operando1 + operando2;
}

Autor y licencia de 'Mini-Prácticas de programación ensamblador y en C para microcontroladores - Sumando en ensamblador con microcontroladores'
BADBYTE-K Extraído de: http://foro.elhacker.net/index.php/topic,43897.0.html

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Mini-Prácticas de programación ensamblador y en C para microcontroladores - Sumando en ensamblador con microcontroladores'

Con este humilde artículo espero facilitar la comprensión del Inline Assembly en Gcc. Si bien... Más »
Las investigaciones históricas han comprobado que el petróleo, o aceite mineral (petrae = piedra y... Más »
Según Philip Kotler, la relación comercial puede ser de diferentes tipos. Con la terminología de... Más »
A partir de tres tesis que se enmarcarían de la siguiente forma: a) la omnipresencia... Más »
Ken Thompson y Dennis Ritchie decidieron esbozar un sistema operativo que supliera las necesidades de... Más »
¿Estás seguro de que deseas eliminar este capítulo?