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.
© OSzone.net 2001-