Ensamblador - Programa ensamblador a Proteus

 
Vista:
sin imagen de perfil

Programa ensamblador a Proteus

Publicado por Rodrigo (1 intervención) el 17/12/2020 22:20:38
muestro el funcionamiento del codigo en Proteus y pero no llego a comprenderlo por completo para explicarlo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
;Ensamblar y simular el siguiente programa para su presentación con PROTEUS.
;SEGUNDO.ASM Programa que lee el n£mero binario introducido mediante 3
;interruptores conectados a la puerta PA (RA0,RA1,RA2), luego suma 2 unidades
;a ese valor y visualiza el resultado mediante 4 diodos led conectados a la
;puerta PB (RB0, RB1,RB2,RB3).
 
;----------------------------------------------------------------------------
 
        LIST    P=16C84         ;Comando que indica el PIC usado
        RADIX   HEX             ;Los valores se representar n en hexadecimal
 
;----------------------------------------------------------------------------
 
        PUERTAA EQU     0X05    ;La etiqueta "PUERTAA" queda identificada con
                                ;la direcci¢n 0x05, que si corresponde con el
                                ;banco 0 es el valor de PUERTAA y si es del
                                ;banco 1 con el de TRISA.
        PUERTAB EQU     0X06    ;Equivalencia de la etiqueta PUERTAB
        ESTADO  EQU     0X03    ;Estado corresponde con el valor 0x03.
        W       EQU     0       ;Identifica W con el valor 0.
 
;----------------------------------------------------------------------------
 
        ORG     0               ;Comando que indica al Ensamblador la
                                ;direcci¢n de la memeoria donde se
                                ;situar  la instruci¢n siguiente
 
;----------------------------------------------------------------------------
 
        bsf     ESTADO,5        ;Pone a 1 el bit 5 de ESTADO para direccionar
                                ;la pagina 1 de la memoria de datos.
        movlw   0xff            ;W <-- FF(Hex)
        movwf   PUERTAA         ;W --> TRISA
        movlw   0x00            ;W <-- 0
        movwf   PUERTAB         ;W --> TRISB (Las l¡neas de PB salidas)
        bcf     ESTADO,5        ;Pone a 0 el bit 5 de ESTADO pasando a
                                ;acceder al banco 0.
 
inicio  movf   PUERTAA,W        ;W <-- PUERTAA. Se introduce el valor binario
                                ;de los interruptores.
        addlw   2               ;W <-- W + 2
        movwf   PUERTAB         ;W --> PUERTAB. El valor de W sale por las
                                ;l¡neas de PB a los led.
        goto    inicio          ;Salta a la instrucci¢n precedida por la
                                ;etiqueta de inicio.
        END
[/code]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder