# Test all rel32 jump instructions and supported rip accesses.

# Processor type
x64
# .text start RVA and end RVA
1000
3000
# .reloc start RVA and end RVA
3800
4000
# End RVA
5000

# Assume ImageBase = 00400000. This does not affect the test.
Program:
  00401000: 55                 push        ebp
  00401001: 8B EC              mov         ebp,esp
  00401003: E8 00 00 00 00     call        00401008
  00401008: E9 00 00 00 00     jmp         0040100D
  0040100D: 0F 80 00 00 00 00  jo          00401013
  00401013: 0F 81 00 00 00 00  jno         00401019
  00401019: 0F 82 00 00 00 00  jb          0040101F
  0040101F: 0F 83 00 00 00 00  jae         00401025
  00401025: 0F 84 00 00 00 00  je          0040102B
  0040102B: 0F 85 00 00 00 00  jne         00401031
  00401031: 0F 86 00 00 00 00  jbe         00401037
  00401037: 0F 87 00 00 00 00  ja          0040103D
  0040103D: 0F 88 00 00 00 00  js          00401043
  00401043: 0F 89 00 00 00 00  jns         00401049
  00401049: 0F 8A 00 00 00 00  jp          0040104F  # Ignored!
  0040104F: 0F 8B 00 00 00 00  jnp         00401055  # Ignored!
  00401055: 0F 8C 00 00 00 00  jl          0040105B
  0040105B: 0F 8D 00 00 00 00  jge         00401061
  00401061: 0F 8E 00 00 00 00  jle         00401067
  00401067: 0F 8F 00 00 00 00  jg          0040106D
  0040106D: FF 15 00 00 00 00  call        [rip+00000000]
  00401073: FF 25 00 00 00 00  jmp         [rip+00000000]
  00401079: 8B 05 00 00 00 00  mov         eax,[rip+00000000]
  0040107F: 8B 3D 00 00 00 00  mov         edi,[rip+00000000]
  00401085: 8D 05 00 00 00 00  lea         eax,[rip+00000000]
  0040108B: 8D 3D 00 00 00 00  lea         edi,[rip+00000000]
  00401091: 48 8B 05 00 00 00  mov         rax,[rip+00000000]
            00
  00401098: 48 8B 3D 00 00 00  mov         rdi,[rip+00000000]
            00
  0040109F: 48 8D 05 00 00 00  lea         rax,[rip+00000000]
            00
  004010A6: 48 8D 3D 00 00 00  lea         rdi,[rip+00000000]
            00
  004010AD: 4C 8B 05 00 00 00  mov         r8,[rip+00000000]
            00
  004010B4: 4C 8B 3D 00 00 00  mov         r15,[rip+00000000]
            00
  004010BB: 4C 8D 05 00 00 00  lea         r8,[rip+00000000]
            00
  004010C2: 4C 8D 3D 00 00 00  lea         r15,[rip+00000000]
            00
  004010C9: 66 8B 05 00 00 00  mov         ax,[rip+00000000]
            00
  004010D0: 66 8B 3D 00 00 00  mov         di,[rip+00000000]
            00
  004010D7: 66 8D 05 00 00 00  lea         ax,[rip+00000000]
            00
  004010DE: 66 8D 3D 00 00 00  lea         di,[rip+00000000]
            00
  004010E5: 5D                 pop         ebp
  004010E6: C3                 ret

Abs32:

Expected:
1004
1009
100F
1015
101B
1021
1027
102D
1033
1039
103F
1045
1057
105D
1063
1069
106F
1075
107B
1081
1087
108D
1094
109B
10A2
10A9
10B0
10B7
10BE
10C5
10CC
10D3
10DA
10E1