Применение искинов - шоссе империализма (Стенгазета русификаторов ИТ)

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Применение искинов - шоссе империализма (Стенгазета русификаторов ИТ) » Интел64 » Инструкция со смещением и константой


Инструкция со смещением и константой

Сообщений 1 страница 3 из 3

1

mov    QWORD PTR ds:0x12345678,0x11223344
48 c7 04 25 78 56 34 12 44 33 22 11   

2.1.4 Displacement and Immediate Bytes
Some addressing forms include a displacement immediately following the ModR/M byte (or the SIB byte if one is
present). If a displacement is required, it can be 1, 2, or 4 bytes.
If an instruction specifies an immediate operand, the operand always follows any displacement bytes. An imme-
diate operand can be 1, 2 or 4 bytes.

Не дают сделать что-нибудь 8 байтов, скрывают - как.

0

2

В общем, идея такая:
константа64
константа32
смещение32
адрес64 (не уверен, что так бывает)

movabs rax,0x8899aabbccddeeff
48 b8 ff ee dd cc bb  aa 99 88   

Теперь есть слова, нужна грамматика (синтаксис), для того, чтобы описать возможные варианты инструкции,
и механизм, чтобы инструкцию построить (склеить) из значений битов и полей

Синтаксис определяет, как пишется код, но не определяет, что этот код делает.
Семантика говорит, что код означает. Прагматика - как означает.
Грамматика определяет, что код делает, а не только как он пишется.

Интересно, есть ли такое готовое у самих англоговорящих на их латинице?

Llama 3:

в документе "Intel 64 and IA-32 Architectures Software Developer's Manual" формат инструкций описан с помощью текстовых описаний и таблиц, но не с помощью формальной EBNF-грамматики.

Если вы хотите использовать формальную грамматику для парсинга или генерации инструкций, вам придется создать ее самостоятельно, основываясь на описаниях в документе.

Отредактировано Лис (2024-08-24 04:13:00)

0

3

Llama 3 написал(а):

Однако, есть несколько проектов, которые уже создали формальную грамматику для Intel64, которые можно использовать как основу для вашего проекта. Например:

    Проект "Intel x86 Instruction Set Reference" на сайте GitHub, который предоставляет формальную грамматику для Intel64 в формате EBNF.
    Проект "x86-64 Instruction Set" на сайте GitHub, который предоставляет формальную грамматику для Intel64 в формате ANTLR.
    Проект "Intel x86 Instruction Set" на сайте Bitbucket, который предоставляет формальную грамматику для Intel64 в формате yacc.

Обратите внимание, что эти проекты могут не быть совместимы с документом Intel, и могут иметь некоторые ошибки или неточности.

1997, Ramsey, Specifying Representations of Machine Instructions

Отредактировано Лис (2024-08-24 04:18:53)

0


Вы здесь » Применение искинов - шоссе империализма (Стенгазета русификаторов ИТ) » Интел64 » Инструкция со смещением и константой