Also...ich habe folgende Erfahrungen mit der Ermittelung des Arbeitsspeichers mithilfe von directprobing gemacht:
im 1. Megabyte: Wert kam nich zurück
2..127 MB : Wert kam korrekt zurück
128 MB : Wert kam nicht zurück
>128 MB : Rechner startet neu
komisch. Die Addressen lauten immer 1024*1024*#mb-2. Damit sollte man das letzte Word des jeweiligen mb s Addressiert haben. Oder?
Ich habe auch 128 MB eingebaut. Was mache ich falsch? Achso ... Vorgehensweise:
1. Schreibe 0x55AA oder irgendeinen Wert an die Addresse
2. lies diesen Wert in ax
3. gib ax aus
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Eigentlich müsste das Programm vollständig unberechenbar laufen.
1024 = 2 hoch 10. dh mit 10 Bit darstellbar
1024 * 1024 = 2 hoch 20. dh mit 20 Bit darstellbar
nachdem mb ~ 128 (2 hoch 7) brauchst du 27 Bit um 1024*1024*128 zu berechnen.
AX hat 16 Bit und deshalb passiert sonstwas bei der berechnung der Adresse.
Du must EAX nehmen, die 32 Bit reichen auf jeden Fall. Naja jedenfalls bis 4GB RAM ;-)
ich habe ebx zur adressberechnung benutzt :-)