#define Read_far(Addr) ((unsigned char)(*(volatile unsigned char *__far)(Addr)) ¿Qué significa exactamente?
En pocas palabras, primero (volatile unsigned char *__far)(Addr) convierte Addr en un puntero a un carácter sin firmar.
(*(volatile unsigned char *__far)(Addr)) es obtener el contenido de la dirección y convertirlo a caracteres sin firmar.
Entonces, en pocas palabras, lee el contenido del byte en la dirección Addr y devuelve el contenido en tipo char sin firmar
.