@Recato53, esto depende del compilador. Siendo Fujitsu, si no recuerdo mal, sigue las directivas de campos nativos de la arquitectura. O sea que, los COMP/COMP-4/COMP-5 todos físicamente son 2, 4 u 8 bytes.
En cuanto al contenido, el COMP-5 es binario nativo y sigue las reglas de la máquina. Equivale a tipos que vemos en C:
Código:
PIC S9(2) COMP-5 short 2 bytes -32,768 to 32,767
PIC 9(2) COMP-5 unsigned short 2 bytes 0 to 65,535
PIC S9(9) COMP-5 int 4 bytes -2,147,483,648 to 2,147,483,647
PIC 9(9) COMP-5 unsigned int 4 bytes 0 to 4,294,967,295
PIC S9(18) COMP-5 long 8 bytes -9223372036854775808 to 9223372036854775807
PIC 9(18) COMP-5 unsigned long 8 bytes 0 to 18446744073709551615
18 es el máximo. Todo lo que supere la cantidad de 9-s en PIC automáticamente se toma el tipo siguiente de tamaño superior. Es decid, si defines
S9(5) COMP-5 se va a alocar como
S9(9) COMP-5.