Letysite.ru

IT Новости с интернет пространства
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Dword 32 бита

Dword 32 бита

Данные каким-либо образом необходимо представлять в памяти компьютера. Существует множество различных типов данных, простых и довольно сложных, имеющих большое число компонентов и свойств. Однако, для компьютера необходимо использовать некий унифицированный способ представления данных, некоторые элементарные составляющие, с помощью которых можно представить данные абсолютно любых типов. Этими составляющими являются числа, а вернее, цифры, из которых они состоят. С помощью цифр можно закодировать практически любую дискретную информацию. Поэтому такая информация часто называется цифровой (в отличие от аналоговой, непрерывной).

Первым делом необходимо выбрать систему счисления, наиболее подходящую для применения в конкретных устройствах. Для электронных устройств самой простой реализацией является двоичная система: есть ток — нет тока, или малый уровень тока — большой уровень тока. Хотя наиболее эффективной являлась бы троичная система. Наверное, выбор двоичной системы связан еще и с использование перфокарт, в которых она проявляется в виде наличия или отсутствия отверстия. Отсюда в качестве цифр для представления информации используются 0 и 1.

Таким образом данные в компьютере представляются в виде потока нулей и единиц. Один разряд этого потока называется битом. Однако в таком виде неудобно оперировать с данными вручную. Стандартом стало разделение всего потока на равные последовательные группы из 8 битов — байты или октеты. Далее несколько байтов могут составлять слово. Здесь следует разделять машинное слово и слово как тип данных. В первом случае его разрядность обычно равна разрядности процессора, т.к. машинное слово является наиболее эффективным элементом для его работы. В случае, когда слово трактуется как тип данных (word), его разрядность всегда равна 16 битам (два последовательных байта). Также как типы данных существую двойные слова (double word, dword, 32 бита), четверные слова (quad word, qword, 64 бита) и т.п.

Теперь мы вплотную подошли к представлению целых чисел в памяти. Т.к. у нас есть байты и различные слова, то можно создать целочисленные типы данных, которые будут соответствовать этим элементарным элементам: byte (8 бит), word (16 бит), dword (32 бита), qword (64 бита) и т.д. При этом любое число этих типов имеет обычное двоичное представление, дополненное нулями до соответствующей размерности. Можно заметить, что число меньшей размерности можно легко представить в виде числа большей размерности, дополнив его нулями, однако в обратном случае это не верно. Поэтому для представления числа большей размерности необходимо использовать несколько чисел меньшей размерности. Например:

  • qword (64 бита) можно представить в виде 2 dword (32 бита) или 4 word (16 бит) или 8 byte (8 бит);
  • dword (32 бита) можно представить в виде 2 word (16 бит) или 4 byte (8 бит);
  • word (16 бит) можно представить в виде 2 byte (8 бит);

Если A — число, B1..Bk — части числа, N — разрядность числа, M — разрядность части, N = k*M, то:

  • A = F1E2D3C4B5A69788 (qword)
  • A = 2 32 * F1E2D3C4 (dword) + 2 0 * B5A69788 (dword)
  • A = 2 48 * F1E2 (word) + 2 32 * D3C4 (word) + 2 16 * B5A6 (word) + 2 0 * 9788 (word)
  • A = 2 56 * F1 (byte) + 2 48 * E2 (byte) + . + 2 8 * 97 (byte) + 2 0 * 88 (byte)

Существуют понятия младшая часть (low) и старшая часть (hi) числа. Старшая часть входит в число с коэффициентом 2 N-M , а младшая с коэффициентом 2 0 . Например:

Байты числа можно хранить в памяти в различном порядке. В настоящее время используются два способа расположения: в прямом порядке байт и в обратном порядке байт. В первом случае старший байт записывается в начале, затем последовательно записываются остальные байты, вплоть до младшего. Такой способ используется в процессорах Motorola и SPARC. Во втором случае, наоборот, сначала записывает младший байт, а затем последовательно остальные байты, вплоть до старшего. Такой способ используется в процессорах архитектуры x86 и x64. Далее приведен пример:

Используя подобные целочисленные типы можно представить большое количество неотрицательных чисел: от 0 до 2 N -1, где N — разрядность типа. Однако, целочисленный тип подразумевает представление также и отрицательных чисел. Можно ввести отдельные типы для отрицательных чисел от -2 N до -1, но тогда такие типы потеряют универсальность хранить и неотрицательные, и отрицательные числа. Поэтому для определения знака числа можно выделить один бит из двоичного представления. По соглашению, это старший бит. Остальная часть числа называется мантиссой.

Если старший бит равен нулю, то мантисса есть обычное представление числа от 0 до 2 N-1 -1. Если же старший бит равен 1, то число является отрицательным и мантисса представляет собой так называемый дополнительный код числа. Поясним на примере:

Как видно из рисунка, дополнительный код равен разнице между числом 2 N-1 и модулем исходного отрицательного числа (127 (1111111) = 128 (10000000) — |-1| (0000001)). Из этого вытекает, что сумма основного и дополнительного кода одного и того же числа равна 2 N-1 .

Из вышеописанного получается, что можно использовать только целочисленные типы со знаком для описания чисел. Однако существует множество сущностей, которые не требуют отрицательных значений, а значит, место под знак можно включить в представление неотрицательного числа, удвоив количество различных неотрицательных значений. Как результат, в современных компьютерах используются как типы со знаком или знаковые типы, так и типы без знака или беззнаковые типы.

В итоге можно составить таблицу наиболее используемых целочисленных типов данных:

Изменение параметров cистемного реестра Windows

При настройке системы Windows могут возникать такие ситуации, когда тот или иной параметр невозможно изменить через пользовательский интерфейс.

Зачастую, выход кроется в редактировании системного реестра Windows , с помощью которого можно воздействовать на огромное количество настроек операционной системы.
Ниже мы рассмотрим, что такое реестр и как вносить в него изменения. Для удобства разобьём статью на небольшие разделы

Содержание статьи:

Определение и запуск системного реестра Windows

Определений термина реестр Windows можно дать множество, приведём относительно простое и доступное для понимания:

То есть, огромное количество пользовательских и системных настроек ОС отражаются в этой виртуальной среде.

Рассмотрим два основных способа запуска стандартной утилиты редактора реестра:

Запуск редактора реестра при помощи команды Выполнить

  • Запускаем утилиту Выполнить, перейдя в ПускВсе программыСтандартные (в Windows 10 утилита Выполнить находится в каталоге Служебные), либо зажав на клавиатуре клавиши Пуск (на некоторых клавиатурах она отмечается как Win) и R
  • В открывшемся окне вбиваем команду

и жмём на клавишу Enter

Запуск редактора реестра из проводника

  • Переходим в каталог C:Windows
  • Запускаем исполнительный файл regedit.exe

Перед нами откроется окно редактора реестра.

Структура реестра Windows

Отображение информации в реестре имеет определённую структуру.
В правой части окна мы видим разделы и ветки реестра , каждая из которых ещё называется куст реестра , в левой же расположены ключи реестра и их параметры .

Разделы реестра

В каждом разделе реестра отображается заданная ему информация. В современных версиях ОС от компании Microsoft заложены пять разделов:

  • HKEY_CLASSES_ROOT (HKCR) — содержит параметры определения типов файлов и объектов
  • HKEY_CURRENT_USER (HKCU) — настройки текущего пользователя (учётной записи)
  • HKEY_LOCAL_MACHINE (HKLM) — общие настройки компьютера, относящиеся ко всем пользователям
  • HKEY_USERS (HKU) — отображает информацию о пользователях
  • HKEY_CURRENT_CONFIG (HKCC) — отображает параметры оборудования и подключенных устройств компьютера

В ранних версиях ОС Windows присутствовал ещё один раздел:

    • HKEY_DYN_DATA (HKDD) — содержащий динамически изменяемые данные о загрузке процессора, использовании оперативной памяти и прочих текущих параметрах

Типы данных реестра

Ключи реестра в Windows могут быть различных типов, не станем углубляться в особенности каждого из них, рядовому пользователю это знать не обязательно, просто приведём их ниже:

Строковый параметр
Двоичный параметр
Параметр DWORD (32 бита)
Параметр QWORD (64 бита)
Мультистроковый параметр
Расширяемый строковый параметр

Изменить тип данных созданного ключа стандартными средствами нельзя, если ошиблись при создании, надо удалить некорректную запись и внести новый ключ.

Резервное копирование реестра

! Перед редактированием реестра всегда желательно создавать резервную копию изменяемой ветки или раздела

Создание бэкапа реестра


Для создания бэкапа раздела реестра мы воспользуемся функцией экспорта в стандартной утилите regedit.

  1. Запускаем редактор реестра командой regedit из окна Выполнить или запуском одноимённого исполнительного файла из проводника (способы описаны выше)
  2. Правой кнопкой мыши жмём на нужный раздел и выбираем пункт Экспортировать
  3. В появившемся окне выбираем каталог для сохранения файла бэкапа, вносим имя файла и нажимаем кнопку Сохранить .
Читать еще:  Чекбокс в word

Восстановление реестра из бэкапа

Если по каким-то причинам возникнет необходимость восстановления данных реестра из резервной копии, то нам нужно будет только запустить файл бэкапа с расширением *.reg и согласиться на внесение изменений в реестр .

Удаление записей из системного реестра Windows

В первую очередь отметим, что некоторые ключи имеют дефолтные значения . Это значит, что даже если конкретный ключ отсутствует в своей ветке, система будет вести себя, будто ему присвоен параметр по умолчанию.

Отсюда можно сделать вывод, что процесс редактирования реестра делится на несколько типов:

  • изменение параметров существующих ключей;
  • добавление ключей в реестр с присвоением им нужного значения;
  • удаление из реестра лишних ключей или даже кустов.

Сразу пройдёмся по последнему пункту, касаемо удаления записей из реестра.
Чаще всего это бывает нужно после удаления софта для чистки хвостов. Дело в том, что некоторые программы, работающие в Windows среде, при установке и в процессе работы активно взаимодействуют с реестром системы, добавляя туда записи с технической информацией. Но при деинсталляции затираются в реестре далеко не все строки. Частично эту проблему решают программы uninstaller-ы от сторонних разработчиков, но встречаются и случаи, требующие ручного вмешательства.

После всего вышесказанного у кого-то может возникнуть резонный вопрос: зачем вообще чистить реестр от ненужных записей?
Ответ прост: во-первых, иногда оставшиеся записи в реестре после удаления программы мешают повторной установке того же софта; во-вторых, записи реестра хранятся в файлах большого объёма, увеличение которого негативно сказывается на фрагментации жесткого диска и отзывчивости системы.

Ещё одной причиной для чистки реестра может послужить обнаружение в нём записей о вредоносных программах. Такими зловредами могут быть и баннерные вирусы, и трояны, и рекламные ссылки, терроризирующие пользователя постоянным запуском заданных web-страниц в браузере. О способах избавления от последних, кстати говоря, мы писали в соответствующей статье: Стартовая страница браузера. Решение проблем

Добавление и изменение параметров ключей в реестре Windows

Мы уже рассматривали пример настроек параметров Windows через добавление записей реестра в статьях Открытие проводника Windows 10 на закладке Этот компьютер и Автозагрузка. Добавление приложений в автозагрузку Windows.

Давайте посмотрим, каким образом можно изменить параметр существующего ключа. Для примера произведём отключение контроля UAC через реестр ( User Account Control — контроль учётных записей).

Запускаем редактор реестра Windows.

Далее, в левой части окна переходим к ветке

Теперь в правой части окна находим ключ EnableLUA и кликаем по нему двойным щелчком мышки.
В поле Значение меня 1 на и нажимаем кнопку OK

Теперь при запуске программ, требующих дополнительные разрешения, окно контроля учётных записей UAC появляться не будет.

На этом закончим знакомство с системным реестром Windows.
В статье Создание reg-файлов. Синтаксис записей реестра мы подробнее рассмотрим тему о том, как создавать reg-файлы для автоматизации работы с реестром, чтобы не править нужные параметры вручную. О том же, как работать с реестром из командной строки, мы поговорим в рамках отдельной публикации Редактирование реестра Windows из командной строки, bat-файлы

Что такое реестр Windows и как его редактировать?

Реестр Windows на первый взгляд может показаться страшным местом. Здесь опытные пользователи могут изменять некоторые настройки Windows, в том числе и скрытые. Зачастую, когда вы ищите способ решить какую-то проблему, то можете найти статью, в которой вас попросят изменить что-нибудь в реестре.

Если вам необходимо что-то отредактировать – не стоит волноваться. Вносить изменения в реестр довольно легко, но только если вы знаете, что изменяете. Вы должны быть осторожны редактируя реестр Windows, поскольку иначе можно вызвать непредвиденные проблемы.

Что такое реестр Windows?

Реестр Windows – это база данных, которая хранит в себе самые разнообразные параметры конфигурации. Почти все параметры Windows хранятся здесь. Сторонние программы также могут использовать реестр для хранения собственных настроек, хотя они также могут использовать для этого файлы конфигурации – выбор остается за каждой из программ.

Множество параметров, представленных в реестре более нигде не доступны в Windows. Существую множество продвинутых настроек, которые вы не сможете изменить без редактирования реестра. Некоторые из них доступны через изменение групповой политики, однако такой редактор есть только в профессиональной редакции Windows. Если вы используете обычную версию, то редактирование реестра – это скорее всего единственный способ изменить эти настройки.

Стоит отметить, что редактор реестра Windows представляет собой лишь графическую оболочку для просмотра и изменения реестра.

Как открыть редактор реестра

Тем не менее если вы удаляете или редактируете ключи реестра, то вы можете нарушить работоспособность всей системы. В некоторых случаях сможет помочь лишь полная переустановка Windows, хотя иногда существует возможность сбросить настройки реестра.

Для того чтобы запустить редактор реестра Windows, просто откройте меню Пуск и выполните поиск по его названию или имени regedit.

Как редактировать реестр Windows?

Если вы знаете точное значение, которое необходимо изменить, то перейти к нему можно либо используя древо реестра в левой части или напрямую указать расположение в адресной строке. К примеру, для того чтобы посмотреть список автозагрузки системы перейдите по следующему адресу:

Дополнительно вы можете воспользоваться функцией поиска. Нажмите CTRL+F и введите искомый раздел, ключ или параметр. В случае если поиск не выдал требуемых результатов, следует вернуться к просмотру вручную. Для редактирования параметра просто щёлкните по нему дважды левой клавишей мыши. В появившемся окне измените значение и сохраните его нажав Ok.

Как создать новый параметр реестра

Иногда вам может потребоваться создать новый параметр реестра. К примеру, если требуемое значение, которое вы хотите изменить отсутствует, то вы можете просто создать его. Для того, чтобы новый параметр заработал, необходимо убедиться, что вы создаете его в соответствующей папке. В противном случае изменения не будут применены или даже могут негативно сказаться на работе всей системы.

Сперва убедитесь, что у вас открыть правильный раздел редактора реестра. Затем щелкните правой клавишей мыши в свободном поле, в правой части редактора, выберите пункт Создать > и укажите требуемый параметр. Введите имя и задайте значение. Звучит немного расплывчато? Возможно, но это только потому что в каждом конкретном случае вы будете создавать вполне определенные параметры, в соответствии с инструкцией.

Как экспортировать и импортировать файлы реестра Windows

Экспорт

Вы можете создавать собственные .reg файлы, чтобы сохранять резервные копии определенных областей. Резервное копирование – это всегда хорошая идея, особенно при редактировании реестра. Вы можете экспортировать как отдельные параметры, так и целые разделы. Для того чтобы сохранить копию раздела, щелкните по нему правой клавишей мыши и выберете пункт Экспортировать. Затем укажите имя файла и каталог для сохранения.

Импорт

Щелкнув дважды по файлу .reg вы можете добавить его содержимое в реестр системы. Это упрощает процесс применения различных настроек. Вместо того, чтобы искать и редактировать каждое значение вручную, открытие .reg файла применит все настройки в автоматическом режиме. После внесения изменений в реестр, чаще всего необходимо перезагрузить компьютер, чтобы настройки вступили в силу.

Вы также можете скачать разнообразные .reg файлы в сети, однако не стоит бездумно применять их. Вредоносные файлы реестра могут целиком обрушить вашу систему. Перед открытием .reg файла щелкните по нему правой клавишей мыши и выберете пункт Изменить. Файл будет открыт в блокноте, и вы сможете просмотреть его содержимое.

Конечно сложно сразу разобраться какие именно значения будут изменены и для чего. Поэтому чтобы убедиться в безопасности файла, лучше всего поискать изменяемые значения в интернете.

Три полезных параметра реестра Windows

В интернете вы можете найти уйму советов по изменению настроек Windows. Вот несколько для начала.

Переключение на последнее активное окно при помощи панели задач

Если у вас открыто несколько окон одного приложения, то при его выборе на панели задач у вас отобразятся миниатюры обоих окон. Для того чтобы перейти сразу к последней активной копии следует открыть следующий раздел реестра:

Читать еще:  Net use user password

Здесь создайте новый Параметр DWORD (32 бита) с именем LastActiveClick и значением « 1 ».

Удаление кнопки OneDrive из проводника Windows

Не пользуетесь облачным хранилищем OneDrive? Мы тоже, и нас довольно сильно раздражает лишняя кнопка в проводнике. К счастью, ее можно убрать, воспользовавшись редактором реестра. Перейдите в раздел:

Откройте параметр System.IsPinnedToNameSpaceTree и установите значение « ».

Изменение интервала между значками на рабочем столе

Возможно у вас скопилось слишком много значков на рабочем столе, и вы хотите уменьшить расстояние между ними или вам просто хочется разнообразить внешний вид системы. В реестре есть параметры и для этого. В редакторе реестра откройте следующий раздел:

Вам необходимо отредактировать два параметра в правой части редактора. Параметр IconSpacing отвечает за горизонтальный интервал между значками, а IconVerticalSpacing за вертикальный.

Редактировать реестр действительно так легко?

Вносить изменения в реестр легко, пока вы делаете это не спеша. Не открывайте неизвестные .reg, скачанные из интернета без проверки, не изменяйте параметры, которые не понимаете и всегда создавайте резервные копии, перед применением изменений.

Не забудьте подписаться и поставить лайк. Впереди будет еще много крутых статей.

Как редактировать реестр Windows

Многим известно, что системный реестр Windows предоставляет широкие возможности по настройке этой операционной системы.

В этой статье, ориентированной на неопытных пользователей, речь пойдет о том, как и что именно можно настроить с его помощью.

Что такое реестр Windows. Структура реестра Windows

Читатели, имеющие опыт редактирования реестра Windows, могут сразу перейти к просмотру описания конкретных параметров системы и ключей системного реестра, с помощью которых их можно изменить (внизу страницы). Если такого опыта у Вас нет, читайте все попорядку.

Реестр Windows — очень важная часть операционной системы, в которой хранится вся информация о параметрах программного обеспечения и порядке его взаимодействия с составными частями компьютера. Поэтому путем редактирования реестра можно существенно изменить настройки ПК в нужном пользователю направлении. Этот способ предоставляет возможность вносить более существенные коррективы в систему, чем при помощи стандартных средств Windows.

Windows автоматически присваивает всем создаваемым ярлыкам название «Ярлык для + имя файла-оригинала». А если в реестре найти двоичный параметр с названием «link», (в разделе «HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrentVersionExplorer»), и изменить его значение с «1b 00 00 00» на «00 00 00 00», приставка «Ярлык для» к названию ярлыков больше додаваться не будет.

Неопытным пользователям этот пример, наверное, покажется чем-то сложным и непонятным. Но это только на первый взгляд. На самом деле, РЕДАКТИРОВАТЬ РЕЕСТР WINDOWS ОЧЕНЬ ЛЕГКО. Просто, внимательно прочтите эту статью. Уверен, правильно редактировать реестр может любой пользователь.

Структура реестра Windows строго иерархична и имеет четкое построение. Основная его составная часть – это ключи (или параметры), в которых и хранится вся информация (в нашем примере это ключ с названием «link»). Каждый параметр реестра Windows отвечает за определенное свойство системы. Ключи с данными о смежных настройках компьютера объединены в разделы, которые, в свою очередь, являются подразделами более крупных разделов и т.д. Параметры (ключи) реестра бывают нескольких видов (параметры DWORD, QWORD, двоичные, строковые и многострочные параметры и др.) в зависимости от сведений, которые в них содержатся. Информацию с этих ключей Windows считывает главным образом во время запуска, поэтому для того чтобы внесенные в реестр Windows изменения вступили в силу, нужно перезагрузить компьютер.

Редактировать реестр можно через редактор реестра или при помощи твиков реестра.

Как работать в редакторе реестра Windows

Чтобы открыть редактор реестра Windows нужно нажать на клавиатуре кнопку «Windows» (обычно с изображением окошка, находится в нижнем ряду, слева, между кнопками Ctrl и Alt) и, удерживая ее, нажать кнопку «R» («К» в русской раскладке). Появится окно запуска программ. В нем нужно написать regedit и нажать кнопку «ОК».

Навигация в редакторе реестра Windows. Редактор реестра Windows состоит из двух окон. В левом окне отображается структура разделов реестра (проводник), в правом – параметры (ключи) реестра, содержащиеся в просматриваемом разделе. Если в левом окне редактора выделить определенный раздел (щелкнуть по нему мышкой), в правом окне будет отображаться список параметров, которые в нем содержатся.

Чтобы стало понятно, давайте вернемся к нашему примеру: откроем редактор реестра и попробуем найти двоичный параметр с названием link в разделе HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer . Для этого в левой части редактора двойным кликом мышки сначала открываем раздел HKEY_CURRENT_USER. Под ним появится список содержащихся в нем подразделов. Среди них находим и открываем раздел Software, в нем – раздел Microsoft и т.д. Когда доберемся до раздела Explorer и выделим его (щелчком мыши), в правом окне редактора появится список параметров, среди которых будет и параметр с названием «link».

Чтобы изменить значение параметра реестра Windows, нужно дважды щелкнуть по нему левой кнопкой мыши. Откроется окошко изменения параметра. В нем в поле «значение» нужно внести необходимые коррективы и нажать кнопку «ОК».

Создание нового параметра в реестре Windows. Сначала в левом окне редактора (проводнике) проходим к разделу, в котором нужно создать параметр, и выделяем его. Затем в правом окне щелкаем правой кнопкой мыши по пустому месту (не по параметрам, которые там есть) и в появившемся меню «создать» выбираем соответствующий вид создаваемого параметра. В списке появится новый параметр. Щелкаем по нему правой кнопкой мыши, выбираем «Переименовать», даем ему нужное название. Затем указанным в предыдущем пункте способом задаем ему необходимое значение.

Чтобы удалить параметр из реестра Windows, нужно щелкнуть по нему правой кнопкой мыши и выбрать «удалить».

Твики реестра Windows

Твики реестра Windows (англ. tweaks — настройки) — это настройки программного обеспечения и операционной системы, хранящиеся в системном реестре. Твики реестра реализуются при помощи REG-файлов — файлов, которые при их запуске автоматически вносят необходимые изменения в системный реестр Windows. Результат такой же, как и при ручном редактировании реестра через редактор. Нужные REG-файлы можно создавать самостоятельно или же использовать уже готовые, созданные другими пользователями. При этом, REG-файл может изменять как один параметр реестра, так и целые их группы (все зависит от того, что в нем прописать).

По сути, REG-файл – это самый обычный текстовый файл с расширением .reg . Чтобы все стало ясно, откройте текстовый редактор «Блокнот» (пройдите «Пуск»- «Все программы»- «Стандартные»- «Блокнот») и в любом месте сохраните пустой файл 1111 с расширением reg. Для этого в блокноте нужно зайти в меню «Файл», выбрать «Сохранить как», в окне «Имя файла» указать 1111.reg и нажать кнопку «сохранить» (см. изображение справа, щелкните по нему мышкой для увеличения).

Имя файла может быть любым, название 1111 взято только для примера. Главное, чтобы расширение было reg и обязательно через точку от названия (без пробелов). Теперь если сделать двойной щелчек мышки по сохраненному файлу, компьютер «спросит», действительно ли нужно добавить информацию из него в реестр. Если даже нажать на кнопку «да», никакие данные в реестр Windows добавлены не будут, поскольку наш REG-файл пока не содержит никакой информации. Для того, чтобы файл действительно работал, перед сохранением в него нужно внести определенные данные. Обратите внимание, что данные эти должны иметь строго определенную структуру. В противном случае, REG-файл по-прежнему работать не будет.

Если взять наш пример, то REG-файл, отключающий приставку «Ярлык для» в названии ярлыков, будет иметь следующий вид:

Windows Registry Editor Version 5.00

Давайте разберемся, что к чему.

В первой строке файла указывается информация о том, для редактирования какой версии Windows он предназначается. Если это Windows 98 или Windows NT, то в первой строке вписываем «REGEDIT4». Для более поздних версий Windows (2000, XP, 7 и др.) – «Windows Registry Editor Version 5.00» (без кавычек, точно как указано — со всеми пробелами, большими буквами и т.д.). Ничего больше в этой строке быть не должно.

Читать еще:  Диалоговое окно абзац в word

Вторая строка обязательно должна быть пустой.

В третьей строке в квадратных скобках […] прописывается ветка (раздел) реестра, в которой находятся изменяемые параметры.

В четвертой и последующих строках прописываются изменяемые ключи, которые находятся в указанном разделе, а также проводимые с ними действия (каждый изменяемый параметр в отдельной строке).

Формат этих строк зависит от вида изменяемых ключей:

Дневники чайника. Чтива 0, виток0

Пятый день.
О словах и двойных словах
(форматы данных)

Не сказать чтоб эта тема была самая сложная, но то, что она самая запутанная — это 100%.

То, что я здесь напишу, довольно туго для восприятия, однако со временем всё уляжется. Не расстраивайтесь, если вдруг в этой главе покажется, что Ассемблер очень сложный, вспомните о таком фокусе.

Не каждый водитель знает, что для того, чтоб машина ехала вперёд, колесо в точке соприкосновения с дорогой должно двигаться назад. Хотя такая информация была сообщена каждому водителю и каждому человеку. Ну, едет машина и едет, какая разница, куда крутятся колёса. Это нужно знать только при смене колёс, чтоб не перепутать направленность резины, или во время ремонта.

Примерно такая же информация будет изложена в этой главе. На практике всё быстро усвоится, если вам придется сталкиваться с машинным кодом и данными.

Матрос, ты должен знать своего друга (со стороны потенциального противника) лучше, чем себя.

Бинарники организуются в отряды по восемь, эти отряды называются байтами. Запомнил?

Байт — это минимальная расчетная единица бинарной армии. Запомнил?

2 байта организуются в слово (word).

4 байта организуются в двойное слово (dword, а пОлно — double word).

Dword — это самый распространённый набор битов в Win32-программах. Так как:

В предыдущей программе мы столкнулись вот с такой строкой:

«d,» здесь как раз и заменяет dword.

Я объяснил, что когда операнд находится в квадратных скобках, при команде mov это означает, что нужно производить действие по адресу в памяти, указанному операндом. То есть в BX раньше должен быть положен адрес. В ходе выполнения этой строки BX не изменяется, изменится только память по адресу, указанному BX. Размер изменяемой памяти dword (4 байта, двойное слово).

Остаётся маленький такой вопросик: почему в дизассемблере байты операндов команд процессора мы видим зеркально значениям операндов в командах Асма?

Запомни, матрос, Бинарники очень хитрые. Для того, чтоб их враг путал байты по старшинству, в каждой целой боевой единице, будь то word (2 байта), dword (4 байта), qword (8 байт), байты строятся от младшего к старшему, черт их дери!

Адрес, который был указан в BX, равен 0133h.

А действие выглядит так:

В отладчике вы видели это вот так:

Мы пишем и читаем текст по-европейски — слева направо. Но для чисел большинство людей использует арабскую запись — справа налево (хотя читаем числа тупо от старшей цифры =).

К великому огорчению, программистами был принят смешанный формат отображения данных. Каждый байт отображается по арабской системе, а целая группа байтов — по европейской. Выходит, что на экране мы видим разную запись. Если программа-дизассемблер или отладчик воспринимают группы байтов как ЦЕЛОЕ число, то оно отображается арабской записью, как в колонке команд Ассемблера: 04 03 02 01, а если речь идёт просто о нескольких байтах, то мы видим европейскую запись, только за букву принят целый байт, что и показано выше: 01 02 03 04. Всё это лишь вопрос отображения на экране или в документах. Например, если использовать запись цифровых значений от нижнего правого угла экрана до верхнего левого (справа налево, снизу вверх), то вообще ничего переворачивать не нужно! То есть если бы была принята запись «справа налево всё» или «слева направо всё», то подобных проблем не было бы вообще.

Допустим, мы набрали вот такую строку:

Здесь мы указали, что размер данных word (2 байта) и эти данные будут помещены в память по адресу 800h.

Объясню сейчас коротко.

Раз мы имеем заданный размер word (или как в Hiew’е «w,»), мы имеем некое ЦЕЛОЕ.

Младший байт (у нас AA) будет находиться по наименьшему адресу, а старший байт (BB) — по более старшему адресу.

Вот как эта строка будет выглядеть в Hiew’e:

В колонке операндов — так, как мы вводили (число BBAAh). А вот в колонке байтов мы видим зеркальное расположение байтов операндов — 00 08, AA BB.

И точно так же устроены dword. Допустим:

Вопрос, который наверняка возник у всех (и я предполагаю, что у многих в нецензурной форме): «На. в смысле зачем?»

Это нужно для того, чтобы процессор забирал байты из памяти, начиная с младшего (так быстрее вычислять). Ведь получается, что адрес числовой переменной любого размера, хоть word, хоть dword, будет указывать на младший байт в числе, далее пойдёт следующий байт в числе, и самый старший байт в числе всегда окажется в конце. Вычислять процессору так значительно быстрее.

Я думаю, что многие читатели совсем запутались, тут есть только одно утешение: перекладывать байты в голове совсем не нужно. Чтобы получить целое число из байтов или, наоборот, из числа сложить байты, достаточно переключить режим отображения в программе. Мало того, при простом программировании можно забыть об этих премудростях и вспоминать лишь изредка.

Всё, из теории остались только циклы и стек, о них мы будем говорить завтра.

Матрос! Я что-то не заметил, чтоб ты разрабатывал кнопку F10!

Если ты хочешь стать капитаном собственного корабля, пусть даже и без гипердвигателя, ты должен отлаживать и отлаживать.

Послезавтра я увижу своё отражение в F10-key у тебя на клавиатуре или я высажу тебя на ближайшей заброшенной планете.

А чтоб было веселей давить на кнопку F10, загони в отладчик следующую программу (prax03.com).

Набивайте всё сами, только так можно научиться.

В Hiew’e она должна выглядеть так:

Но это не всё, теперь переключитесь на Hex-режим (F4) и добейте программу следующими байтами после всего кода. Это будут «данные».

На самом деле все эти пробелы (20h) программе НЕ нужны. Но когда вы будете смотреть программу в отладчике, они вам помогут.

Если у вас будет сдвиг хоть на байт, программа будет ошибочной. Поэтому проверьте, чтобы строка «-=Асм=-$» начиналась с 50h и, что ещё более важно, два нулевых байта (00 00) должны быть в файле по адресам 75 и 76h. Обязательно посмотрите в отладчике, что будет происходить с этими байтами (там они будут 175h и 176h). Всё остальное здесь мишура и для выполнения программы совершенно не имеет значения.

При отладке могут появляться сообщения насчёт экрана. ну и фиг с ними. Если в CV опция Screen Swap ещё не выключена, то это обязательно нужно сделать.

Результат действия этой программы — вывод строк по диагонали от верхнего левого угла до нижнего правого угла.

Здесь очень много нового, и я надеюсь, вам будет интересно узнать, как работают новые команды CMP и JNE.

Попробуйте сами разобраться, что происходит в программе на практике. Как я уже писал, прерываний (команда int) при написании программ Win32 мы использовать не будем. Поэтому можете не заострять на них внимание. Достаточно знать, что это полезные подпрограммы, часть которых заложена ещё в BIOS (basic input/output system — базовая система ввода/вывода).

Я вынужден их использовать только для того, чтобы программа была полноценная и вы могли наглядно изучать главные команды Ассемблера.

В данном примере будут задействованы int 10h для очистки экрана (AL=3) и для расположения курсора текста (AH=2). Ну и int 21h для вывода текста на экран. Всё, других прерываний в уроках больше не будет. О них за долгие годы написано достаточно.

Вот как программа должна трактоваться (сразу скажу — про метки я всё объясню позже).

Перед разбором этой программы я хочу рассказать о ключевом понятии в программировании — циклы.

Ссылка на основную публикацию
Adblock
detector