嗨,我想了解是否可以获取指令操作码并将它们“插入”到内存中,或者将它们转换为二进制程序。我在这里找到了一个废弃的 lisp 项目:http: //common-lisp.net/viewvc/cl-x86-asm/cl-x86-asm/它采用 x86 asm 指令并将它们转换为操作码(请参见下面的示例)。该项目没有进一步实际完成二进制可执行文件的创建。因此,我需要“手动”执行此操作,任何想法都可以帮助我。谢谢。
;; assemble some code in it
(cl-x86-asm::assemble-forms
'((.Entry :PUSH :EAX)
(:SUB :EAX #XFFFEA)
(:MOV :EAX :EBX)
(:POP :EAX)
(:PUSH :EAX)
(.Exit :RET))
加工...
;; print the assembled segment
(cl-x86-asm::print-segment)
* Segment type DATA-SEGMENT
Segment size 0000000C bytes
50 81 05 00 0F FF EA 89
03 58 50 C3