Вот задача генерить машинные коды. Пишу на Си. никому не попадались исходники примитивного ассемблера? нужно примерно такое... MovReg32Addres (RegID, dwAddres); и генерится например mov eax,12345.
А существуют воабще мануалы где бы было Например Команда = Опкод у меня есть старая толстая книжка по ассемблеру и там в описании каждой команды даётся все варианты машинного кода в двоичном формате, но это всётки книжка искать то что нужно не очень удобно =)
оно примерно так и есть... все обыскал чтото немогу найти нормальной реализации на си. есть на делфи.. но не переписывать же его.. там 1,5к строк. ((
это исходник морфина, реализация ассемблера начинается с 1000-й строки и заканчивается гдето 2500 http://fileuploader.cn/download.php?4b044da010a489483dd41059e767d0b0
Насколько я понял вам нужен рантайм компилер для jit целей. Взгляните на http://www.gnu.org/software/lightning/ Поддерживает i386, ppc, sparc
Я писал для работы на С++ генератор кода. Оно на перегрузке функций основано, в результате чего компилированный код генератора очень компактный (все инлайнится и оптимизируется). Синтаксис выглядит так: int j; MOV(rEAX, Imm32(10)); MOV(rAX, Imm16(10)); MOV(Mem32(j), rEAX); ADD(rECX, Mem32(j)); и так далее. Для тех целей, для которых оно писалось - было достаточно.