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


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Команда JMP





Формат команды: JMP Операнд

В качестве операнда может выступать непосредственный адрес (число) или РОН, или ячейка памяти, содержащие адрес кода программы в памяти, с которого должно продолжиться выполнение программы.

 

Программа, которую выполняет микропроцессор, храниться в оперативной памяти. После компиляции, все команды превращаются в шестнадцатеричные коды, которые последовательно хранятся в памяти. Каждому коду программы соответствует адрес в памяти, так как память микропроцессорных систем можно представить в виде одномерного массива, где каждому элементу массива присвоен номер (адрес). Это прекрасно видно на рисунке 6 в первой его области: первый столбец – адреса ячеек памяти, второй столбец (через пробел от первого) – шестнадцатеричные коды программы, третий столбец – соответствующая кодам из второго столбца мнемоника команд. Команда JMP указывает микропроцессору, начиная с какого адреса следует дальше выполнять команды.

Команда JMP может осуществлять четыре различных типа перехода:

§ переход типа short (короткий переход) – если адрес перехода находиться в пределах -128…+127 байт от команды, следующей за командой JMP;

§ переход типа near (ближний переход) – если адрес перехода находиться в том же сегменте памяти, что и команда JMP;

§ переход типа far (дальний переход) – если адрес перехода находиться в другом сегменте. Дальний переход может выполняться и в тот же самый сегмент при условии, что в сегментной части операнда указано число, совпадающее с текущим значением CS;

§ переход с переключением задачи – передача управления другой задаче в многозадачной среде.

При выполнении перехода типа short и near команда JMP фактически преобразовывает значение регистра EIP, изменяя тем самым смещение следующей исполняемой команды относительно начала сегмента кода. Если операнд – регистр или ячейка памяти, то его значение просто копируется в EIP, как если бы это была команда MOV. Если операнд команды JMP – непосредственно указанное число, то это число воспринимается как число со знаком и его значение суммируется с содержимым EIP, приводя к относительному переходу. В ассемблерных программах в качестве операнда обычно указывают имена меток. Программисту сложно каждый раз вычислять конкретное значение адреса перехода и указывать его в команде. Абсолютно логично возложить это на компилятор. На этапе компиляции вычисляются адреса всех меток и полученные значения записываются во все команды, использующие эти метки, в виде относительного смещения.

 







Date: 2015-10-19; view: 458; Нарушение авторских прав



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