Реферат: Виды компьютерной памяти
сегмента выделены для программы и для данных. Для указания базового адреса
программного или кодового сегмента используется регистр DC. Еще одна область
памяти, используемая для специальных целей, называется стеком, и ее адрес
указывается регистром стека SS. Для обеспечения дополнительных возможностей
адресации имеется регистр дополнительного сегмента (или сегмента расширения),
ES.
Когда программа подготавливается к выполнению, операционная система, такая как
DOS, выбирает ячейки каких разделов будут использоваться для размещения кодовой
части программ, данных и стека в регистры сегментов CS, DS и SS заносятся адреса
этих ячеек. При выполнении программы адреса в этих регистрах позволяют находить
нужные ячейки памяти.
DOS и языковые процессоры используют программные соглашения, которые позволяют
увеличить объем программ практически неограниченно, в то время как их адресуемая
область данных ограничена 64К. Вы легко заметите это ограничение, работая с
Паскалем или компилятором Бейсика. Для "встроенного" интерпретатора Бейсика для
IBM/PC собственно выполняемой программой является сам интерпретатор, а то, что
мы считаем своей программой, на Бейсике фактически является частью данных
интерпретатора. Таким образом, для интерпретатора Бейсика суммарный объем
кодовой части и данных Вашей программы не должен превышать 64К, которые
позволяет адресовать регистр данных DS.
Как Бейсик, так и Паскаль, лишь до определенной степени позволяют манипулировать
сегментированными адресами. Вы можете непосредственно изменять содержимое
регистров CS, DS, SS и ES - языковой процессор должен управлять этими
регистрами, иначе все может совершенно запутаться. Однако, определенный способ
использования в программах сегментированной адресации все же имеется.
Паскаль разрешает использование сегментированной адресации, правда, в более
унифицированном и гибком виде, чем Бейсик. На Паскале можно определить
переменную как сегментированный адрес, например:
Var пример_адреса : adasmem,