Оператор Segment
Решить проблему адресации сегментов поможет ассемблер. В одной из
своих частей программа на языке ассемблера должна определить
составляющие ее сегменты. Кроме того специальные команды сообщают
ассемблеру, какие сегменты с каким регистром связаны. Благодаря
этому ассемблер может, когда требуется, определить какой сегментный
префикс нужен в коде команды. Если программист задает ссылку, не
связанную с регистром DS, но доступную через другой сегментный
регистр, то ассемблер сам сформирует правильный префикс. Это
позволяет программисту работать непосредственно с данными и текстом
программы, оставив ассемблеру работу по осуществлению адресации.
Объявление сегментов позволяет ассемблеру следить за тем, какие
сегменты доступны через сегментные регистры и определять возможные
ошибки. Например, в программе могут появиться переменные, которые
недоступны из-за того, что на сегмент этой переменной не указывает
ни один из сегментных регистров. Ассемблер квалифицирует это как
Microsoft (R) Macro Assembler Version 5.00 1/1/80 03:53:05
Фиг. 3.9 Сегменты Page 1-1
PAGE ,132
TITLE Фиг. 3.9 Сегменты
0000 DATA SEGMENT
0000 01 VAR1 DB 1 ; Переменная в сегменте DATA
0001 DATA ENDS
0000 BUFFER SEGMENT
0000 02 VAR2 DB 2 ; Переменная в сегменте BUFFER
0001 BUFFER ENDS
0000 CODE SEGMENT
0000 03 VAR3 DB 3 ; Переменная в сегменте CODE
ASSUME CS:CODE, DS:DATA, ES:BUFFER
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий