Hola amigo, la directiva #zero_ram limpia todas las posiciones de memoria que vayas a utilizar, te explico de lo de la bandera, esta es una variable tipo bit que inicia en cero, se enciende cuando presionan la tecla y se apaga cuando sueltan la tecla, su objetivo es evitar que el procesador entre varias veces a la función de la tecla mientras esta se encuentra presionada, sólo entra un vez
Saludos.