Autor Tema: como se pasa programa asm a hex  (Leído 1747 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
como se pasa programa asm a hex
« en: 10 de Mayo de 2006, 16:56:58 »
Quien me puede  colaborar en indicarme como paso este programa a hex.


LIST P=16F84A
      #INCLUDE<P16F84A.INC> la calculadara
   
;DECLARACION DE VARIABLES
MEMORIA   EQU   10
REG1   EQU   11
REG2   EQU   12
REG3   EQU   13
VALOR1   EQU   14
VALOR2   EQU   15
RESULT   EQU   16
DECENAS   EQU   17
UNIDAD   EQU   18
RESTA   EQU   19
PORTA   EQU   05
PORTB   EQU   06
STATUS   EQU   03
POT   EQU   20
   



   ORG   00
   GOTO   INICIO

RETARDO   MOVLW   .9
   MOVWF   REG1
DEC3   MOVLW   .9
   MOVWF   REG2
DEC2   MOVLW   .5
   MOVWF   REG3
DEC1   DECFSZ   REG3,1
   GOTO   DEC1
   DECFSZ   REG2,1
   GOTO   DEC2
   DECFSZ   REG1,1
   GOTO   DEC3
   RETURN
   
TABLA   ADDWF   PCL,1
   RETLW   B'11000000'
   RETLW   B'11111001'
   RETLW   B'10100100'
   RETLW   B'10110000'
   RETLW   B'10011001'
   RETLW   B'10010010'
   RETLW   B'10000010'
   RETLW   B'11111000'
   RETLW   B'10000000'
   RETLW   B'10011000'
   RETLW   B'10111111'  ; signo menos

;CONFIGURACION DE PUERTOS

INICIO   
   BSF   STATUS,5
   MOVLW   0F
   MOVWF   PORTA
   CLRF   PORTB
   BCF   STATUS,5
   CLRF   PORTA
   CLRF   PORTB
   CLRF   UNIDAD
   CLRF   DECENAS

CAPTURA   
   CALL   COLUMNA
   MOVWF   VALOR1
   CLRF   DECENAS
   MOVWF   UNIDAD

POR   BSF   PORTB,3
   BTFSC   PORTA,0      ;* POR 
   GOTO    VAL2
        CALL    VISUALIZACION
   BSF   PORTB,0      ;SUMA letraA
   BTFSC   PORTA,3
   GOTO    VAL3
   CALL   VISUALIZACION
   BSF   PORTB,1      ;RESTA  letraB
   BTFSC   PORTA,3
   GOTO   VAL4
   CALL   VISUALIZACION
   BSF   PORTB,2
   BTFSC   PORTA,3      ;CUADRADO letraC
   GOTO   VAL5
    Bsf portb,3
    BTFSC   PORTA,3      ; letrad reset
   GOTO    inicio

   CALL   VISUALIZACION
   GOTO    POR

VAL2   CALL   COLUMNA
   MOVWF   VALOR2
   MOVWF   UNIDAD
               ;UNIDAD

IGUA   BSF     PORTB,3
        BTFSC   PORTA,2      ;enterparamostrarresult
        GOTO    MULTIPLICACION
    Bsf portb,3
    BTFSC   PORTA,3      ; letrad reset
   GOTO    inicio

        CALL    VISUALIZACION
        GOTO    IGUA

MULTIPLICACION   ; operación multiplicacion
   CLRF   RESULT
   MOVF   VALOR2,W
   XORLW    00
   BTFSC   STATUS,2 ; sivalor1 o valor2 son 0
   GOTO   CEROS        ;entonces result = 0
SUMA   MOVF   VALOR1,W
   ADDWF   RESULT,1  ;la multiplicación son sumas
   DECFSZ   VALOR2,1  ;consecutivas y decrementando
   GOTO   SUMA          ; algunos de los dos.
   GOTO    DECODIFICAR

CEROS   CLRF   RESULT
   GOTO   DECODIFICAR


 
INCREME   INCF   DECENAS,1
   GOTO   RE

DECODIFICAR
   MOVF   RESULT,W
   MOVWF   RESTA
   CLRF   DECENAS
   MOVLW   .10
RE   SUBWF   RESTA,1
   BTFSC   STATUS,0
   GOTO   INCREME
   ADDWF   RESTA,1
   MOVF   RESTA,W
   MOVWF   UNIDAD
   CALL   VISUALIZACION
   GOTO   CAPTURA

VISUALIZACION 
   MOVF   UNIDAD,W
   CALL   TABLA
   BCF   PORTA,4
   MOVWF   PORTB
   CALL   RETARDO
   BSF   PORTA,4
   MOVF   DECENAS,W
   CALL   TABLA
   MOVWF   PORTB
   BCF   PORTB,7
   CALL   RETARDO
   BSF   PORTB,7   
   RETURN
SUCRE   

COLUMNA   
   CLRF   PORTB
   BSF   PORTB,0
   BTFSC   PORTA,0
   GOTO   UNO
   BTFSC   PORTA,1
   GOTO   DOS
   BTFSC   PORTA,2
   GOTO    TRES
   CLRF   PORTB
   BSF   PORTB,1
   BTFSC   PORTA,0
   GOTO   CUATRO
   BTFSC   PORTA,1
   GOTO   CINCO
   BTFSC   PORTA,2
   GOTO   SEIS
   CLRF   PORTB
   BSF   PORTB,2
   BTFSC   PORTA,0
   GOTO   SIETE
   BTFSC   PORTA,1
   GOTO   OCHO
   BTFSC   PORTA,2
   GOTO   NUEVE
   CLRF   PORTB
   BSF   PORTB,3      
   BTFSC   PORTA,1
   GOTO   CERO
    Bsf portb,3
    BTFSC   PORTA,3      ; letrad reset
   GOTO    inicio
     CALL    VISUALIZACION   
   GOTO   COLUMNA

      

UNO   MOVLW   01
   CALL   MOSTRAR
   RETLW   01
CUATRO   MOVLW   04
   CALL   MOSTRAR
   RETLW   04
SIETE   MOVLW   07
   CALL   MOSTRAR
   RETLW   07
DOS   MOVLW   02
   CALL   MOSTRAR
   RETLW   02
CINCO   MOVLW   05
   CALL   MOSTRAR
   RETLW   05
OCHO   MOVLW   08
   CALL   MOSTRAR
   RETLW   08
CERO   MOVLW   0
   CALL   MOSTRAR
   RETLW   0
TRES   MOVLW   03
   CALL   MOSTRAR
   RETLW   03
SEIS   MOVLW   06
   CALL   MOSTRAR
   RETLW   06
NUEVE   MOVLW   09
   CALL   MOSTRAR
   RETLW   09

MOSTRAR   CALL   TABLA
   MOVWF   PORTB
   MOVWF   MEMORIA
   BCF   PORTA,4
   CALL   RETARDO
   RETURN



VAL3   CALL   COLUMNA    ;operacion suma
   MOVWF   VALOR2
   MOVWF   UNIDAD
SUM   BSF   PORTB,3
        BTFSC   PORTA,2
        GOTO   PROCESO
Bsf portb,3
    BTFSC   PORTA,3      ; letrad reset
   GOTO    inicio

        CALL    VISUALIZACION
        GOTO    SUM

PROCESO   MOVF   VALOR2,0
   ADDWF   VALOR1,0
   MOVWF   RESULT
   GOTO    DECODIFICAR   

VAL4   CALL      COLUMNA   ; operación resta
   MOVWF   VALOR2
   MOVWF   UNIDAD
SER   BSF   PORTB,3
   BTFSC   PORTA,2
   GOTO   PEÑATE
    Bsf portb,3
    BTFSC   PORTA,3      ; letrad reset
   GOTO    inicio
CALL   VISUALIZACION
     GOTO   SER
PEÑATE   MOVF   VALOR2,0  ;si valor1=valor2
   XORWF   VALOR1,0  ;resultado =0
   BTFSS   STATUS,2
   GOTO   FEME
   CLRF   UNIDAD
   CLRF   DECENAS
   CALL   VISUALIZACION
   GOTO   CAPTURA
FEMEMOVF   VALOR2,0
   SUBWF   VALOR1,0
   MOVWF   UNIDAD
   BTFSS   STATUS,0
   GOTO   RAFAEL
   MOVLW   UNIDAD
   CALL   VISUALIZACION
   GOTO   CAPTURA
RAFAEL   COMF   UNIDAD,1
   INCF   UNIDAD,1
   MOVLW   .10   ; se visualiza el signo menos.(-)
   MOVWF   DECENAS ; en las decenas
   CALL   VISUALIZACION
   GOTO    CAPTURA
VAL5   CLRF   POT    ; operacion cuadrado
   MOVF   VALOR1,0 ;sumar el mismo # el
MAR   ADDWF   POT,1  ; numero de veces que dice el #
   DECFSZ   VALOR1,1
   GOTO   MAR
   MOVF   POT,0
   MOVWF   RESULT
   CALL   DECODIFICAR
   GOTO   CAPTURA
   END


Desconectado JavisusII

  • PIC12
  • **
  • Mensajes: 79
Re: como se pasa programa asm a hex
« Respuesta #1 en: 10 de Mayo de 2006, 17:59:37 »
Parece ser un pic  :mrgreen: qué tal un entorno como MAPLAB IDE? :D
www.microchip.com :-/
Xavi (Barcelona)

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Re: como se pasa programa asm a hex
« Respuesta #2 en: 10 de Mayo de 2006, 18:16:45 »
Pues en Mplab y el compilador MPsam o simplemente con el compilador...


Suerte!!! :wink:
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte