Tôi đang viết trình biên dịch cho các lệnh CPU x86/x64 và tôi không thể tìm ra ý nghĩa của địa chỉ 'chuyển vị'. Ví dụ: hướng dẫn Thêm được nêu chi tiết tại đây: http://www.c-jump.com/CIS77/CPU/x86/X77_0150_encoding_add_edx_displacement.htmx86/x64 Thêm Chuyển địa chỉ
Tôi chỉ đang cố triển khai lệnh thêm nơi đăng ký được thêm vào địa chỉ bộ nhớ bình thường. Vấn đề là, địa chỉ là 'địa chỉ dịch chuyển'. Điều đó có nghĩa là địa chỉ là một giá trị đã ký tên là giá trị bù trừ từ vị trí lệnh?
Bạn có tạo mã lắp ráp không? Bạn không thể tạo mã C, hoặc sử dụng LLVM? Hoặc phát ra mã máy với http://code.google.com/p/asmjit/ hoặc các thư viện khác? Bạn có hiểu rõ tập lệnh x86/64 không? Bạn đã nghiên cứu http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html –