Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   адресация в памяти (http://forum.oszone.net/showthread.php?t=91659)

clop1000 09-10-2007 13:54 656946

адресация в памяти
 
а как в исолняемых программах указан адрес в памяти? смещение?(типа от первого элемента проги 100шагов?)или как то иначе?

dmitryst 09-10-2007 14:14 656953

clop1000, вообще-то, для разных процессоров по-разному. В некоторых надо было грузить программу точно по нужному адресу, в других можно было грузить куда влезет, а потом "перемещающим загрузчиком" двигать её куда надо.

CyberDaemon 09-10-2007 14:23 656964

dmitryst, угу. А еще сами исполняемые файлы разного формата бывают. COM, EXE.... BAT тоже можно считать исполняемой программой.
clop1000, что есть "исполняемая программа"? Файл на диске? Или уже сформированный машинный код в памяти?
А то в таком виде, как ты задал - это вопрос из серии "Какой командой процессора Колобок съедает Чёрта?". :)

dmitryst 09-10-2007 14:26 656969

Цитата:

Цитата CyberDaemon
А еще сами исполняемые файлы разного формата бывают. COM, EXE »

а у "БК-0010" или "Радио-86РК" какие были? :lol:

clop1000 09-10-2007 14:28 656971

если тупо
ввёл в DOS 125.exe
куда это в память пихается?

dmitryst 09-10-2007 14:37 656980

clop1000, в заголовке файла должно быть написано, куда идёт код, а куда - данные (на 86-й архитектуре, на других всё это валится в один кусок памяти)

clop1000 09-10-2007 14:47 656990

дык а если в этом адресе уже прога есть?

dmitryst 09-10-2007 14:58 657001

Цитата:

Цитата clop1000
дык а если в этом адресе уже прога есть? »

- а нафиг её! :). Соответственно, будет фрагментация памяти, что не есть хорошо. В более продвинутых вариантах - в свап (и, соответственно, потом обратно) сваливается ненужная в данный момент программа.

CyberDaemon 09-10-2007 15:48 657036

Цитата:

Цитата dmitryst
а у "БК-0010" или "Радио-86РК" какие были?

Такое не пользовал :) Только х86 архитектуру. А если ты про COM, то у меня в SYSTEM32 у WINXP лежит файлик command.com :)

Цитата:

Цитата clop1000
дык а если в этом адресе уже прога есть?

А нет в этом адресе проги. DOS не позволит - если у него не окажется достаточной области свободной памяти для размещения программы - будешь вежливо послан на "Program too big to fit in memory". Адреса-то в заголовке EXE относительные, а не абсолютные.

dmitryst 09-10-2007 15:51 657039

Цитата:

Цитата CyberDaemon
Только х86 архитектуру. »

хе-хе... А я не только... Вот для калькуляторов еще не программировал :). Вот на БК как раз и было затирание предыдущей программы, адреса там только абсолютные.

CyberDaemon 09-10-2007 16:08 657063

dmitryst, ну программируемые калькуляторы-то я еще застал. Самым навороченный был со встроенным бейсиком - на нем так здорово было на парах в игрухи играть :). А из ПМ у меня были только машинки x86 архитектуры, начиная с советской Электроники-МС1502.

Хотя вру - в школе информатику изучал на зверюге УКНЦ - но в школе ассемблеру не учат, поэтому я не в курсе, как там интерпретатор бейсика работает :) Как, впрочем, и интерпретатор бейсика на x86 :)

dmitryst 09-10-2007 16:29 657079

Цитата:

Цитата CyberDaemon
в школе информатику изучал на зверюге УКНЦ »

- оооооо, это ж святое... Там целых ДВА процессора было! (КР1801ВМ2) - один -ЦП, второй на звуке, SoundBlaster :lol:. БК из той же оперы :)


Время: 03:36.

Время: 03:36.
© OSzone.net 2001-