Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[34.228.239.171] |
|
Сообщ.
#1
,
|
|
|
Кто знает как определить объем памяти, если ее более 64 метров ???
|
Сообщ.
#2
,
|
|
|
Руками.
Проверяй первый байт каждого мегабайта на запись/чтение. PS Лучше делать это на CLI, чтобы никто не вклинился, и ты никому не подгадил. |
Сообщ.
#3
,
|
|
|
Сначало так и делал, но на пнях третьих прога не пашет (либо в мамках дело, либо в самих камнях) - выдает нарушение общей защиты (с глюкавыми последствиями) или реБутится. Скорее всего объем можно определить с помощью BIOS (чтение устройств...), но если есть другой способ - хотелось бы его узнать.
|
Сообщ.
#4
,
|
|
|
а через реестр не пробовал?
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP\System Resources\Physical Memory\.Translated только вот как его раскодировать, я не знаю... там двоичный массив. там же где-то можно найти частоту и модель проца (в ...\HARDWARE\...) и еще кое чего интересного. все проги, кстати, широко используют этот метод... |
Сообщ.
#5
,
|
|
|
mov ax,0E801h
int 15h jc OnlyBelow64 ; Если здесь произойдет прыжок, то будет 66496 КБайт, данная фукнция не поддерживается shl edx,16 shr edx,10 and ecx,0FFFFh add edx,ecx jmp Add1024 OnlyBelow64: xor edx,edx cli mov al,17h out 70h,al in al,71h xchg dx,ax mov al,18h out 70h,al in al,71h sti mov dh,al Add1024: add edx,1024 На выходе EDX = Количество килобайт памяти |