Последние публикации
стили и дизайн Что выгоднее: покупать горячую воду или ..
17-03-2014
секрет успеха Профессия: риэлтор
25-12-2013
разное Мегаталантливый Мэрилин Мэнсон
25-12-2013
рыбалка и охота баллистический маятник
12-07-2013
Название
Автор
Рубрика

Анекдот
- Мама, можно мне пописать?
- А ты уроки сделал?
компьютерные технологии
Язык Макроассемблера IBM PC
В пособии рассматривается язык макроассеблера для персональных ЭВМ типа IBM PC (язык MASM, версия 4.0) .

стремится к экономии памяти и знает заранее, что переход вперед будет на близкую метку, то он должен сообщить об этом ассемблеру, чтобы тот сформировал команду короткого перехода. Такое указание делается с помощью оператора SHORT: JMP SHORT L Для переходов назад оператор SHORT не нужен: уже зная адрес метки, ассемблер сам определит вид команды относительного перехода.


3) Внутрисегментный абсолютный косвенный переход.


JMP r16 (IP: =[r]) или JMP m16 (IP: =[m16]) Здесь r16 обозначает любой 16-битовый регистр общего назначения, а m16 - адрес слова памяти. В этом регистре (слове памяти) должен находиться адрес, по которому и будет произведен переход. Например, по команде JMP BX осушествляется переход по адресу, находящемуся в регистре BX.


4) Межсегментный абсолютный прямой переход.


JMP seg: ofs (CS: =seg, IP: =ofs) Здесь seg - начало (первые 16 битов начального адреса) некоторого сегмента памяти, а ofs - смещение в этом сегменте. Пара seg: ofs определяет абсолютный адрес, по которому делается переход. В MASM эта пара всегда задается конструкцией FAR PTR , которая "говорит", что надо сделать переход по указанной метке, причем эта метка - "дальняя", из другого сегмента. Отметим, что ассемблер сам определяет, какой это сегмент, и сам подставляет в машинную команду его начало, т.е. seg.


5) Межсегментный абсолютный косвенный переход.


JMP m32 (CS: =[m32+2], IP: =[m32]) Здесь под m32 понимается адрес двойного слова памяти, в котором находится пара seg: ofs, задающая абсолютный адрес, по которому данная команда должна выполнить переход. Напомним, что в ПК величины размером в двойное слово хранятся в "перевернутом" виде, поэтому смещение ofs находится в первом слове двойного слова m32, а смещение seg - во втором слове (по адресу m32+2) .


Команды межсегментного перехода используются тогда, когда команды программы размещены не в одном сегменте памяти, а в нескольких (например, команд столь много, что в совокупности они занимают более 64Кб, т.е. более максимального размера сегмента памяти) . При переходе из одного такого сегмента в другой необходимо менять не только счетчик команд IP, но и



Дата публикации: 15-06-2007
Прочитано: 7646 раз
Страниц: 28
-20-
[<][ 1 | ... | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 ][>]

Дополнительно на данную тему
Компьютерные сети и телекоммуникации
Корпоративная сеть
Корпоративные ЛВС
Компьютерные сети
Turbo Vision
   
Рейтинг@Mail.ru
ENQ.ru © 2005-2012
Генерация страницы: 0.320 сек. и
11 запросов к базе данных за 0.004 сек.
Designed by ZmEi