Hi Lars!
Wie ich bereits weiter unten im Thread geschrieben hab, wüßte ich in Moment nicht, was ich mit 4GB+ Speicher anfangen sollte (es sei denn ich würde Vista verwenden, wo das Betriebssystem allein schon 1GHz vom Prozessor und 1 GB Speicher belegt, was dann auch das KO Kriterium für Vista ist - genauso wie die nervige Vista Gängelung, die mir sagen will, was ich tun darf und was nicht...).
Was mich halt (als ehemaliger Assembler Programmierer) verwundert, ist, dass die 64 Bit OS Nutzung keinen nennenswerten Geschwindigkeitsvorteil bringt:
von 16 (286er) auf 32 Bit (386er) war aus der Hölle in den Himmel damals...
Aber wahrscheinlich bedeutet OS64 nur, dass jetzt für jede Anweisung, die vorher auf 32 Bit ausgeführt wurde, jetzt 64 Bit Register verwendet werden, alla:
C code: int64 result = (int64) zahl1 + (int64) zahl2;
=> assembly:
;we use eax, ebx as lower part of the int 64, ecx, edx is the higher part
;in correct 32 Bit code:
mov eax, dword ptr ds:[esi];
mov ecx, dword ptr ds:[esi+4];
add esi,8;
mov ebx, dword ptr ds:[esi];
mov edx, dword ptr ds:[esi+4];
add edx, ecx;
add eax, ebx;
jno not_gt_32bit;
inc edx;
not_gt_32bit:
mov dword ptr ds:[edi], eax;
mov dword ptr ds:[edi+4], edx;
;in correct 64Bit code:
mov eax, qword ptr ds:[esi];
add esi,8;
mov edx, qword ptr ds:[esi];
add edx, eax;
mov dword ptr ds:[edi], edx;
;statt dessen wird der 32 Bit code nur auf 64 bit Register angewendet.
=> code 32 Bit s.o., wobei nur der overflow check entfällt...
Aber auch dir herzlichen Dank für den Beitrag,
Richard