первый раз задавая вопрос на сайте, поэтому я был бы признателен за любые отзывы об ошибках или улучшениях. Это говорит о моей проблеме.Кодирование и декодирование команд ARM в/из двоичного кода
Задача 1: Создать соответствующее представление ARM ассемблера для следующих инструкций:
11101001_000111000001000000010000
11100100_110100111000000000011001
10010010_111110100100000011111101
11100001_000000010010000011111010
00010001_101011101011011111001100
Задача 2: Написать код инструкции для следующих инструкций:
STMFA R13!, {R1, R3, R5-R11}
LDR R11, [R3, R5, LSL #2]
MOVMI R6, #1536
LDR R1, [R0, #4]!
EORS R3, R5, R10, RRX
У меня нет опыта с этим материал и профессор оставили нам студентов, чтобы высохнуть. В основном я нашел различные методы для декодирования этих инструкций, но у меня есть еще три серьезных сомнения.
Я не имею ни малейшего представления о том, как начать работу на декодирование двоичного кода в ARM Инструкции который является первой частью домашнего задания.
Я не могу найти некоторые из этих суффиксов, например, на EORS, что такое S? Это бит условия установки? Установлено ли оно равным 1, если перед инструкцией имеется S?
Я не могу сделать из нескольких регистров в одной строке инструкции. Пример:
EORS R3,R5,R10,RRx
Я не понимаю, что там происходит с таким количеством регистров.
Любое толчок в правильном направлении приветствуется. Также я искал руководство ARM, они не очень помогают кому-то, не понимая, что они ищут. У них есть большинство инструкций для кодирования и декодирования, но у меня мало объяснений для вещей, которые я задал выше.
1) соответствует вводу битовых шаблонов команд, которые вы знаете 2) да 3), которые зависят от инструкции, у вас есть бит, зарезервированный для каждого номера регистра. Я предполагаю, что вам был предоставлен ресурс, в котором перечислены кодировки, используйте его. – Jester
1) Но как я могу различать разные форматы кодировки команд? 2) Итак, если нет S, тогда бит не установлен, и все? 3) Но есть ли там четыре регистра, как я могу отличить, например, регистр назначения? Есть ли информация о том, что эти аргументы? –
руководство по архитектуре google arm. получий, более старый лучше, но все они будут делать, за исключением коры головного мозга, которые вы хотите, чтобы armv5 один или armv7a и r не были armv6m или armv7m. они включают полный набор команд плюс определения машинного кода. –