[keystone-engine] Re: keystone-based assembler replacement for nasm/yasm

  • From: Nguyen Anh Quynh <aquynh@xxxxxxxxx>
  • To: keystone-engine@xxxxxxxxxxxxx
  • Date: Fri, 24 Feb 2017 10:18:11 +0800

On Fri, Feb 24, 2017 at 3:47 AM, Marc-André Moreau <
marcandre.moreau@xxxxxxxxx> wrote:

Hi,

I am wondering if keystone can be used as a replacement for nasm, yasm and
other assemblers. I am new to this project, but it looks like keystone can
compile assembly for a wide variety of architectures. Is it possible to use
it to compile .asm files to get .o files, and integrate it into a build
system? One advantage I could see is having a single assembler for multiple
architectures, because it is much easier to port an assembler than port
assembly code to different assemblers for the same architecture.


yes this is possible, but then you can already use llvm-mc (which Keystone
was forked from) of LLVM to do this.

i am positioning Keystone as a framework is to dynamically compile input
assembly (with few options you can specify), and get back the binary at the
output. not sure if we should go further than that to write out the object
file.

just in case, we have some comparison between Keystone & LLVM here:
http://www.keystone-engine.org/docs/beyond_llvm.html

Thanks,
Quynh

http://www.keystone-engine.org
http://www.capstone-engine.org
http://www.unicorn-engine.org



Best regards,
-Marc-Andre

Other related posts: