Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.004 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию