Как интегрировать ассемблерный код, когда я разрабатываю компилятор в C? - PullRequest
1 голос
/ 16 июня 2009

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

я пишу свой код в dev cpp .. который, я полагаю, использует gcc ... в windows .. !! ..

Пожалуйста, дайте мне инструкции для Linux тоже

Ответы [ 3 ]

3 голосов
/ 16 июня 2009

используя asm

Хорошая статья: GCC-Inline-Assembly-HOWTO

2 голосов
/ 16 июня 2009

Используйте инструкцию asm, например,

asm("movl %ecx %eax"); /* moves the contents of ecx to eax */
0 голосов
/ 16 июня 2009

Разве вы не компилируете среду выполнения с помощью собственного компилятора?

Обратите внимание, что другим вариантом является использование внешнего ассемблера (например, AS). Менее оптимальный, но принцип портативный. (хотя синтаксис ассемблера сильно различается)

Наш собственный маленький компилятор (совместимый с GCC-связями) использовал AS для большей части своего ассемблера и приобрел собственный внутренний ассемблер только через 8 лет или около того.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...