我正在阅读一篇关于如何构建Jit Compiler的文章,作者基本上使用了这段代码:
// Processor instructions for:
// mov eax, 0
// ret
unsigned char code[] = {0xb8, 0x00, 0x00, 0x00, 0x00, 0xc3};
void *mem = mmap(NULL, sizeof(code), PROT_WRITE | PROT_EXEC,
MAP_ANON | MAP_PRIVATE, -1, 0);
memcpy(mem, code, sizeof(code));
int (*func)() = mem;
return func();
我得到了关于代码的所有信息,除了他如何知道如何手动将汇编指令映射到数字代码。我需要学习什么才能理解这一点?