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