1 bits 64 2 default abs 3 ;extern label1 4 label1: 5 label2: 6 7 mov rax, 0x1000 ; 32-bit imm 8 mov rax, 0x1122334455667788 ; 64-bit imm (larger than signed 32-bit) 9 ;mov rax, 0x80000000 ; 64-bit imm (larger than signed 32-bit) 10 mov rax, label1 ; 32-bit imm <--- not 64-bit! 11 mov rax, label2 ; 32-bit imm <--- not 64-bit! 12 mov rax, qword 0x1000 ; 64-bit imm 13 mov rax, qword label1 ; 64-bit imm 14 mov rax, qword label2 ; 64-bit imm 15 16 mov qword [rax], 0x1000 ; 32-bit imm 17 mov qword [rax], 0x1122334455667788 ; 32-bit imm, overflow warning 18 ;mov qword [rax], 0x80000000 ; 32-bit imm, overflow warning 19 mov qword [rax], label1 ; 32-bit imm (matches default above) 20 mov qword [rax], label2 ; 32-bit imm (matches default above) 21 22 add rax, 0x1000 ; 32-bit imm 23 add rax, 0x1122334455667788 ; 32-bit imm, overflow warning 24 ;add rax, 0x80000000 ; 32-bit imm, overflow warning 25 add rax, label1 ; 32-bit imm (matches default above) 26 add rax, label2 ; 32-bit imm (matches default above) 27 28 mov [0x1000], rax ; 32-bit disp 29 mov [abs 0x1122334455667788], rax ; 64-bit disp 30 mov [label1], rax ; 32-bit disp 31 mov [label2], rax ; 32-bit disp 32 mov [qword 0x1000], rax ; 64-bit disp 33 mov [qword label1], rax ; 64-bit disp 34 mov [qword label2], rax ; 64-bit disp 35 36