Nicolás, van las respuestas:
1) "compilados para ROM o si son compilados para trabajar con el debugger"
Está explicado en el párrafo anterior de la letra.
Cuando se trabaja con el debugger, el programa se compila con "Macro > Compilar" y se carga en la placa y se ejecuta con "Macro > JtagCon + Gdb". Esto es lo que han usado hasta ahora. En este caso la sección .text queda ubicada a partir de la dirección 0xB000 y la sección .data se ubica, a continuación, a partir del siguiente inicio de una página de 256 bytes
Otra opción es no utilizar el debugger, y cargar el programa en ROM. Para eso tienen que compilar el programa con "Macro > Compilar para ROM". En este caso el programa se compila con .text ubicado a partir de la dirección 0x0000 y .data a partir de 0xB000. Para grabar el programa en ROM se utiliza "Macro > Cargar en ROM". Esto último copia la sección .text en ROM a partir de la dirección 0x0000, pero no hace nada con la sección .data.
Básicamente tienen que elegir qué cosas poner en la sección .text y qué cosas poner en la sección .data para que los programas de ustedes funcionen bien en ambos casos.
2) En la subrutina get_packet y en toda la práctica vamos a suponer que no se produce overflow. Por lo tanto pueden ignorar los bits de overflow de X e Y.
Saludos,
julio