Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Ассемблер вычисляет разность между адресом этой метки и адресом
Команды перехода и по этому сдвигу определяет, какую машинную Команду относительного перехода (короткую или длинную) надо Сформировать. Но если метка еще не встречалась в тексте програм- Мы, т. е. происходит переход вперед, тогда ассемблер, не зная еще Адреса метки, не может определить, какую именно машинную ко- Манду относительного перехода формировать, поэтому он на всякий Случай выбирает команду длинного перехода. Однако эта машинная Команда занимает 3 байта, тогда как команда короткого перехода — 2 байта, и если автор программы на MASM стремится к экономии Памяти и знает заранее, что переход вперед будет на близкую метку, Глава 4. Персональные компьютеры То он должен сообщить об этом ассемблеру, чтобы тот сформировал Команду короткого перехода. Такое указание делается с помощью оператора SHORT: JMP SHORT L Для переходов назад оператор SHORT не нужен: уже зная адрес Метки, ассемблер сам определит вид команды относительного пере- Хода. Внутрисегментный абсолютный косвенный переход. JMP rl6 (IP:=[r]) или JMP m!6 (IP:=[ml6]) Здесь г!6 обозначает любой 16-битовый регистр общего назна- Чения, a ml 6 —адрес слова памяти. В этом регистре (слове памяти) Должен находиться адрес, по которому и будет произведен переход. Например, по команде JMP BX осуществляется переход по адресу, Находящемуся в регистре вх. Межсегментный абсолютный прямой переход. JMP seg:ofs (CS:= seg, IP:= ofs) Здесь seg —начало (первые 16 битов начального адреса) неко- Торого сегмента памяти, a ofs —смещение в этом сегменте. Пара seg:ofs определяет абсолютный адрес, по которому делается пере- ход. В MASM эта пара всегда задается конструкцией FAR PTR <мет- ка>, которая указывает, что надо сделать переход по указанной мет- ке, причем эта метка —≪дальняя≫, из другого сегмента. Отметим, Date: 2015-11-13; view: 491; Нарушение авторских прав |