MESSG Example

MPASM Assembler

MESSG Example

Directives highlighted in this example are:

  • messg

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
PreviousNext