Исходный текст программы
LIST P=18F452, F=INHX32 ;ПАРАМЕТРЫ ОБЯЗАТЕЛЬНЫЕ ДЛЯ
#include <P18F452S.INC> ; КАЖДОГО ПРОГРАМНОГО МОДУЛЯ
org 100h
reg0 equ 180h ; Регистр временного хранения данных представленной программы
reg1 equ 181h
reg2 equ 182h
reg3 equ 183h
start movlw 0 ;Установить положение курсора
call LCD_SET ;в нач. первой строки
call RX_KEY ; чтение кода 1 клавиши
movwf reg0 ;/ и сохранение в reg0
call LCD_HEX ;/
movlw '-'
call LCD_DATA
call RX_KEY ; чтение кода 2 клавиши
movwf reg1 ;/ и сохранение в reg1
call LCD_HEX ;/
movlw '='
call LCD_DATA
movf reg1,w
sublw 0x30
movwf reg2 ; сумму поместить в 83h
movf STATUS,w,0 ; вызвать флаги в W
movwf reg3 ; флаги поместить в 84h
movf reg2,w,1 ; вызвать код
call LCD_HEX ;/
movlw 40 ;Установить положение курсора
call LCD_SET ;в нач. второй строки
movlw 'F'
call LCD_DATA
movlw 'L'
call LCD_DATA
movlw 'A'
call LCD_DATA
movlw 'G'
call LCD_DATA
movlw '='
call LCD_DATA
movf reg3,w,1 ; вызвать код первой клавиши из 80h в W
call LCD_HEX
desk call RX_KEY
call LCD_DATA
goto desk
end