Hola a todos!!! antes que nada quisiera manifestar mi entera satisfaccion con este foro, pues he obtenido grandes resultados con las respuestas que se me dan al hacer mis preguntas

pasando a mi interrogante, la cual no me deja dormir, he aqui un codigo que muestra en una LCD la tecla que se presiono en una keypad de 3x4:
#include <16f887.h>
#use delay(clock=4M)
#fuses INTRC_IO, NOWDT,NOPUT,NOMCLR,NOPROTECT,NOCPD,NOBROWNOUT,NOIESO,NOFCMEN,NOLVP
#include <lcd.c>
#include <kbd.c>
#use standard_io(B)
#byte WPUB=0x95
#byte OPTION_REG=0x81
void main()
{
char k;
WPUB=0xff;
OPTION_REG=0x00;
lcd_init();
kbd_init();
lcd_gotoxy(4,1);
printf(lcd_putc,"presiona");
while(true)
{
k=kbd_getc();
if(k!=0)
{
lcd_gotoxy(4,2);
printf(lcd_putc,"tecla: %c",k);
}
}
}
Este codigo me lo enseñaron en un curso hace un par de años, entiendo como funciona pero olvide que es lo que hacian dos comandos que aparecen alli y porque se les daba el valor que se les asignaba:
#byte WPUB=0x95
#byte OPTION_REG=0x81
WPUB=0xff;
OPTION_REG=0x00;
las dos primeras recuerdo que era algo de la direccion en la que estaban, y de hecho contienen esa direccion en el datasheet, sin embargo no recuerdo bien bien que eran, pero las que me tienen muy desorientados son las dos ultimas cuando se igualan a 0xff y a 0x00,
coloco tambien la imagen de la simulacion (corriendo correctamente)
Espero me puedan ayudar a resolver mi duda. gracias!!!