На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Сколько памяти
    Кто знает как определить объем памяти, если ее более 64 метров ???
      Руками.
      Проверяй первый байт каждого мегабайта на запись/чтение.
      PS Лучше делать это на CLI, чтобы никто не вклинился, и ты никому не подгадил.
        Сначало так и делал, но на пнях третьих прога не пашет (либо в мамках дело, либо в самих камнях) - выдает нарушение общей защиты (с глюкавыми последствиями) или реБутится. Скорее всего объем можно определить с помощью BIOS (чтение устройств...), но если есть другой способ - хотелось бы его узнать.
          а через реестр не пробовал?
          HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP\System Resources\Physical Memory\.Translated
          только вот как его раскодировать, я не знаю... там двоичный массив.
          там же где-то можно найти частоту и модель проца (в ...\HARDWARE\...) и еще кое чего интересного.
          все проги, кстати, широко используют этот метод...
            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 = Количество килобайт памяти
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0282 ]   [ 16 queries used ]   [ Generated: 29.03.24, 06:34 GMT ]