Вы находитесь на странице: 1из 30

UNIVERSIDAD PRIVADA ANTENOR ORREGO

INGENIERA ELECTRNICA

LENGUAJE ASSEMBLER
Ing. Lenin Llanos Len

Lenguaje Assembler

Lenguaje de Mquina

Lenguaje Assembler

Instrucciones de Programa

REPERTORIO DE INSTRUCCIONES

Est compuesto por 35 instrucciones que


pueden ser agrupadas en los siguientes
grupos:

Instrucciones
Instrucciones
Instrucciones
Instrucciones
Instrucciones
Instrucciones
Instrucciones

de carga.
aritmticas.
lgicas.
de bit.
de salto.
para manejo de subrutinas.
especiales.

INSTRUCCIONES DE CARGA
NEMNICO

DESCRIPCIN

FLAGS AFECTADOS

CLRF f

00 (f)

CLRW

00 (w)

MOVF f,d

(f) (destino)
d=0 : destino = w
d=1 : destino = f

MOVLW k

k (W)

Ninguno

MOVWF f

(w) (f)

Ninguno

INSTRUCCIONES ARITMTICAS

NEMNICO

DESCRIPCIN

FLAGS AFECTADOS

ADDLW k

(w) + k (w)

C, DC, Z

ADDWF f,d

(w) + (f) (destino)

C, DC, Z

DECF f,d

(f) 1 (destino)

INCF f,d

(f) + 1 (destino)

SUBLW k

k (w) (w)

C, DC, Z

SUBWF f,d

(f) (w) (destino)

C, DC, Z

INSTRUCCIONES LGICAS
NEMNICO

DESCRIPCIN

FLAGS AFECTADOS

ANDLW k

(w) and k (w)

ANDWF f,d

(w) and (f) (destino)

COMF f,d

(/f) (destino)

IORLW k

(w) or k (w)

IORWF f,d

(w) or (f) (destino)

INSTRUCCIONES LGICAS
NEMNICO

DESCRIPCIN

FLAGS
AFECTADOS

RLF f,d

Rota (f) a la izquierda a


travs del carry (destino)

RRF f,d

Rota (f) a la derecha a


travs del carry (destino)

SWAPF f,d

Intercambia los niveles de


(f) (destino)

Ninguno

XORLW k

(w) xor k (w)

XORWF f,d

(w) xor (f) (destino)

INSTRUCCIONES DE BIT
NEMNICO

DESCRIPCIN

FLAGS AFECTADOS

BCF f,b

Pone a cero el bit b del


registro f

Ninguno

BSF f,b

Pone a uno el bit b del


registro f

Ninguno

INSTRUCCIONES DE SALTO
NEMNICO

DESCRIPCIN

FLAGS
AFECTADOS

BTFSC f,b

Salta si el bit b de f es cero

Ninguno

BTFSS f,b

Salta si el bit b de f es uno

Ninguno

decfsz f,d

(f) 1 (destino)
y salta si es cero

Ninguno

incfsz f,d

(f) + 1 (destino)
y salta si es cero

Ninguno

goto k

Salta a la direccin k

Ninguno

INSTRUCCIONES PARA MANEJO DE


SUBRUTINAS

NEMNICO

DESCRIPCIN

FLAGS
AFECTADOS

CALL k

Llamada a subrutina

Ninguno

RETFIE

Retorno de una
Interrupcin

Ninguno

RETLW k

Retorno con un literal en w

Ninguno

RETURN

Retorno de una subrutina

Ninguno

INSTRUCCIONES ESPECIALES

NEMNICO

DESCRIPCIN

FLAGS AFECTADOS

CLRWDT

Borra Timer del Watchdog

/TO, /PD

NOP

No operacin

Ninguno

SLEEP

Entra en modo bajo


consumo

/TO, /PD

PRIMER PROGRAMA

Encender un LED conectado en RB0 cada


vez que el interruptor este cerrado.
R2
10k

U1
16
15
FREQ=4MHz

RA7/OSC1/CLKIN
RA0/AN0
RA6/OSC2/CLKOUT
RA1/AN1
RA2/AN2/CVREF/VREFRA5/MCLR RA3/AN3/C1OUT/VREF+
RA4/AN4/T0CKI/C2OUT

R1

RB0/INT/CCP1
RB1/SDI/SDA
RB2/SDO/RX/DT
RB3/CCP1
RB4/SCK/SCL
RB5/SS/TX/CK
RB6/AN5/T1OSO/T1CKI
RB7/AN6/T1OSI

10k

PIC16F88

17
18
1
2
3
6
7
8
9
10
11
12
13

R3
330

D1
LED-GREEN

PRIMER PROGRAMA

1 Crear un fichero *asm, donde ir


nuestro cdigo.

PRIMER PROGRAMA

2 Guardamos nuestro fichero *asm,


donde ir nuestro cdigo.

PRIMER PROGRAMA

3 Crear nuestro proyecto. (Click Proyect Wizard..)

PRIMER PROGRAMA

4 Click en Siguiente.

PRIMER PROGRAMA

5 Seleccionamos el Pic con el que deseamos trabajar.

PRIMER PROGRAMA

6 Seleccionamos el Lenguaje de Programacin y


Compilador (MPASM).

PRIMER PROGRAMA

7 Seleccionamos el Nombre y la Ubicacin donde se


guardar nuestro proyecto.

PRIMER PROGRAMA

8 Agregamos nuestro Archivo (*asm) a nuestro


proyecto y siguiente.

PRIMER PROGRAMA

9 Click Finalizar.

PRIMER PROGRAMA

10 Nos aparecer la siguiente ventana.

PRIMER PROGRAMA

11 Doble Click en nuestro archivo *asm y abrir la


ventana para escribir nuestro cdigo.

PRIMER PROGRAMA

Diagrama de Flujo para la solucin:


INICIO

Definicin de
PIC y Variables
Configuracin
de Puertos
Led Apagado

SI

Pulsador
NO

Presionado
?
Prender
Led

Apagar
Led

PRIMER PROGRAMA
Definicin de
PIC y Variables

list p=16f88
#include p16f88.inc
__CONFIG _CONFIG1, _CPD_OFF & _CP_OFF & _DEBUG_OFF &
_LVP_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF
&_WRT_PROTECT_OFF & _XT_OSC & _BODEN_OFF
Led equ 0
Pulsador equ 0

PRIMER PROGRAMA
Configuracin
de Puertos

org 0x00
goto Inicio
org 0x05
Inicio
bsf STATUS,RP0
bsf TRISA,0
bcf TRISB,0
clrf ANSEL
bcf STATUS,RP0

Led Apagado

bcf PORTB,Led

PRIMER PROGRAMA
Bucle
btfsc PORTA,Pulsador
SI

Pulsador
Presionado
?

goto Apagar
NO

Apagar
Led

Prender
Led

Apagar

bsf PORTB,Led

bcf
PORTB,Led
goto Bucle

PRIMER PROGRAMA

RA0/AN0
RA1/AN1
VREF/VREFQ=4MHz
OUT/VREF+
0CKI/C2OUT

B0/INT/CCP1
B1/SDI/SDA
/SDO/RX/DT
RB3/CCP1
B4/SCK/SCL
B5/SS/TX/CK
1OSO/T1CKI
7/AN6/T1OSI

PRIMER PROGRAMA
U1
16
17
15
18
1
24
3

6
R1
7
10k
8
9
10
11
12
13

R2

R2

10k

10k

RA7/OSC1/CLKIN
RA0/AN0
RA6/OSC2/CLKOUT
RA1/AN1
RA2/AN2/CVREF/VREFRA5/MCLR RA3/AN3/C1OUT/VREF+
RA4/AN4/T0CKI/C2OUT

R3
330

PIC16F88

RB0/INT/CCP1
RB1/SDI/SDA
RB2/SDO/RX/DT
D1 RB3/CCP1
LED-GREEN
RB4/SCK/SCL
RB5/SS/TX/CK
RB6/AN5/T1OSO/T1CKI
RB7/AN6/T1OSI

17
18
1
2
3
6
7
8
9
10
11
12
13

R3
330

D1
LED-GREEN

Вам также может понравиться