Ola Ronnei,
Olha, Nunca usei o MAKEX, mas acho que isso pode ser problema de "little end" e "big end"
Isso varia de produto para produto, mas a idéia principal é que em ambos, se vc cria um int32, como:
int32 a;
Como é 32 bits, temos então 4 bytes:
Byte3 Byte2 Byte1 Byte0
Mas no little end, o valor menos significativo vai estar na posicao mais baixa da memoria
Byte0
Byte1
Byte2
Byte3
E intel usa assim.
Mas os big ends armazenam de outra maneira: o valor mais significativo é armazenado no começo dos bytes.
Byte3
Byte2
Byte1
Byte0
Notou a diferença?
O que pode estar acontecendo que vc está tentando montar de maneira errada com o make32.
tente fazer isso:
- Código: Selecionar todos
year= make32 (temp4,temp3,temp2,temp1);
Quem sabe só isso já resolva o seu problema!
quanto a mais explicações sobre o assunto, nada melhor do que nosso querido wikipedia:
http://pt.wikipedia.org/wiki/Extremidade_(ordena%C3%A7%C3%A3o)
[]'s