Los dos sistemas propuestos para saber si la arquitectuta del S.O. es de 32 o 64 bits pueden escribirse en delphi de esta forma, teniendo en cuenta que el resultado de una función siempre se devuelve en el registro eax:
Código Delphi
[-]
function Is64OS: boolean;
asm
xor eax, eax
mov ax, es
ror ax, 3
and eax, 1
end;
function Is64OS_: boolean;
asm
xor eax,eax
mov eax, fs:[$0C0]
end;
Su uso sería así:
Código Delphi
[-]
begin
if Is64OS then
ShowMessage('S.O. de 64bits')
else
ShowMessage('S.O. de 32bits');
end;
Saludos.