Fix jmp/call near offsets in long mode
[nasm.git] / test / expimp.asm
blob89e32a144d4492bf76f0c1f89fa10a110bde6540
1 ;Testname=O0; Arguments=-O0 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
2 ;Testname=O1; Arguments=-O1 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
3 ;Testname=Ox; Arguments=-Ox -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
4 ;Testname=error-O0; Arguments=-O0 -fbin -oexpimp.bin -DERROR; Files=stdout stderr expimp.bin
5 ;Testname=error-Ox; Arguments=-Ox -fbin -oexpimp.bin -DERROR; Files=stdout stderr expimp.bin
8 ; Test of explicitly and implicitly sized operands
10 BITS 32
12 add esi,2 ; Implicit
13 add esi,123456h ; Implicit
14 add esi,byte 2 ; Explicit
15 add esi,dword 2 ; Explicit
16 add esi,dword 123456h ; Explicit
17 add esi,byte 123456h ; Explicit Truncation
19 add esi,strict 2 ; Implicit Strict
20 add esi,strict 123456h ; Implicit Strict
21 add esi,strict byte 2 ; Explicit Strict
22 add esi,strict dword 2 ; Explicit Strict
23 add esi,strict dword 123456h ; Explicit Strict
24 add esi,strict byte 123456h ; Explicit Strict Truncation
26 add eax,2 ; Implicit
27 add eax,123456h ; Implicit
28 add eax,byte 2 ; Explicit
29 add eax,dword 2 ; Explicit
30 add eax,dword 123456h ; Explicit
31 add eax,byte 123456h ; Explicit Truncation
33 add eax,strict 2 ; Implicit Strict
34 add eax,strict 123456h ; Implicit Strict
35 add eax,strict byte 2 ; Explicit Strict
36 add eax,strict dword 2 ; Explicit Strict
37 add eax,strict dword 123456h ; Explicit Strict
38 add eax,strict byte 123456h ; Explicit Strict Truncation
40 imul dx,3 ; Implicit
41 imul dx,byte 3 ; Explicit
42 imul dx,word 3 ; Explicit
43 imul dx,strict byte 3 ; Explicit Strict
44 imul dx,strict word 3 ; Explicit Strict
47 ; Same thing with branches
49 start:
50 jmp short start ; Explicit
51 jmp near start ; Explicit
52 jmp word start ; Explicit
53 jmp dword start ; Explicit
54 jmp short forward ; Explicit
55 jmp near forward ; Explicit
56 jmp word forward ; Explicit
57 jmp dword forward ; Explicit
58 %ifdef ERROR
59 jmp short faraway ; Explicit (ERROR)
60 %endif
61 jmp near faraway ; Explicit
62 jmp word faraway ; Explicit
63 jmp dword faraway ; Explicit
64 jmp start ; Implicit
65 jmp forward ; Implicit
66 jmp faraway ; Implicit
68 jmp strict short start ; Explicit Strict
69 jmp strict near start ; Explicit Strict
70 jmp strict word start ; Explicit Strict
71 jmp strict dword start ; Explicit Strict
72 jmp strict short forward ; Explicit Strict
73 jmp strict near forward ; Explicit Strict
74 jmp strict word forward ; Explicit Strict
75 jmp strict dword forward ; Explicit Strict
76 %ifdef ERROR
77 jmp strict short faraway ; Explicit (ERROR)
78 %endif
79 jmp strict near faraway ; Explicit Strict
80 jmp strict word faraway ; Explicit Strict
81 jmp strict dword faraway ; Explicit Strict
82 jmp strict start ; Implicit Strict
83 jmp strict forward ; Implicit Strict
84 jmp strict faraway ; Implicit Strict
85 forward:
87 times 256 nop
88 faraway: