VirtualBox

source: vbox/trunk/src/VBox/Disassembler/testcase/tstAsmLock-1.asm@ 8976

Last change on this file since 8976 was 8976, checked in by vboxsync, 16 years ago

OR, SBB, SUB.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 29.7 KB
Line 
1; $Id: tstAsmLock-1.asm 8976 2008-05-20 19:18:55Z vboxsync $
2;; @file
3; Disassembly testcase - Valid lock sequences and related instructions.
4;
5; This is a build test, that means it will be assembled, disassembled,
6; then the disassembly output will be assembled and the new binary will
7; compared with the original.
8;
9
10;
11; Copyright (C) 2008 Sun Microsystems, Inc.
12;
13; This file is part of VirtualBox Open Source Edition (OSE), as
14; available from http://www.virtualbox.org. This file is free software;
15; you can redistribute it and/or modify it under the terms of the GNU
16; General Public License (GPL) as published by the Free Software
17; Foundation, in version 2 as it comes in the "COPYING" file of the
18; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
19; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
20;
21; Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
22; Clara, CA 95054 USA or visit http://www.sun.com if you need
23; additional information or have any questions.
24;
25
26%include "tstAsm.mac"
27%if TEST_BITS == 64
28; The disassembler doesn't do imm32 right for 64-bit stuff, so disable it for now.
29; %define WITH_64_BIT_TESTS_IMM32
30; The cmpxchg16b/8b stuff isn't handled correctly in 64-bit mode. In the 8b case
31; it could be both yasm and the vbox disassembler. Have to check docs/gas/nasm.
32; %define WITH_64_BIT_TESTS_CMPXCHG16B
33 %define WITH_64_BIT_TESTS
34%endif
35
36 BITS TEST_BITS
37
38 ;
39 ; ADC
40 ;
41 ; 80 /2 ib ADC reg/mem8, imm8 - sans reg dst
42 lock adc byte [1000h], byte 8
43 lock adc byte [xBX], byte 8
44 lock adc byte [xDI], byte 8
45 ; 81 /2 i[wd] ADC reg/memX, immX - sans reg dst
46 lock adc word [1000h], word 090cch
47 lock adc word [xBX], word 090cch
48 lock adc word [xDI], word 090cch
49 lock adc dword [1000h], dword 0cc90cc90h
50 lock adc dword [xBX], dword 0cc90cc90h
51 lock adc dword [xDI], dword 0cc90cc90h
52%ifdef WITH_64_BIT_TESTS_IMM32
53 lock adc qword [1000h], dword 0cc90cc90h
54 lock adc qword [rbx], dword 0cc90cc90h
55 lock adc qword [rdi], dword 0cc90cc90h
56 lock adc qword [r9], dword 0cc90cc90h
57%endif
58 ; 83 /2 ib ADC reg/memX, imm8 - sans reg dst
59 lock adc word [1000h], byte 07fh
60 lock adc word [xBX], byte 07fh
61 lock adc word [xDI], byte 07fh
62 lock adc dword [1000h], byte 07fh
63 lock adc dword [xBX], byte 07fh
64 lock adc dword [xDI], byte 07fh
65%ifdef WITH_64_BIT_TESTS
66 lock adc qword [1000h], byte 07fh
67 lock adc qword [rbx], byte 07fh
68 lock adc qword [rdi], byte 07fh
69 lock adc qword [r10], byte 07fh
70%endif
71
72 ; 10 /r ADC reg/mem8, reg8 - sans reg dst
73 lock adc byte [1000h], bl
74 lock adc byte [xBX], bl
75 lock adc byte [xSI], bl
76 ; 11 /r ADC reg/memX, regX - sans reg dst
77 lock adc word [1000h], bx
78 lock adc word [xBX], bx
79 lock adc word [xSI], bx
80 lock adc dword [1000h], ebx
81 lock adc dword [xBX], ebx
82 lock adc dword [xSI], ebx
83%ifdef WITH_64_BIT_TESTS
84 lock adc qword [1000h], rbx
85 lock adc qword [rbx], rbx
86 lock adc qword [rsi], rbx
87 lock adc qword [r11], rbx
88%endif
89
90 ;
91 ; ADD
92 ;
93 ; 80 /0 ib ADD reg/mem8, imm8 - sans reg dst
94 lock add byte [1000h], byte 8
95 lock add byte [xBX], byte 8
96 lock add byte [xDI], byte 8
97 ; 81 /0 i[wd] ADD reg/memX, immX - sans reg dst
98 lock add word [1000h], word 090cch
99 lock add word [xBX], word 090cch
100 lock add word [xDI], word 090cch
101 lock add dword [1000h], dword 0cc90cc90h
102 lock add dword [xBX], dword 0cc90cc90h
103 lock add dword [xDI], dword 0cc90cc90h
104%ifdef WITH_64_BIT_TESTS_IMM32
105 lock add qword [1000h], dword 0cc90cc90h
106 lock add qword [rbx], dword 0cc90cc90h
107 lock add qword [rdi], dword 0cc90cc90h
108 lock add qword [r9], dword 0cc90cc90h
109%endif
110 ; 83 /0 ib ADD reg/memX, imm8 - sans reg dst
111 lock add word [1000h], byte 07fh
112 lock add word [xBX], byte 07fh
113 lock add word [xDI], byte 07fh
114 lock add dword [1000h], byte 07fh
115 lock add dword [xBX], byte 07fh
116 lock add dword [xDI], byte 07fh
117%ifdef WITH_64_BIT_TESTS
118 lock add qword [1000h], byte 07fh
119 lock add qword [rbx], byte 07fh
120 lock add qword [rdi], byte 07fh
121 lock add qword [r10], byte 07fh
122%endif
123
124 ; 00 /r ADD reg/mem8, reg8 - sans reg dst
125 lock add byte [1000h], bl
126 lock add byte [xBX], bl
127 lock add byte [xSI], bl
128 ; 01 /r ADD reg/memX, regX - sans reg dst
129 lock add word [1000h], bx
130 lock add word [xBX], bx
131 lock add word [xSI], bx
132 lock add dword [1000h], ebx
133 lock add dword [xBX], ebx
134 lock add dword [xSI], ebx
135%ifdef WITH_64_BIT_TESTS
136 lock add qword [1000h], rbx
137 lock add qword [rbx], rbx
138 lock add qword [rsi], rbx
139 lock add qword [r11], rbx
140%endif
141
142 ;
143 ; AND
144 ;
145 ; 80 /4 ib AND reg/mem8, imm8 - sans reg dst
146 lock and byte [1000h], byte 8
147 lock and byte [xBX], byte 8
148 lock and byte [xDI], byte 8
149 ; 81 /4 i[wd] AND reg/memX, immX - sans reg dst
150 lock and word [1000h], word 090cch
151 lock and word [xBX], word 090cch
152 lock and word [xDI], word 090cch
153 lock and dword [1000h], dword 0cc90cc90h
154 lock and dword [xBX], dword 0cc90cc90h
155 lock and dword [xDI], dword 0cc90cc90h
156%ifdef WITH_64_BIT_TESTS_IMM32
157 lock and qword [1000h], dword 0cc90cc90h
158 lock and qword [rbx], dword 0cc90cc90h
159 lock and qword [rdi], dword 0cc90cc90h
160 lock and qword [r9], dword 0cc90cc90h
161%endif
162 ; 83 /4 ib AND reg/memX, imm8 - sans reg dst
163 lock and word [1000h], byte 07fh
164 lock and word [xBX], byte 07fh
165 lock and word [xDI], byte 07fh
166 lock and dword [1000h], byte 07fh
167 lock and dword [xBX], byte 07fh
168 lock and dword [xDI], byte 07fh
169%ifdef WITH_64_BIT_TESTS
170 lock and qword [1000h], byte 07fh
171 lock and qword [rbx], byte 07fh
172 lock and qword [rdi], byte 07fh
173 lock and qword [r10], byte 07fh
174%endif
175
176 ; 20 /r AND reg/mem8, reg8 - sans reg dst
177 lock and byte [1000h], bl
178 lock and byte [xBX], bl
179 lock and byte [xSI], bl
180 ; 21 /r AND reg/memX, regX - sans reg dst
181 lock and word [1000h], bx
182 lock and word [xBX], bx
183 lock and word [xSI], bx
184 lock and dword [1000h], ebx
185 lock and dword [xBX], ebx
186 lock and dword [xSI], ebx
187%ifdef WITH_64_BIT_TESTS
188 lock and qword [1000h], rbx
189 lock and qword [rbx], rbx
190 lock and qword [rsi], rbx
191 lock and qword [r11], rbx
192%endif
193
194 ;
195 ; BTC
196 ;
197 ; 0f bb /r BTC reg/memX, regX (X != 8) - sans reg dst
198 lock btc word [20cch], bx
199 lock btc word [xBX], bx
200 lock btc word [xDI], bx
201 lock btc dword [20cch], ebx
202 lock btc dword [xBX], ebx
203 lock btc dword [xDI], ebx
204%ifdef WITH_64_BIT_TESTS
205 lock btc qword [20cch], rbx
206 lock btc qword [rdx], rbx
207 lock btc qword [rdi], r10
208 lock btc qword [r8], r12
209%endif
210 ; 0f ba /7 ib BTC reg/memX, imm8 (X != 8) - sans reg dst
211 lock btc word [20cch], 15
212 lock btc word [xBX], 15
213 lock btc word [xDI], 15
214 lock btc dword [20cch], 30
215 lock btc dword [xBX], 30
216 lock btc dword [xDI], 30
217%ifdef WITH_64_BIT_TESTS
218 lock btc qword [20cch], 60
219 lock btc qword [rdx], 60
220 lock btc qword [rdi], 60
221 lock btc qword [r9], 60
222 lock btc qword [r12], 60
223%endif
224
225 ;
226 ; BTR
227 ;
228 ; 0f b3 /r BTR reg/memX, regX (X != 8) - sans reg dst
229 lock btr word [20cch], bx
230 lock btr word [xBX], bx
231 lock btr word [xDI], bx
232 lock btr dword [20cch], ebx
233 lock btr dword [xBX], ebx
234 lock btr dword [xDI], ebx
235%ifdef WITH_64_BIT_TESTS
236 lock btr qword [20cch], rbx
237 lock btr qword [rdx], rbx
238 lock btr qword [rdi], r10
239 lock btr qword [r8], r12
240%endif
241 ; 0f ba /6 ib BTR reg/memX, imm8 (X != 8) - sans reg dst
242 lock btr word [20cch], 15
243 lock btr word [xBX], 15
244 lock btr word [xDI], 15
245 lock btr dword [20cch], 30
246 lock btr dword [xBX], 30
247 lock btr dword [xDI], 30
248%ifdef WITH_64_BIT_TESTS
249 lock btr qword [20cch], 60
250 lock btr qword [rdx], 60
251 lock btr qword [rdi], 60
252 lock btr qword [r9], 60
253 lock btr qword [r12], 60
254%endif
255
256 ;
257 ; BTS
258 ;
259 ; 0f ab /r BTS reg/memX, regX (X != 8) - sans reg dst
260 lock bts word [20cch], bx
261 lock bts word [xBX], bx
262 lock bts word [xDI], bx
263 lock bts dword [20cch], ebx
264 lock bts dword [xBX], ebx
265 lock bts dword [xDI], ebx
266%if TEST_BITS == 64
267 lock bts qword [20cch], rbx
268 lock bts qword [rdx], rbx
269 lock bts qword [rdi], r10
270 lock bts qword [r8], r12
271%endif
272 ; 0f ba /5 ib BTS reg/memX, imm8 (X != 8) - sans reg dst
273 lock bts word [20cch], 15
274 lock bts word [xBX], 15
275 lock bts word [xDI], 15
276 lock bts dword [20cch], 30
277 lock bts dword [xBX], 30
278 lock bts dword [xDI], 30
279%if TEST_BITS == 64
280 lock bts qword [20cch], 60
281 lock bts qword [rdx], 60
282 lock bts qword [rdi], 60
283 lock bts qword [r9], 60
284 lock bts qword [r12], 60
285%endif
286
287 ;
288 ; CMPXCHG
289 ;
290 ; 0f b0 /r CMPXCHG reg8/mem8, regX - with reg dst
291 lock cmpxchg byte [30cch], cl
292 lock cmpxchg byte [xBX], cl
293 lock cmpxchg byte [xSI], cl
294 ; 0f b1 /r CMPXCHG regX/memX, regX - with reg dst
295 lock cmpxchg word [30cch], cx
296 lock cmpxchg word [xBX], cx
297 lock cmpxchg word [xSI], cx
298 lock cmpxchg dword [30cch], ecx
299 lock cmpxchg dword [xBX], ecx
300 lock cmpxchg dword [xSI], ecx
301%ifdef WITH_64_BIT_TESTS
302 lock cmpxchg qword [30cch], rcx
303 lock cmpxchg qword [xBX], rcx
304 lock cmpxchg qword [xSI], rcx
305 lock cmpxchg qword [rdi], r8
306 lock cmpxchg qword [r12], r9
307%endif
308
309 ;
310 ; CMPXCHG8B
311 ; CMPXCHG16B
312 ;
313 ;; @todo get back to cmpxchg8b and cmpxchg16b.
314 lock cmpxchg8b qword [1000h]
315 lock cmpxchg8b qword [xDI]
316 lock cmpxchg8b qword [xDI+xBX]
317%ifdef WITH_64_BIT_TESTS_CMPXCHG16B
318 lock cmpxchg16b [1000h]
319 lock cmpxchg16b [xDI]
320 lock cmpxchg16b [xDI+xBX]
321%endif
322
323 ;
324 ; DEC
325 ;
326 ; fe /1 DEC reg8/mem8 - sans reg dst
327 lock dec byte [40cch]
328 lock dec byte [xBX]
329 lock dec byte [xSI]
330 ; ff /1 DEC regX/memX - sans reg dst
331 lock dec word [40cch]
332 lock dec word [xBX]
333 lock dec word [xSI]
334 lock dec dword [40cch]
335 lock dec dword [xBX]
336 lock dec dword [xSI]
337%ifdef WITH_64_BIT_TESTS
338 lock dec qword [40cch]
339 lock dec qword [xBX]
340 lock dec qword [xSI]
341 lock dec qword [r8]
342 lock dec qword [r12]
343%endif
344
345 ;
346 ; INC
347 ;
348 ; fe /0 INC reg8/mem8 - sans reg dst
349 lock inc byte [40cch]
350 lock inc byte [xBX]
351 lock inc byte [xSI]
352 ; ff /0 INC regX/memX - sans reg dst
353 lock inc word [40cch]
354 lock inc word [xBX]
355 lock inc word [xSI]
356 lock inc dword [40cch]
357 lock inc dword [xBX]
358 lock inc dword [xSI]
359%ifdef WITH_64_BIT_TESTS
360 lock inc qword [40cch]
361 lock inc qword [xBX]
362 lock inc qword [xSI]
363 lock inc qword [r8]
364 lock inc qword [r12]
365%endif
366
367 ;
368 ; NEG
369 ;
370 ; f6 /3 NEG reg8/mem8 - sans reg dst
371 lock neg byte [40cch]
372 lock neg byte [xBX]
373 lock neg byte [xSI]
374 ; f7 /3 NEG regX/memX - sans reg dst
375 lock neg word [40cch]
376 lock neg word [xBX]
377 lock neg word [xSI]
378 lock neg dword [40cch]
379 lock neg dword [xBX]
380 lock neg dword [xSI]
381%ifdef WITH_64_BIT_TESTS
382 lock neg qword [40cch]
383 lock neg qword [xBX]
384 lock neg qword [xSI]
385 lock neg qword [r8]
386 lock neg qword [r12]
387%endif
388
389 ;
390 ; NOT
391 ;
392 ; f6 /2 NOT reg8/mem8 - sans reg dst
393 lock not byte [40cch]
394 lock not byte [xBX]
395 lock not byte [xSI]
396 ; f7 /2 NOT regX/memX - sans reg dst
397 lock not word [40cch]
398 lock not word [xBX]
399 lock not word [xSI]
400 lock not dword [40cch]
401 lock not dword [xBX]
402 lock not dword [xSI]
403%ifdef WITH_64_BIT_TESTS
404 lock not qword [40cch]
405 lock not qword [xBX]
406 lock not qword [xSI]
407 lock not qword [r8]
408 lock not qword [r12]
409%endif
410
411 ;
412 ; OR
413 ;
414 ; 80 /1 ib OR reg/mem8, imm8 - sans reg dst
415 lock or byte [1000h], byte 8
416 lock or byte [xBX], byte 8
417 lock or byte [xDI], byte 8
418 ; 81 /1 i[wd] OR reg/memX, immX - sans reg dst
419 lock or word [1000h], word 090cch
420 lock or word [xBX], word 090cch
421 lock or word [xDI], word 090cch
422 lock or dword [1000h], dword 0cc90cc90h
423 lock or dword [xBX], dword 0cc90cc90h
424 lock or dword [xDI], dword 0cc90cc90h
425%ifdef WITH_64_BIT_TESTS_IMM32
426 lock or qword [1000h], dword 0cc90cc90h
427 lock or qword [rbx], dword 0cc90cc90h
428 lock or qword [rdi], dword 0cc90cc90h
429 lock or qword [r9], dword 0cc90cc90h
430%endif
431 ; 83 /1 ib OR reg/memX, imm8 - sans reg dst
432 lock or word [1000h], byte 07fh
433 lock or word [xBX], byte 07fh
434 lock or word [xDI], byte 07fh
435 lock or dword [1000h], byte 07fh
436 lock or dword [xBX], byte 07fh
437 lock or dword [xDI], byte 07fh
438%ifdef WITH_64_BIT_TESTS
439 lock or qword [1000h], byte 07fh
440 lock or qword [rbx], byte 07fh
441 lock or qword [rdi], byte 07fh
442 lock or qword [r10], byte 07fh
443%endif
444
445 ; 08 /r OR reg/mem8, reg8 - sans reg dst
446 lock or byte [1000h], bl
447 lock or byte [xBX], bl
448 lock or byte [xSI], bl
449 ; 09 /r OR reg/memX, regX - sans reg dst
450 lock or word [1000h], bx
451 lock or word [xBX], bx
452 lock or word [xSI], bx
453 lock or dword [1000h], ebx
454 lock or dword [xBX], ebx
455 lock or dword [xSI], ebx
456%ifdef WITH_64_BIT_TESTS
457 lock or qword [1000h], rbx
458 lock or qword [rbx], rbx
459 lock or qword [rsi], rbx
460 lock or qword [r11], rbx
461%endif
462
463 ;
464 ; SBB
465 ;
466 ; 80 /3 ib SBB reg/mem8, imm8 - sans reg dst
467 lock sbb byte [1000h], byte 8
468 lock sbb byte [xBX], byte 8
469 lock sbb byte [xDI], byte 8
470 ; 81 /3 i[wd] SBB reg/memX, immX - sans reg dst
471 lock sbb word [1000h], word 090cch
472 lock sbb word [xBX], word 090cch
473 lock sbb word [xDI], word 090cch
474 lock sbb dword [1000h], dword 0cc90cc90h
475 lock sbb dword [xBX], dword 0cc90cc90h
476 lock sbb dword [xDI], dword 0cc90cc90h
477%ifdef WITH_64_BIT_TESTS_IMM32
478 lock sbb qword [1000h], dword 0cc90cc90h
479 lock sbb qword [rbx], dword 0cc90cc90h
480 lock sbb qword [rdi], dword 0cc90cc90h
481 lock sbb qword [r9], dword 0cc90cc90h
482%endif
483 ; 83 /3 ib SBB reg/memX, imm8 - sans reg dst
484 lock sbb word [1000h], byte 07fh
485 lock sbb word [xBX], byte 07fh
486 lock sbb word [xDI], byte 07fh
487 lock sbb dword [1000h], byte 07fh
488 lock sbb dword [xBX], byte 07fh
489 lock sbb dword [xDI], byte 07fh
490%ifdef WITH_64_BIT_TESTS
491 lock sbb qword [1000h], byte 07fh
492 lock sbb qword [rbx], byte 07fh
493 lock sbb qword [rdi], byte 07fh
494 lock sbb qword [r10], byte 07fh
495%endif
496
497 ; 18 /r SBB reg/mem8, reg8 - sans reg dst
498 lock sbb byte [1000h], bl
499 lock sbb byte [xBX], bl
500 lock sbb byte [xSI], bl
501 ; 19 /r SBB reg/memX, regX - sans reg dst
502 lock sbb word [1000h], bx
503 lock sbb word [xBX], bx
504 lock sbb word [xSI], bx
505 lock sbb dword [1000h], ebx
506 lock sbb dword [xBX], ebx
507 lock sbb dword [xSI], ebx
508%ifdef WITH_64_BIT_TESTS
509 lock sbb qword [1000h], rbx
510 lock sbb qword [rbx], rbx
511 lock sbb qword [rsi], rbx
512 lock sbb qword [r11], rbx
513%endif
514
515 ;
516 ; SUB
517 ;
518 ; 80 /5 ib SUB reg/mem8, imm8 - sans reg dst
519 lock sub byte [1000h], byte 8
520 lock sub byte [xBX], byte 8
521 lock sub byte [xDI], byte 8
522 ; 81 /5 i[wd] SUB reg/memX, immX - sans reg dst
523 lock sub word [1000h], word 090cch
524 lock sub word [xBX], word 090cch
525 lock sub word [xDI], word 090cch
526 lock sub dword [1000h], dword 0cc90cc90h
527 lock sub dword [xBX], dword 0cc90cc90h
528 lock sub dword [xDI], dword 0cc90cc90h
529%ifdef WITH_64_BIT_TESTS_IMM32
530 lock sub qword [1000h], dword 0cc90cc90h
531 lock sub qword [rbx], dword 0cc90cc90h
532 lock sub qword [rdi], dword 0cc90cc90h
533 lock sub qword [r9], dword 0cc90cc90h
534%endif
535 ; 83 /5 ib SUB reg/memX, imm8 - sans reg dst
536 lock sub word [1000h], byte 07fh
537 lock sub word [xBX], byte 07fh
538 lock sub word [xDI], byte 07fh
539 lock sub dword [1000h], byte 07fh
540 lock sub dword [xBX], byte 07fh
541 lock sub dword [xDI], byte 07fh
542%ifdef WITH_64_BIT_TESTS
543 lock sub qword [1000h], byte 07fh
544 lock sub qword [rbx], byte 07fh
545 lock sub qword [rdi], byte 07fh
546 lock sub qword [r10], byte 07fh
547%endif
548
549 ; 28 /r SUB reg/mem8, reg8 - sans reg dst
550 lock sub byte [1000h], bl
551 lock sub byte [xBX], bl
552 lock sub byte [xSI], bl
553 ; 29 /r SUB reg/memX, regX - sans reg dst
554 lock sub word [1000h], bx
555 lock sub word [xBX], bx
556 lock sub word [xSI], bx
557 lock sub dword [1000h], ebx
558 lock sub dword [xBX], ebx
559 lock sub dword [xSI], ebx
560%ifdef WITH_64_BIT_TESTS
561 lock sub qword [1000h], rbx
562 lock sub qword [rbx], rbx
563 lock sub qword [rsi], rbx
564 lock sub qword [r11], rbx
565%endif
566
567 ; XADD
568
569%if 0
570 ; XCHG
571 lock xchg [eax], eax
572 lock xchg [ebx], eax
573 lock xchg [ecx], eax
574 lock xchg [edx], eax
575 lock xchg [esp], eax
576 lock xchg [ebp], eax
577 lock xchg [esi], eax
578 lock xchg [edi], eax
579 lock xchg [eax], ebx
580 lock xchg [ebx], ebx
581 lock xchg [ecx], ebx
582 lock xchg [edx], ebx
583 lock xchg [esp], ebx
584 lock xchg [ebp], ebx
585 lock xchg [esi], ebx
586 lock xchg [edi], ebx
587 lock xchg [eax], ecx
588 lock xchg [ebx], ecx
589 lock xchg [ecx], ecx
590 lock xchg [edx], ecx
591 lock xchg [esp], ecx
592 lock xchg [ebp], ecx
593 lock xchg [esi], ecx
594 lock xchg [edi], ecx
595 lock xchg [eax], edx
596 lock xchg [ebx], edx
597 lock xchg [ecx], edx
598 lock xchg [edx], edx
599 lock xchg [esp], edx
600 lock xchg [ebp], edx
601 lock xchg [esi], edx
602 lock xchg [edi], edx
603 lock xchg [eax], esp
604 lock xchg [ebx], esp
605 lock xchg [ecx], esp
606 lock xchg [edx], esp
607 lock xchg [esp], esp
608 lock xchg [ebp], esp
609 lock xchg [esi], esp
610 lock xchg [edi], esp
611 lock xchg [eax], ebp
612 lock xchg [ebx], ebp
613 lock xchg [ecx], ebp
614 lock xchg [edx], ebp
615 lock xchg [esp], ebp
616 lock xchg [ebp], ebp
617 lock xchg [esi], ebp
618 lock xchg [edi], ebp
619 lock xchg [eax], esi
620 lock xchg [ebx], esi
621 lock xchg [ecx], esi
622 lock xchg [edx], esi
623 lock xchg [esp], esi
624 lock xchg [ebp], esi
625 lock xchg [esi], esi
626 lock xchg [edi], esi
627 lock xchg [eax], edi
628 lock xchg [ebx], edi
629 lock xchg [ecx], edi
630 lock xchg [edx], edi
631 lock xchg [esp], edi
632 lock xchg [ebp], edi
633 lock xchg [esi], edi
634 lock xchg [edi], edi
635
636 lock xchg [10], eax
637 lock xchg [10], ebx
638 lock xchg [10], ecx
639 lock xchg [10], edx
640 lock xchg [10], esp
641 lock xchg [10], ebp
642 lock xchg [10], esi
643 lock xchg [10], edi
644
645 lock xchg [10000], eax
646 lock xchg [10000], ebx
647 lock xchg [10000], ecx
648 lock xchg [10000], edx
649 lock xchg [10000], esp
650 lock xchg [10000], ebp
651 lock xchg [10000], esi
652 lock xchg [10000], edi
653
654 xchg [eax], eax
655 xchg [ebx], eax
656 xchg [ecx], eax
657 xchg [edx], eax
658 xchg [esp], eax
659 xchg [ebp], eax
660 xchg [esi], eax
661 xchg [edi], eax
662 xchg [eax], ebx
663 xchg [ebx], ebx
664 xchg [ecx], ebx
665 xchg [edx], ebx
666 xchg [esp], ebx
667 xchg [ebp], ebx
668 xchg [esi], ebx
669 xchg [edi], ebx
670 xchg [eax], ecx
671 xchg [ebx], ecx
672 xchg [ecx], ecx
673 xchg [edx], ecx
674 xchg [esp], ecx
675 xchg [ebp], ecx
676 xchg [esi], ecx
677 xchg [edi], ecx
678 xchg [eax], edx
679 xchg [ebx], edx
680 xchg [ecx], edx
681 xchg [edx], edx
682 xchg [esp], edx
683 xchg [ebp], edx
684 xchg [esi], edx
685 xchg [edi], edx
686 xchg [eax], esp
687 xchg [ebx], esp
688 xchg [ecx], esp
689 xchg [edx], esp
690 xchg [esp], esp
691 xchg [ebp], esp
692 xchg [esi], esp
693 xchg [edi], esp
694 xchg [eax], ebp
695 xchg [ebx], ebp
696 xchg [ecx], ebp
697 xchg [edx], ebp
698 xchg [esp], ebp
699 xchg [ebp], ebp
700 xchg [esi], ebp
701 xchg [edi], ebp
702 xchg [eax], esi
703 xchg [ebx], esi
704 xchg [ecx], esi
705 xchg [edx], esi
706 xchg [esp], esi
707 xchg [ebp], esi
708 xchg [esi], esi
709 xchg [edi], esi
710 xchg [eax], edi
711 xchg [ebx], edi
712 xchg [ecx], edi
713 xchg [edx], edi
714 xchg [esp], edi
715 xchg [ebp], edi
716 xchg [esi], edi
717 xchg [edi], edi
718
719 nop
720 xchg ebx, eax
721 xchg ecx, eax
722 xchg edx, eax
723 xchg esp, eax
724 xchg ebp, eax
725 xchg esi, eax
726 xchg edi, eax
727 xchg eax, ebx
728 xchg ebx, ebx
729 xchg ecx, ebx
730 xchg edx, ebx
731 xchg esp, ebx
732 xchg ebp, ebx
733 xchg esi, ebx
734 xchg edi, ebx
735 xchg eax, ecx
736 xchg ebx, ecx
737 xchg ecx, ecx
738 xchg edx, ecx
739 xchg esp, ecx
740 xchg ebp, ecx
741 xchg esi, ecx
742 xchg edi, ecx
743 xchg eax, edx
744 xchg ebx, edx
745 xchg ecx, edx
746 xchg edx, edx
747 xchg esp, edx
748 xchg ebp, edx
749 xchg esi, edx
750 xchg edi, edx
751 xchg eax, esp
752 xchg ebx, esp
753 xchg ecx, esp
754 xchg edx, esp
755 xchg esp, esp
756 xchg ebp, esp
757 xchg esi, esp
758 xchg edi, esp
759 xchg eax, ebp
760 xchg ebx, ebp
761 xchg ecx, ebp
762 xchg edx, ebp
763 xchg esp, ebp
764 xchg ebp, ebp
765 xchg esi, ebp
766 xchg edi, ebp
767 xchg eax, esi
768 xchg ebx, esi
769 xchg ecx, esi
770 xchg edx, esi
771 xchg esp, esi
772 xchg ebp, esi
773 xchg esi, esi
774 xchg edi, esi
775 xchg eax, edi
776 xchg ebx, edi
777 xchg ecx, edi
778 xchg edx, edi
779 xchg esp, edi
780 xchg ebp, edi
781 xchg esi, edi
782 xchg edi, edi
783
784 ; XOR
785 lock xor [1011], eax
786 lock xor [1011], ebx
787 lock xor [1011], ecx
788 lock xor [1011], edx
789 lock xor [1011], esp
790 lock xor [1011], ebp
791 lock xor [1011], esi
792 lock xor [1011], edi
793
794 lock xor [1011], ax
795 lock xor [1011], bx
796 lock xor [1011], cx
797 lock xor [1011], dx
798 lock xor [1011], sp
799 lock xor [1011], bp
800 lock xor [1011], si
801 lock xor [1011], di
802
803 lock xor byte [11], 10
804 lock xor word [11], 10433
805 lock xor dword [11], 10433
806
807 lock xor byte [eax], 1
808 lock xor byte [ebx], 2
809 lock xor byte [ecx], 3
810 lock xor byte [edx], 4
811 lock xor byte [esp], 5
812 lock xor byte [ebp], 6
813 lock xor byte [esi], 7
814 lock xor byte [edi], 8
815
816 lock xor word [eax], 11234
817 lock xor word [ebx], 21234
818 lock xor word [ecx], 31234
819 lock xor word [edx], 41234
820 lock xor word [esp], 51234
821 lock xor word [ebp], 61234
822 lock xor word [esi], 17234
823 lock xor word [edi], 18234
824
825 lock xor dword [eax], 1011234
826 lock xor dword [ebx], 1021234
827 lock xor dword [ecx], 1031234
828 lock xor dword [edx], 1041234
829 lock xor dword [esp], 1051234
830 lock xor dword [ebp], 1061234
831 lock xor dword [esi], 1071234
832 lock xor dword [edi], 1081234
833
834 lock xor [eax], eax
835 lock xor [eax], ebx
836 lock xor [eax], ecx
837 lock xor [eax], edx
838 lock xor [eax], esp
839 lock xor [eax], ebp
840 lock xor [eax], esi
841 lock xor [eax], edi
842 lock xor [ebx], eax
843 lock xor [ebx], ebx
844 lock xor [ebx], ecx
845 lock xor [ebx], edx
846 lock xor [ebx], esp
847 lock xor [ebx], ebp
848 lock xor [ebx], esi
849 lock xor [ebx], edi
850 lock xor [ecx], eax
851 lock xor [ecx], ebx
852 lock xor [ecx], ecx
853 lock xor [ecx], edx
854 lock xor [ecx], esp
855 lock xor [ecx], ebp
856 lock xor [ecx], esi
857 lock xor [ecx], edi
858 lock xor [edx], eax
859 lock xor [edx], ebx
860 lock xor [edx], ecx
861 lock xor [edx], edx
862 lock xor [edx], esp
863 lock xor [edx], ebp
864 lock xor [edx], esi
865 lock xor [edx], edi
866 lock xor [esp], eax
867 lock xor [esp], ebx
868 lock xor [esp], ecx
869 lock xor [esp], edx
870 lock xor [esp], esp
871 lock xor [esp], ebp
872 lock xor [esp], esi
873 lock xor [esp], edi
874 lock xor [ebp], eax
875 lock xor [ebp], ebx
876 lock xor [ebp], ecx
877 lock xor [ebp], edx
878 lock xor [ebp], esp
879 lock xor [ebp], ebp
880 lock xor [ebp], esi
881 lock xor [ebp], edi
882 lock xor [esi], eax
883 lock xor [esi], ebx
884 lock xor [esi], ecx
885 lock xor [esi], edx
886 lock xor [esi], esp
887 lock xor [esi], ebp
888 lock xor [esi], esi
889 lock xor [esi], edi
890 lock xor [edi], eax
891 lock xor [edi], ebx
892 lock xor [edi], ecx
893 lock xor [edi], edx
894 lock xor [edi], esp
895 lock xor [edi], ebp
896 lock xor [edi], esi
897 lock xor [edi], edi
898
899 lock xor [eax], ax
900 lock xor [eax], bx
901 lock xor [eax], cx
902 lock xor [eax], dx
903 lock xor [eax], sp
904 lock xor [eax], bp
905 lock xor [eax], si
906 lock xor [eax], di
907 lock xor [ebx], ax
908 lock xor [ebx], bx
909 lock xor [ebx], cx
910 lock xor [ebx], dx
911 lock xor [ebx], sp
912 lock xor [ebx], bp
913 lock xor [ebx], si
914 lock xor [ebx], di
915 lock xor [ecx], ax
916 lock xor [ecx], bx
917 lock xor [ecx], cx
918 lock xor [ecx], dx
919 lock xor [ecx], sp
920 lock xor [ecx], bp
921 lock xor [ecx], si
922 lock xor [ecx], di
923 lock xor [edx], ax
924 lock xor [edx], bx
925 lock xor [edx], cx
926 lock xor [edx], dx
927 lock xor [edx], sp
928 lock xor [edx], bp
929 lock xor [edx], si
930 lock xor [edx], di
931 lock xor [esp], ax
932 lock xor [esp], bx
933 lock xor [esp], cx
934 lock xor [esp], dx
935 lock xor [esp], sp
936 lock xor [esp], bp
937 lock xor [esp], si
938 lock xor [esp], di
939 lock xor [ebp], ax
940 lock xor [ebp], bx
941 lock xor [ebp], cx
942 lock xor [ebp], dx
943 lock xor [ebp], sp
944 lock xor [ebp], bp
945 lock xor [ebp], si
946 lock xor [ebp], di
947 lock xor [esi], ax
948 lock xor [esi], bx
949 lock xor [esi], cx
950 lock xor [esi], dx
951 lock xor [esi], sp
952 lock xor [esi], bp
953 lock xor [esi], si
954 lock xor [esi], di
955 lock xor [edi], ax
956 lock xor [edi], bx
957 lock xor [edi], cx
958 lock xor [edi], dx
959 lock xor [edi], sp
960 lock xor [edi], bp
961 lock xor [edi], si
962 lock xor [edi], di
963
964 lock xor [eax], al
965 lock xor [eax], ah
966 lock xor [eax], bl
967 lock xor [eax], bh
968 lock xor [eax], cl
969 lock xor [eax], ch
970 lock xor [eax], dl
971 lock xor [eax], dh
972 lock xor [ebx], al
973 lock xor [ebx], ah
974 lock xor [ebx], bl
975 lock xor [ebx], bh
976 lock xor [ebx], cl
977 lock xor [ebx], ch
978 lock xor [ebx], dl
979 lock xor [ebx], dh
980 lock xor [ecx], al
981 lock xor [ecx], ah
982 lock xor [ecx], bl
983 lock xor [ecx], bh
984 lock xor [ecx], cl
985 lock xor [ecx], ch
986 lock xor [ecx], dl
987 lock xor [ecx], dh
988 lock xor [edx], al
989 lock xor [edx], ah
990 lock xor [edx], bl
991 lock xor [edx], bh
992 lock xor [edx], cl
993 lock xor [edx], ch
994 lock xor [edx], dl
995 lock xor [edx], dh
996 lock xor [esp], al
997 lock xor [esp], ah
998 lock xor [esp], bl
999 lock xor [esp], bh
1000 lock xor [esp], cl
1001 lock xor [esp], ch
1002 lock xor [esp], dl
1003 lock xor [esp], dh
1004 lock xor [ebp], al
1005 lock xor [ebp], ah
1006 lock xor [ebp], bl
1007 lock xor [ebp], bh
1008 lock xor [ebp], cl
1009 lock xor [ebp], ch
1010 lock xor [ebp], dl
1011 lock xor [ebp], dh
1012 lock xor [esi], al
1013 lock xor [esi], ah
1014 lock xor [esi], bl
1015 lock xor [esi], bh
1016 lock xor [esi], cl
1017 lock xor [esi], ch
1018 lock xor [esi], dl
1019 lock xor [esi], dh
1020 lock xor [edi], al
1021 lock xor [edi], ah
1022 lock xor [edi], bl
1023 lock xor [edi], bh
1024 lock xor [edi], cl
1025 lock xor [edi], ch
1026 lock xor [edi], dl
1027 lock xor [edi], dh
1028
1029 xor [1011], eax
1030 xor [1011], ebx
1031 xor [1011], ecx
1032 xor [1011], edx
1033 xor [1011], esp
1034 xor [1011], ebp
1035 xor [1011], esi
1036 xor [1011], edi
1037
1038 xor [1011], ax
1039 xor [1011], bx
1040 xor [1011], cx
1041 xor [1011], dx
1042 xor [1011], sp
1043 xor [1011], bp
1044 xor [1011], si
1045 xor [1011], di
1046
1047 xor byte [11], 10
1048 xor word [11], 10433
1049 xor dword [11], 10433
1050
1051 xor byte [eax], 1
1052 xor byte [ebx], 2
1053 xor byte [ecx], 3
1054 xor byte [edx], 4
1055 xor byte [esp], 5
1056 xor byte [ebp], 6
1057 xor byte [esi], 7
1058 xor byte [edi], 8
1059
1060 xor word [eax], 11234
1061 xor word [ebx], 21234
1062 xor word [ecx], 31234
1063 xor word [edx], 41234
1064 xor word [esp], 51234
1065 xor word [ebp], 61234
1066 xor word [esi], 17234
1067 xor word [edi], 18234
1068
1069 xor dword [eax], 1011234
1070 xor dword [ebx], 1021234
1071 xor dword [ecx], 1031234
1072 xor dword [edx], 1041234
1073 xor dword [esp], 1051234
1074 xor dword [ebp], 1061234
1075 xor dword [esi], 1071234
1076 xor dword [edi], 1081234
1077
1078 xor [eax], eax
1079 xor [eax], ebx
1080 xor [eax], ecx
1081 xor [eax], edx
1082 xor [eax], esp
1083 xor [eax], ebp
1084 xor [eax], esi
1085 xor [eax], edi
1086 xor [ebx], eax
1087 xor [ebx], ebx
1088 xor [ebx], ecx
1089 xor [ebx], edx
1090 xor [ebx], esp
1091 xor [ebx], ebp
1092 xor [ebx], esi
1093 xor [ebx], edi
1094 xor [ecx], eax
1095 xor [ecx], ebx
1096 xor [ecx], ecx
1097 xor [ecx], edx
1098 xor [ecx], esp
1099 xor [ecx], ebp
1100 xor [ecx], esi
1101 xor [ecx], edi
1102 xor [edx], eax
1103 xor [edx], ebx
1104 xor [edx], ecx
1105 xor [edx], edx
1106 xor [edx], esp
1107 xor [edx], ebp
1108 xor [edx], esi
1109 xor [edx], edi
1110 xor [esp], eax
1111 xor [esp], ebx
1112 xor [esp], ecx
1113 xor [esp], edx
1114 xor [esp], esp
1115 xor [esp], ebp
1116 xor [esp], esi
1117 xor [esp], edi
1118 xor [ebp], eax
1119 xor [ebp], ebx
1120 xor [ebp], ecx
1121 xor [ebp], edx
1122 xor [ebp], esp
1123 xor [ebp], ebp
1124 xor [ebp], esi
1125 xor [ebp], edi
1126 xor [esi], eax
1127 xor [esi], ebx
1128 xor [esi], ecx
1129 xor [esi], edx
1130 xor [esi], esp
1131 xor [esi], ebp
1132 xor [esi], esi
1133 xor [esi], edi
1134 xor [edi], eax
1135 xor [edi], ebx
1136 xor [edi], ecx
1137 xor [edi], edx
1138 xor [edi], esp
1139 xor [edi], ebp
1140 xor [edi], esi
1141 xor [edi], edi
1142
1143 xor eax, eax
1144 xor eax, ebx
1145 xor eax, ecx
1146 xor eax, edx
1147 xor eax, esp
1148 xor eax, ebp
1149 xor eax, esi
1150 xor eax, edi
1151 xor ebx, eax
1152 xor ebx, ebx
1153 xor ebx, ecx
1154 xor ebx, edx
1155 xor ebx, esp
1156 xor ebx, ebp
1157 xor ebx, esi
1158 xor ebx, edi
1159 xor ecx, eax
1160 xor ecx, ebx
1161 xor ecx, ecx
1162 xor ecx, edx
1163 xor ecx, esp
1164 xor ecx, ebp
1165 xor ecx, esi
1166 xor ecx, edi
1167 xor edx, eax
1168 xor edx, ebx
1169 xor edx, ecx
1170 xor edx, edx
1171 xor edx, esp
1172 xor edx, ebp
1173 xor edx, esi
1174 xor edx, edi
1175 xor esp, eax
1176 xor esp, ebx
1177 xor esp, ecx
1178 xor esp, edx
1179 xor esp, esp
1180 xor esp, ebp
1181 xor esp, esi
1182 xor esp, edi
1183 xor ebp, eax
1184 xor ebp, ebx
1185 xor ebp, ecx
1186 xor ebp, edx
1187 xor ebp, esp
1188 xor ebp, ebp
1189 xor ebp, esi
1190 xor ebp, edi
1191 xor esi, eax
1192 xor esi, ebx
1193 xor esi, ecx
1194 xor esi, edx
1195 xor esi, esp
1196 xor esi, ebp
1197 xor esi, esi
1198 xor esi, edi
1199 xor edi, eax
1200 xor edi, ebx
1201 xor edi, ecx
1202 xor edi, edx
1203 xor edi, esp
1204 xor edi, ebp
1205 xor edi, esi
1206 xor edi, edi
1207%endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette