![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 16.12.2015
Сообщений: 3
|
![]()
Доброго времени суток!
![]() Недавно начал самостоятельно изучать ассемблер и все,что с ним связанно,и возникли вопросы : Программа после запуска загружается в оперативную память,затем процессор начинает выполнять эти самые машинные команды. Оперативка,с точки зрения процессора,как я понял, - это просто последовательность байтов,как длинный поезд,где вагоны - это байты? Собственно вопросы ![]() 1) по какому принципу выбирается место в оперативке куда загрузится выполняемая нами программа - на место 5 или 8 вагона(при условии,что оба свободны)? 2) В регистре (E)IP,получается, хранится физический(или логический ![]() Спасибо за помощь! ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
тут бы не помешало указание об ОС.
допустим винда. обычно берется первый свободный вагон.(она же страница памяти) насчет оптимизаций на тему что поискать кусок именно нужного места(несколько вагонов подряд), но я тут хз. второе же EIP показывает логический адрес, то есть адрес внутри ваших вагонов, в чужие вагоны просто так вам не войти. причем если вагоны не подряд, то адреса все равно выглядят так словно они рядом. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 16.12.2015
Сообщений: 3
|
![]()
Спасибо за ответ!
То есть,если грубо говоря наша программа - это,условно,10 машинных команд, при загрузке в оперативку, эти 10 команд могут раскидаться как угодно(а не по порядочку) ,но адреса все равно будут выглядеть как будто они рядом? А есть ли смысл раскидывать их,если есть возможность сложить по по порядочку - в 3,4,5 вагоны-байты (условно)? Чужие вагоны Вы имеете ввиду - другие программы,уже загруженные в оперативку? |
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,828
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#5 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
а байт это номер места в вагоне. вагоны цепляются в произвольном порядке, а места в вагоне заданы жестко. общий номер байта = номер вагона * число мест + номер места в вагоне. при страничной организации памяти Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
![]() |
![]() |
![]() |
#7 |
Новичок
Джуниор
Регистрация: 16.12.2015
Сообщений: 3
|
![]()
Спасибо всем за ответы!
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отображение файла в оперативную память | rostik123 | Win Api | 1 | 06.11.2012 04:59 |
Отображение файла в оперативную память | rostik123 | Общие вопросы C/C++ | 3 | 29.10.2012 20:02 |
Картинку в оперативную память | MORPEH | Мультимедиа в Delphi | 1 | 12.03.2012 01:35 |
Узнаем оперативную память и объем диска | bigory | Общие вопросы по Java, Java SE, Kotlin | 4 | 19.09.2010 11:14 |
Как чистить оперативную память??? | Altera | Операционные системы общие вопросы | 10 | 16.05.2008 14:52 |