1bits 32
2
3;jmp strict near foo
4;jmp near foo
5;jmp strict short foo
6;jmp short foo
7;jmp foo
8;
9;jz strict near foo
10;jz near foo
11;jz strict short foo
12;jz short foo
13;jz foo
14;
15;foo:
16
17add eax, 4
18add eax, strict 4		; NASM generates dword, yasm generates byte
19add eax, byte 4
20add eax, strict byte 4
21add eax, dword 4		; optimized to byte
22add eax, strict dword 4
23add eax, 400
24add eax, strict 400
25add eax, byte 400		; generates warning
26add eax, strict byte 400	; generates warning
27add eax, dword 400		; optimized to byte
28add eax, strict dword 400
29
30add ebx, 4
31add ebx, strict 4		; NASM generates dword, yasm generates byte
32add ebx, byte 4
33add ebx, strict byte 4
34add ebx, dword 4		; optimized to byte
35add ebx, strict dword 4
36add ebx, 400
37add ebx, strict 400
38add ebx, byte 400		; generates warning
39add ebx, strict byte 400	; generates warning
40add ebx, dword 400		; optimized to byte
41add ebx, strict dword 400
42
43add [eax], byte 4		; same as byte [eax], 4
44add [eax], strict byte 4	; same as byte [eax], 4
45add [eax], dword 4		; generates dword [eax], byte 4
46add [eax], strict dword 4	; generates dword [eax], dword 4
47
48add dword [eax], 4
49add dword [eax], strict 4	; NASM generates dword, yasm generates byte
50add dword [eax], byte 4
51add dword [eax], strict byte 4
52add dword [eax], dword 4	; optimized to byte
53add dword [eax], strict dword 4
54add dword [eax], 400
55add dword [eax], strict 400
56add dword [eax], byte 400	; generates warning
57add dword [eax], strict byte 400; generates warning
58add dword [eax], dword 400	; optimized to byte
59add dword [eax], strict dword 400
60
61push 4
62push strict 4			; NASM generates dword, yasm generates byte
63push byte 4
64push strict byte 4
65push dword 4			; optimized to byte
66push strict dword 4
67push 400
68push strict 400
69push byte 400			; generates warning
70push strict byte 400		; generates warning
71push dword 400
72push strict dword 400
73
74imul eax, 4
75imul eax, strict 4		; NASM generates dword, yasm generates byte
76imul eax, byte 4
77imul eax, strict byte 4
78imul eax, dword 4		; optimized to byte
79imul eax, strict dword 4
80imul eax, 400
81imul eax, strict 400
82imul eax, byte 400		; generates warning
83imul eax, strict byte 400	; generates warning
84imul eax, dword 400
85imul eax, strict dword 400
86
87%ifndef __NASM_VERSION_ID__
88bits 64
89add rax, 4
90add rax, strict 4		; NASM generates dword, yasm generates byte
91add rax, byte 4
92add rax, strict byte 4
93add rax, dword 4
94add rax, strict dword 4
95add rax, 400
96add rax, strict 400
97add rax, byte 400		; generates warning
98add rax, strict byte 400	; generates warning
99add rax, dword 400
100add rax, strict dword 400
101
102add rbx, 4
103add rbx, strict 4		; NASM generates dword, yasm generates byte
104add rbx, byte 4
105add rbx, strict byte 4
106add rbx, dword 4
107add rbx, strict dword 4
108add rbx, 400
109add rbx, strict 400
110add rbx, byte 400		; generates warning
111add rbx, strict byte 400	; generates warning
112add rbx, dword 400
113add rbx, strict dword 400
114
115add [rax], byte 4		; same as byte [rax], 4
116add [rax], strict byte 4	; same as byte [rax], 4
117add [rax], word 4		; same as word [rax], 4
118add [rax], strict word 4	; same as word [rax], strict word 4
119
120add dword [rax], 4
121add dword [rax], strict 4
122add dword [rax], byte 4
123add dword [rax], strict byte 4
124add dword [rax], dword 4
125add dword [rax], strict dword 4
126add dword [rax], 400
127add dword [rax], strict 400
128add dword [rax], byte 400	; generates warning
129add dword [rax], strict byte 400; generates warning
130add dword [rax], dword 400
131add dword [rax], strict dword 400
132
133add qword [rax], 4
134add qword [rax], strict 4
135add qword [rax], byte 4
136add qword [rax], strict byte 4
137add qword [rax], dword 4
138add qword [rax], strict dword 4
139add qword [rax], 400
140add qword [rax], strict 400
141add qword [rax], byte 400	; generates warning
142add qword [rax], strict byte 400; generates warning
143add qword [rax], dword 400
144add qword [rax], strict dword 400
145
146push 4
147push strict 4			; NASM generates dword, yasm generates byte
148push byte 4
149push strict byte 4
150push dword 4			; optimized to byte
151push strict dword 4
152;push qword 4			; illegal
153;push strict qword 4		; illegal
154push 400
155push strict 400
156push byte 400			; generates warning
157push strict byte 400		; generates warning
158push dword 400
159push strict dword 400
160;push qword 400			; illegal
161;push strict qword 400		; illegal
162
163%endif
164