Реферат Курсовая Конспект
NOP ; команда, чем опкод мы хотим загрузить в AL - раздел Программирование, Архитектура x86-64 под скальпелем ассемблерщика Листинг 4 Загрузка Опкода Следующей Машинной Команды На X86-64 Кррра...
|
Листинг 4 загрузка опкода следующей машинной команды на x86-64
Крррасота! Только следует помнить, что RIP всегда указывает на следующую, а отнюдь не текущую инструкцию! К сожалению, ни Jx RIP, ни CALL RIP не работают. Таких команд в лексиконе x86-64 просто нет. Но это еще что! Исчезла абсолютная адресация, а это гораздо хужее. Если нам надо изменить содержимое ячейки памяти по конкретному адресу, на x86 мы поступаем приблизительно так:
dec byte ptr [666h] ; уменьшить содержимое байта по адресу 666h на единицу
Листинг 5 абсолютная адресация в классическом x86
Под x86-64 транслятор выдает ошибку ассемблирования, вынуждая нас прибегать к фиктивному базированию:
xor r9, r9 ; обнулить регистр r9
dec byte ptr [r9+666h] ; уменьшить содержимое байта по адресу 0+666h на единицу
Листинг 6 использование фиктивного базирования на x86-64 для абсолютной адресации
Есть и другие отличия от x86, но они не столь принципиальны. Важно то, что в режиме совместимости с x86 (Legacy Mode) ни 64-битные регистры, ни новые методы адресации недоступны! Никакими средствами (включая черную и белую магию) дотянуться до них нельзя и прежде чем что-то сделать, необходимо перевести процессор в "длинный" режим (long mode), который делиться на два под-режима: режим совместимости с x86 (compatibility mode) и 64-битный режим (64-bit mode). Режим совместимости предусмотрен только для того, чтобы 64-разрядная операционная система могла выполнять старые 32-битные приложения. Никакие 64-битные регистры здесь и не ночевали, поэтому нам этот режим фиолетов как заяц.
Реальная 64-битность обитает только в 64-bit long mode, о котором мы и будем говорить!
Таблица 1 режимы работы процессора AMD-64 и их особенности
– Конец работы –
Эта тема принадлежит разделу:
На сайте allrefs.net читайте: "Архитектура x86-64 под скальпелем ассемблерщика"
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: NOP ; команда, чем опкод мы хотим загрузить в AL
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов