MESSG Example
Directives highlighted in this example are:
Program Functional Description
This program demonstrates the utility of the
messg
assembler directive, which sets a message to be printed in the listing file and error file.Commented Code Listing
list p=16f877 ;Select the device.
#include <p16f877.inc> ;Include standard header file
;for the selected device.
variable baudrate ;variable used to define
;required baud rate
baudrate set D'5600' ;Enter the required value of
;baud rate here.
if (baudrate!=D'1200')&&(baudrate!=D'2400')&&
(baudrate!=D'4800')&&(baudrate!=D'9600')&&
(baudrate!=D'19200')
error "Selected baud rate is not supported"
messg "only baud rates 1200,2400,4800,9600 & 19200 Hz "&&
"are supported"
endif
RST CODE H'0' ;The code section named RST
;is placed at H'0'. The
;instruction 'goto start' is
;placed in code section RST
goto start ;Jumps to the location labelled
;'start'.
INTRT CODE H'4' ;The code section named INTRT is
;placed at H'4'.The instruction
;'goto service_int' is placed in
;code section INTRT.
goto service_int ;Jumps to the location labelled
;'service_int'.
PGM CODE ;This is the begining of the
;code section named PGM. It is a
;relocatable code section since
;no absolute address is given
;along with directive 'CODE'.
start
goto $
service_int
retfie
end
Microchip Technology Inc. Microchip's Web Site Voice: (480) 792-7200 Fax: (480) 899-9210 Microchip's E-mail Address |