Показать сообщение отдельно

  #9  
Старый 17.12.2007, 10:43
DWORD
Участник форума
Регистрация: 24.07.2007
Сообщений: 138
Провел на форуме:
165671

Репутация: 215
По умолчанию

Цитата:
В начале, память компьютера может показаться пугающей и непонятной. Но в последствии можно убедиться, что это не какие-то чудеса, и по сути ее можно сравнить с гиганским калькулятором. Это просто байты, хранящиеся во временной памяти, на которые указывают их адреса. Эта память может быть доступна по ее адресам, и каждый байт, имеющий определенный адрес может быть прочитан или записан в нее. Процессор Intel x86 использует 32 битную адресацию, а это значит что может быть 2^32 или 4,294,967,296 возможных адресов.
Существуют также специальные типы переменных, которые называются указатели. Они используются для хранения адресов памяти которые ссылаются на какую либо информацию.
Ничего общего с организацией памяти в Intel x86 написанное не имеет. Не странно что вы находите организацию памяти слишком простой.

Цитата:
EIP - это указатель, который содержит адрес текущей исполняемой инструкции
EIP содержит адрес следущей инструкции после той, что в данный момент времени исполняется.

Цитата:
Другие 32-битные регистры используют EBP (Extended Base Pointer) и ESP (Extended Stack Pointer) указатели
Чего-чего?
Цитата:
Например для данных типа int (integer) нужно 4 байта
Невсегда так. И чем дальше, тем больше будем с этим сталкиваться.

Цитата:
Есть одна важная деталь в памяти процессоров x86. Байты в ней распределяются как 4-байтовые слова. Фактически, это значит, что байты в памяти храняться в инверсии. Например: шестнадцатиричное значение 0x12345678 будет выглядеть в памяти как 0x78563412.
Минимальная адресуемая ячейка 1 байт, думаю это знает сегодня даже человек, далекий от программирования. Что бы значило выше сказанное? Может быть то, что в x86 порядок записи байтов многобайтового числа называется Little Endian? И никакие 4 байта тут непричем.
Цитата:
Так, функция, копирующая строку, скопирует только слово "test", и остановиться на нуль-байте. Тоже самое будет и при выводе строки на экран.
Рекомендую ознакомиться с winapi функцией WriteConsole. Если речь идет про CRT'шные функции, то это надо уточнять.
Цитата:
Это значит, что первое значение помещается в стек, а последнее забирается оттуда.
Это предложение не имеет смысла.