disasm: collapse all the segment register push/pop bytecodes
[nasm.git] / test / expimp.asm
blob77839770231deeb60b5874ee530834e5ba9321d9
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=O2; Arguments=-O2 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
4 ;Testname=O3; Arguments=-O3 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
5 ;Testname=O4; Arguments=-O4 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
6 ;Testname=O5; Arguments=-O5 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
7 ;Testname=Ox; Arguments=-Ox -fbin -oexpimp.bin; Files=stdout stderr expimp.bin
8 ;Testname=error-O0; Arguments=-O0 -fbin -oexpimp.bin -DERROR; Files=stdout stderr expimp.bin
9 ;Testname=error-Ox; Arguments=-Ox -fbin -oexpimp.bin -DERROR; Files=stdout stderr expimp.bin
12 ; Test of explicitly and implicitly sized operands
14 BITS 32
16 add esi,2 ; Implicit
17 add esi,123456h ; Implicit
18 add esi,byte 2 ; Explicit
19 add esi,dword 2 ; Explicit
20 add esi,dword 123456h ; Explicit
21 add esi,byte 123456h ; Explicit Truncation
23 add esi,strict 2 ; Implicit Strict
24 add esi,strict 123456h ; Implicit Strict
25 add esi,strict byte 2 ; Explicit Strict
26 add esi,strict dword 2 ; Explicit Strict
27 add esi,strict dword 123456h ; Explicit Strict
28 add esi,strict byte 123456h ; Explicit Strict Truncation
30 add eax,2 ; Implicit
31 add eax,123456h ; Implicit
32 add eax,byte 2 ; Explicit
33 add eax,dword 2 ; Explicit
34 add eax,dword 123456h ; Explicit
35 add eax,byte 123456h ; Explicit Truncation
37 add eax,strict 2 ; Implicit Strict
38 add eax,strict 123456h ; Implicit Strict
39 add eax,strict byte 2 ; Explicit Strict
40 add eax,strict dword 2 ; Explicit Strict
41 add eax,strict dword 123456h ; Explicit Strict
42 add eax,strict byte 123456h ; Explicit Strict Truncation
44 imul dx,3 ; Implicit
45 imul dx,byte 3 ; Explicit
46 imul dx,word 3 ; Explicit
47 imul dx,strict byte 3 ; Explicit Strict
48 imul dx,strict word 3 ; Explicit Strict
51 ; Same thing with branches
53 start:
54 jmp short start ; Explicit
55 jmp near start ; Explicit
56 jmp word start ; Explicit
57 jmp dword start ; Explicit
58 jmp short forward ; Explicit
59 jmp near forward ; Explicit
60 jmp word forward ; Explicit
61 jmp dword forward ; Explicit
62 %ifdef ERROR
63 jmp short faraway ; Explicit (ERROR)
64 %endif
65 jmp near faraway ; Explicit
66 jmp word faraway ; Explicit
67 jmp dword faraway ; Explicit
68 jmp start ; Implicit
69 jmp forward ; Implicit
70 jmp faraway ; Implicit
72 jmp strict short start ; Explicit Strict
73 jmp strict near start ; Explicit Strict
74 jmp strict word start ; Explicit Strict
75 jmp strict dword start ; Explicit Strict
76 jmp strict short forward ; Explicit Strict
77 jmp strict near forward ; Explicit Strict
78 jmp strict word forward ; Explicit Strict
79 jmp strict dword forward ; Explicit Strict
80 %ifdef ERROR
81 jmp strict short faraway ; Explicit (ERROR)
82 %endif
83 jmp strict near faraway ; Explicit Strict
84 jmp strict word faraway ; Explicit Strict
85 jmp strict dword faraway ; Explicit Strict
86 jmp strict start ; Implicit Strict
87 jmp strict forward ; Implicit Strict
88 jmp strict faraway ; Implicit Strict
89 forward:
91 times 256 nop
92 faraway: