Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

02/02/2008 #1

Avatar de Meta

Duda este asm
Un usuario de otro foro a preguntado esto, si pueden ayudarlo...






Hola compañeros,
hice uno de los ejercicios que recomendo el amigo meta y todo funciono bien a excepcion de la intruduccion de unos datos:
El programa seria este (corrijanme si los comentarios no son los correctos) :

;
; Ejercicio LIBRE 1
;
;Ejercicio de sumas y restas
; tres valores almacenados en memoria 10h, 11h y 12h A,B y C respectivamente.
; Se desea realizar (A+B)-C almacenar y mostrar el resultado
;en la direccion 13h


List p=16F874A ;Tipo de procesador
include "P16F874A.INC" ;Definiciones de registros internos

; Definicion de variables temporales
dato_A equ 0x10
dato_B equ 0x11
dato_C equ 0x12
resultado equ 0x13

;Ajusta los valores de la palabra de configuración durante el ensamblaje:
;Protección de código y datos=OFF, LVP=OFF, WDT=OFF y OSC=XT

__config _CP_OFF&_CPD_OFF&_LVP_OFF&_WDT_OFF&_XT_OSC

org 0x00
goto Inicio ;Vector de reset
org 0x05

Inicio movf dato_A,W ;Carga en W el valor de dato_A
movwf resultado ;mueve el valor de W ---> resultado para verlo
addwf dato_B,W ;Suma el valor de B a W
movwf resultado ;mueve el valor de W ---> resultado para verlo
movf dato_C,W ;carga en W el valor de dato_c
subwf resultado,W ;resta de resultado el valor de W
movwf resultado ;mueve el valor de W ---> resultado para verlo
goto Inicio
end
********************************************
Se introducen los datos siguientes :

dato_A.....dato_B.......dato_C..........resultado Obtenido..... decimal
..01h.........03h.............02h................0 2h.........................(1+3)-2=2
..01h.........09h.............0Ah................0 0h.........................(1+9)-10=0
..01h.........FFh.............00h................0 0h.........................(1+255)-0=0
(creo que porque la suma da 256 , rebosa la memoria y se pone a CERO)

..01h.........03h.............05h................? .........................(1+3)-5=-2
Es en este ultimo que se automodifica el valor de dato_B cada vez que regresa a inicio, alguien podria decirme porque?
02/02/2008 #2


el resultado debe de ser FFh
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.