| bits 64 |
| val: |
| default abs |
| |
| mov rax, val ; 32-bit imm |
| mov rax, dword val ; 32-bit imm |
| mov rax, qword val ; 64-bit imm |
| |
| mov rbx, val ; 32-bit imm |
| mov rbx, dword val ; 32-bit imm |
| mov rbx, qword val ; 64-bit imm |
| |
| mov rax, [val] ; 48 8b ... (32-bit disp) |
| mov rax, [dword val] ; 48 8b ... (32-bit disp) |
| mov rax, [qword val] ; 48 a1 ... (64-bit disp) |
| a32 mov rax, [val] ; 67 48 a1 ... (32-bit disp) |
| a32 mov rax, [dword val] ; 67 48 a1 ... (32-bit disp) |
| a32 mov rax, [qword val] ; 67 48 a1 ... (32-bit disp) |
| ; [this one is debatable on correctness, |
| ; I chose in yasm to make a32 override] |
| a64 mov rax, [val] ; 48 8b ... (32-bit disp) |
| a64 mov rax, [dword val] ; 48 8b ... (32-bit disp) |
| a64 mov rax, [qword val] ; 48 a1 ... (64-bit disp) |
| |
| mov rbx, [val] ; 48 8b ... (32-bit disp) |
| mov rbx, [dword val] ; 48 8b ... (32-bit disp) |
| ;mov rbx, [qword val] ; illegal (can't have 64-bit disp) |
| a32 mov rbx, [val] ; 67 48 8b ... (32-bit disp) |
| a32 mov rbx, [dword val] ; 67 48 8b ... (32-bit disp) |
| ;a32 mov rbx, [qword val] ; illegal (can't have 64-bit disp) |
| a64 mov rbx, [val] ; 48 8b ... (32-bit disp) |
| a64 mov rbx, [dword val] ; 48 8b ... (32-bit disp) |
| ;a64 mov rbx, [qword val] ; illegal (can't have 64-bit disp) |
| |
| default rel |
| |
| mov rax, val ; 32-bit imm |
| mov rax, dword val ; 32-bit imm |
| mov rax, qword val ; 64-bit imm |
| |
| mov rbx, val ; 32-bit imm |
| mov rbx, dword val ; 32-bit imm |
| mov rbx, qword val ; 64-bit imm |
| |
| mov rax, [val] ; 48 8b ... (32-bit disp, RIP-rel) |
| mov rax, [dword val] ; 48 8b ... (32-bit disp, RIP-rel) |
| mov rax, [qword val] ; 48 a1 ... (64-bit disp, ABS) |
| a32 mov rax, [val] ; 67 48 8b ... (32-bit disp, RIP-rel) |
| a32 mov rax, [dword val] ; 67 48 8b ... (32-bit disp, RIP-rel) |
| a32 mov rax, [qword val] ; 67 48 a1 ... (32-bit disp, ABS) |
| ; [this one is debatable on correctness, |
| ; I chose in yasm to make a32 override] |
| a64 mov rax, [val] ; 48 8b ... (32-bit disp, RIP-rel) |
| a64 mov rax, [dword val] ; 48 8b ... (32-bit disp, RIP-rel) |
| a64 mov rax, [qword val] ; 48 a1 ... (64-bit disp, ABS) |
| |
| mov rbx, [val] ; 48 8b ... (32-bit disp, RIP-rel) |
| mov rbx, [dword val] ; 48 8b ... (32-bit disp, RIP-rel) |
| ;mov rbx, [qword val] ; illegal (can't have 64-bit disp) |
| a32 mov rbx, [val] ; 67 48 8b ... (32-bit disp, RIP-rel) |
| a32 mov rbx, [dword val] ; 67 48 8b ... (32-bit disp, RIP-rel) |
| ;a32 mov rbx, [qword val] ; illegal (can't have 64-bit disp) |
| a64 mov rbx, [val] ; 48 8b ... (32-bit disp, RIP-rel) |
| a64 mov rbx, [dword val] ; 48 8b ... (32-bit disp, RIP-rel) |
| ;a64 mov rbx, [qword val] ; illegal (can't have 64-bit disp) |
| |