2010-05-20 5 views
1

Я написал очень короткую программу, которая анализирует «программу» с помощью python и преобразует ее в ассемблер, позволяя мне скомпилировать мой маленький язык для прошивки для исполняемого файла.Где я могу найти документацию на ассемблере?

Вы можете прочитать мой блог для получения дополнительной информации здесь http://spiceycurry.blogspot.com/2010/05/simple-compilable-programming-language.html

мой вопрос ... Где я могу найти больше команд ядра, так что я могу еще больше расширить на моем сценарии в вышеуказанном блоге?

ответ

1

Я бы скорее рекомендую с помощью LLVM:

  • Это позволяет не беспокоиться о низкоуровневых деталях, таких как распределения регистров (вы предоставляете только SSA форму)
  • Это делает оптимизацию для вас. Это может быть быстрее, чем рукописный и хорошо оптимизированный компилятор, поскольку показывает LLVM-конвейер в GHC (в начале - до того, как была достигнута оптимальная оптимизация, он имел равную или лучшую производительность, чем зрелый генератор собственных кодов).
  • Это кросс-платформенный - вы не плотно себе, например x86

I'n не совсем уверен, что вы имеете в виду под «ядро» команды. Если вы имеете в виду опкоды:

  • Есть Intel manuals
  • Существует Wikipedia страница, содержащая все документированные memnonics (однако не в опкоды и не всегда описание)
  • Там находится NASM manual

Однако ARM или PowerPC имеют совершенно разные коды операций.

Если вы имеете в виду операционной Systen системные вызовы (системные вызовы), то:

  • Вы можете просто использовать библиотеку C. Он находится в каждой операционной системе и имеет кросс-платформу.
  • Вы можете использовать непосредственно syscalls. Однако их труднее использовать, может быть медленнее (libc может использовать дополнительную буферизацию) и не являются перекрестной платформой (Linux syscalls on x86 - может быть не актуальной).
Смежные вопросы