bits 32 foo: ; Backwards reference mov eax,[foo - $] mov ebx,[ebx + foo - $] mov ecx,foo - $ mov edx,foo - bar mov eax,[bar - $] mov ebx,[ebx + bar - $] mov ecx,bar - $ mov edx,bar - foo mov eax,[baz - $] mov ebx,[ebx + baz - $] mov esi,[baz - bar] mov ecx,baz - $ mov edx,baz - bar bits 64 default rel times 16 nop mov eax,[foo] mov eax,[foo - $] mov eax,[abs foo - $] mov ebx,[rbx + foo - $] mov ecx,foo - $ mov edx,foo - bar mov eax,[bar] mov eax,[bar - $] mov eax,[abs bar - $] mov ebx,[rbx + bar - $] mov ecx,bar - $ mov edx,bar - foo mov eax,[baz] mov eax,[baz - $] mov eax,[abs baz - $] mov ebx,[rbx + baz - $] mov esi,[baz - bar] mov esi,[abs baz - bar] mov ecx,baz - $ mov edx,baz - bar bar: ; Forwards reference hlt section ".data" baz: ; Other-segment reference dd 0