Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Archivo
Fuente
Ensamblador
Código
Máquina
MPASM Ensamblador
Archivos Objeto
Programa1.o Programa2.o
Relocalizables
Archivos
16F877.lkr localizador de
Dir.
MPLINK Enlazador
Archivo final
Programa.HEX
.HEX
Sintáxis
[<Etiq>] CODE [<Dirección ROM>]
Ejemplo
RESET CODE H’0000’ ;La instrucción GOTO se
GOTO START ;almacenara en la Dir. 0000h
Sintáxis
END
Sintáxis
[<Etiq>] EQU <expr>
Ejemplo
STATUS EQU 0x03 ;le asigna el valor 03h a la etiqueta
;STATUS
Sintáxis
BANKSEL <Etiq>
Ejemplo
NUMERO1 EQU 0x0A ;le asigna el valor 0Ah a la etiqueta
;NUMERO1
Sintaxis
EXTERN <Etiq> [, <Etiq>, ...]
Ejemplo
EXTERN SubRutina
....
CALL SubRutina
Sintáxis
GLOBAL <Etiq> [, <Etiq>, ...]
Ejemplo
SubRutina
GLOBAL SubRutina
addwl 0xFF
return
Sintáxis
[<Etiq>] ORG <expr>
Ejemplo
RESET ORG 0x0000
movlw 01 ;Esta instrucción comienza en la dir
addlw 01 ;0000h de la memora de Prog, y las
;demás se incrementa la dir
Sintaxis
<Etiq> UDATA [<DIR. RAM>]
Ejemplo
UDATA
Dato1 RES 1
Dato2 RES 2
Sintaxis
[<Etiq>] RES <res_mem>
Descripción:
Esta directiva reserva la cantidad de memoria especificadas por
<res_mem>, los datos en la memoria se pueden acceder
apuntado por <Etiq>.
Ejemplo
UDATA
Dato1 RES 1 ;Reserva un byte en la MEM RAM (sin cond. Ini.)
Dato2 RES 2 ;Reserva dos byte en la MEM RAM (sin cond. Ini.)
Sintaxis
RADIX <Base>
Ejemplo
RADIX dec
Sintaxis
#INCLUDE <<Archivo_Incluir>>
#INCLUDE <“Archivo_Incluir”>
Ejemplo
#INCLUDE “P16F877.inc”
#INCLUDE “c:\Programas\ASM\reg.h”
Sintaxis
LIST [<Opción_List>, …, <Opción_List>]
<Opción_List>
p=<type> Tipo de C.
r=<base> Base del Número a utilizar
Ejemplo
LIST p=16F877, r=HEX
ORG 0x5
INICIO movf N1_L,W
addwf N2_L,F
btfsc STATUS,C
incf N2_H,F
movf N1_H,W
addwf N2_H,F
goto INICIO
END
ORG 0x5
INICIO movf N1_L,W
addwf N2_L,F
btfsc STATUS,C
incf N2_H,F
movf N1_H,W
addwf N2_H,F
goto INICIO
END
Archivos Objeto
Prog1.o Prog2.o
Relocalizables
Archivos
16F877.lkr localizador de
Dir.
MPLINK Enlazador
Sintaxis:
CODEPAGE NAME=memName START=addr END=addr [PROTECTED] [FILL=fillvalue]
Página 0
2 K
07FFH
0800H
Página 1
2 K
0FFFH
1000H
Página 2
2 K
17FFH
1800H
Página 3
2 K
1FFFH
Sintaxis:
SECTION NAME=’NomSecc’{ ROM=’NomMEM’ | RAM=’NomMEM’ }
Ejemplo
BIN (21:20)h
BCD (1A2:1A1:1A0)h
Archivos Objeto
Top_BB.o Bin2BCD.o
Relocalizables
Archivos
16F877.lkr localizador de
Dir.
MPLINK Enlazador
Archivo final
Bin16BCD.HEX
.HEX