aboutsummaryrefslogtreecommitdiffstats
path: root/test/reldef.asm
blob: 1741e13d333bf4f8630ca10be34b728f98f64899 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
	bits 64
	default rel

%if 1
	extern bar
%else
	section .bss
bar:	resd 0
%endif

	global start
	global foo

	section .rodata
rod1:	dd 0x01234567
rod2:	dd 0x89abcdef

	section .text
start:
	call .next
.next:	pop rsi
	sub rsi,.next-$$

	lea rax, [rod1]
	lea rcx, [rod2]
	lea rdx, [bar]
	lea rbx, [foo]
	
	lea rax, [rdi+rod1-$$]
	lea rcx, [rdi+rod2-$$]
	lea rdx, [rdi+bar-$$]
	lea rbx, [rdi+foo-$$]
	
	mov rax, [rdi+rod1-$$]
	mov rcx, [rdi+rod2-$$]
	mov rdx, [rdi+bar-$$]
	mov rbx, [rdi+foo-$$]

	mov rax, dword rod1-$$
	mov rcx, dword rod2-$$
	mov rdx, dword bar-$$
	mov rbx, dword foo-$$
	
	section .data
	dq rod1
	dq rod2
	dq bar
	dq foo
foo:
	dd rod1 - $
	dd rod1 - $$
	dd rod2 - $
	dd rod2 - $$
	dd bar - $
	dd bar - $$
	dd foo - $
	dd foo - $$