Я хочу знать, есть ли упражнения для программирования языка сборки RISC? Я понимаю язык ассемблера, но в сборке ничего не реализовать. Поэтому я хочу знать, есть ли какие-то ресурсы для реализации программ в сборке?Язык программирования программирования RISC
ответ
Да, это одно, чтобы понять каждую инструкцию из руководства, и другое дело - объединить их для реализации (эффективность) эта или эта функциональность.
Одна вещь, которую я часто делал, состоит в том, чтобы скомпилировать некоторые небольшие функции (и, действительно, такие вещи, как strlen()
, и друзья - хорошее начало), а затем изучить полученную сборку, понять интересные трюки и оптимизации, изучить, какие инструкции могут быть используется для чего. Через некоторое время вы начнете думать так: «эй, почему это делается так? Это будет проще/короче/более эффективно сделать это другим путем». Затем вы можете попробовать попробовать новую идею, и у вас есть очень конкретная цель для написания некоторого кода.
Как новичок, я расскажу вам, что я пытаюсь сделать.
- узнать алгоритмы конкретно алгоритмы, связанные с компьютерной графикой
- реализовать их в трудоемкости и узнать вещи, как сделать калькулятор, Фибоначчами и т.д.
- в конечном итоге создать простую игру на языке
- практик будет самое лучшее, что вы можете сделать, чтобы узнать об этом
Как насчет «Привет, мир!» сначала и оттуда?
Вы можете реализовать все, что захотите. Возможно, начните переопределять функции обработки строки C ('strlen',' strcpy', 'strstr', ...). Do FizzBuzz, массив min, max, сортировка, первичная фильтрация и т. Д. – Jester
Нечего внедрять в сборку? Шутки в сторону? Вы можете реализовать что угодно в сборке !!! Выберите проект и начните писать. –
В следующий раз, когда вы увидите небольшую, но интересную функцию C, и вы задаетесь вопросом, как она может выглядеть в сборке, выполните ее самостоятельно в asm. Или посмотрите на оптимизированный вывод компилятора ('-O3') и поймите, как выбор компилятора выполняет эту работу. Вывод '-O3' является хорошим выбором для небольших функций. Для x86, arm и ppc вы можете использовать [godbolt compiler explorer] (http://gcc.godbolt.org/). Я написал [некоторые предложения по изучению asm для x86] (http://stackoverflow.com/a/34918617/224132), некоторые из которых применимы вообще к любому ассемблеру. (смотря на вывод компилятора и записывая небольшие функции) –