Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Dti ends
DT2 SEGMENT /программный сегмент DT2 С DB 'hello1 DT2 ENDS CODE SEGMENT;программный сегмент CODE ASSUME CS:CODE, DS:DT1, ES:DT2 BEG: MOV AX,DT2 MOV DS,AX MOV BH,C CODE ENDS END BEG;конец текста программы Предложения программного сегмента ассемблер размещает в од- Ном сегменте памяти (в совокупности они не должны занимать бо- Лее 64 Кб) начиная с ближайшего свободного адреса, кратного 16. Номер (первые 16 битов начального адреса) этого сегмента стано- Вится значением имени сегмента. В MASM это имя относится к кон- Стантным, а не к адресным выражениям, в связи с чем в команде MOV AX,DT2 Второй операнд является непосредственным, поэтому в регистр АХ Будет записано начало (номер) сегмента DT2, а не содержимое на- Чальной ячейки этого сегмента. Режимы процессора. Система команд процессоров 180x86... 399 Имена же переменных (А, в, с) и метки (BEG) относятся к ад- Ресным выражениям, и им ставится в соответствие адрес их ячейки относительно ≪своего≫ сегмента: Имени А соответствует адрес 0; Имени в —адрес 1; Имени с —адрес 0, а метке BEG —адрес 0. Все ссылки на предложения одного программного сегмента ас- Семблер сегментирует (по умолчанию) по одному и тому же сегмент- Ному регистру. По какому именно —устанавливается специальной Директивой ASSUME. В нашем примере эта директива определяет, что Все ссылки на сегмент CODE должны (если явно не указан сегмент- Ный регистр) сегментироваться по регистру CS, все ссылки на DT1 — по регистру DS, а все ссылки на DT2 —по регистру ES. Встретив в тексте программы ссылку на какое-либо имя (напри- Мер, на имя с в команде MOV AX, с), ассемблер определяет, в каком Программном сегменте оно описано (у нас — в DT2), затем по ин- Формации из директивы ASSUME узнает, какой сегментный регистр Поставлен в соответствие этому сегменту (у нас —это ES), и далее Date: 2015-11-13; view: 380; Нарушение авторских прав |