NASM 2.00rc2
[nasm.git] / test / lar_lsl.asm
blob69c56fc99bafbe4316d8685a1a4ab5735cf9c0cb
1 ; LAR/LSL
2 ;---------
4 ; 1x ; = invalid due to lack of REX
5 ; 3x ; = invalid due to Mw
7 %macro m 1
9 bits 16
11 %1 ax, ax
12 %1 ax,eax
13 ; %1 ax,rax
15 %1 eax, ax
16 %1 eax,eax
17 ; %1 eax,rax
19 ; %1 rax, ax
20 ; %1 rax,eax
21 ; %1 rax,rax
23 %1 ax, [0]
24 %1 ax, word [0]
25 ;;; %1 ax,dword [0]
26 ; %1 ax,qword [0]
28 %1 eax, [0]
29 %1 eax, word [0]
30 ;;; %1 eax,dword [0]
31 ; %1 eax,qword [0]
33 ; %1 rax, [0]
34 ; %1 rax, word [0]
35 ; %1 rax,dword [0]
36 ; %1 rax,qword [0]
38 bits 32
40 %1 ax, ax
41 %1 ax,eax
42 ; %1 ax,rax
44 %1 eax, ax
45 %1 eax,eax
46 ; %1 eax,rax
48 ; %1 rax, ax
49 ; %1 rax,eax
50 ; %1 rax,rax
52 %1 ax, [0]
53 %1 ax, word [0]
54 ;;; %1 ax,dword [0]
55 ; %1 ax,qword [0]
57 %1 eax, [0]
58 %1 eax, word [0]
59 ;;; %1 eax,dword [0]
60 ; %1 eax,qword [0]
62 ; %1 rax, [0]
63 ; %1 rax, word [0]
64 ; %1 rax,dword [0]
65 ; %1 rax,qword [0]
67 bits 64
69 %1 ax, ax
70 %1 ax,eax
71 %1 ax,rax ; $TODO: shouldn't emit REX.W $
73 %1 eax, ax
74 %1 eax,eax
75 %1 eax,rax ; $TODO: shouldn't emit REX.W $
77 %1 rax, ax
78 %1 rax,eax
79 %1 rax,rax
81 %1 ax, [0]
82 %1 ax, word [0]
83 ;;; %1 ax,dword [0]
84 ;;; %1 ax,qword [0]
86 %1 eax, [0]
87 %1 eax, word [0]
88 ;;; %1 eax,dword [0]
89 ;;; %1 eax,qword [0]
91 %1 rax, [0]
92 %1 rax, word [0]
93 ;;; %1 rax,dword [0]
94 ;;; %1 rax,qword [0]
96 %endmacro
98 m lar
100 m lsl
102 bits 16
103 lar ax,[ si]
104 lar ax,[esi]
105 bits 32
106 lar ax,[ si]
107 lar ax,[esi]
108 bits 64
109 lar ax,[esi]
110 lar ax,[rsi]
112 bits 16
113 lsl ax,[ si]
114 lsl ax,[esi]
115 bits 32
116 lsl ax,[ si]
117 lsl ax,[esi]
118 bits 64
119 lar ax,[esi]
120 lsl ax,[rsi]
122 ; EOF