私はx86/x64 CPU命令用のコンパイラを作成しています。私は人々が 'ディスプレースメント'アドレスの意味を理解できないようです。たとえば、Add命令の詳細は次のとおりです。 http://www.c-jump.com/CIS77/CPU/x86/X77_0150_encoding_add_edx_displacement.htmx86/x64ディスプレースメントアドレッシングを追加
通常のメモリアドレスにレジスタが追加された場合にadd命令を実装しようとしています。問題は、アドレスが「変位アドレス」であることです。これは、アドレスが命令位置からのオフセットである符号付きの値であることを意味しますか?
アセンブリコードを生成していますか? Cコードを生成できないのですか、またはLLVMを使用できませんか?または、マシンコードをhttp://code.google.com/p/asmjit/または他のライブラリで公開しますか?あなたはx86/64命令セットをよく理解していますか?あなたはhttp://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html –