cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync/****************************************************************************
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* Realmode X86 Emulator Library
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* Copyright (C) 1996-1999 SciTech Software, Inc.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* Copyright (C) David Mosberger-Tang
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* Copyright (C) 1999 Egbert Eich
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* ========================================================================
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* Permission to use, copy, modify, distribute, and sell this software and
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* its documentation for any purpose is hereby granted without fee,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* provided that the above copyright notice appear in all copies and that
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* both that copyright notice and this permission notice appear in
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* supporting documentation, and that the name of the authors not be used
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* in advertising or publicity pertaining to distribution of the software
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* without specific, written prior permission. The authors makes no
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* representations about the suitability of this software for any purpose.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* It is provided "as is" without express or implied warranty.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* PERFORMANCE OF THIS SOFTWARE.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* ========================================================================
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* Language: Watcom C++ 10.6 or later
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* Environment: Any
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* Developer: Kendall Bennett
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* Description: Inline assembler versions of the primitive operand
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* functions for faster performance. At the moment this is
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* x86 inline assembler, but these functions could be replaced
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* with native inline assembler for each supported processor
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync* platform.
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync*
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync****************************************************************************/
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#ifndef __X86EMU_PRIM_ASM_H
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#define __X86EMU_PRIM_ASM_H
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#ifdef __WATCOMC__
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#ifndef VALIDATE
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#define __HAVE_INLINE_ASSEMBLER__
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 get_flags_asm(void);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux get_flags_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop eax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 aaa_word_asm(u32 *flags,u16 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux aaa_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "aaa" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 aas_word_asm(u32 *flags,u16 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux aas_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "aas" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 aad_word_asm(u32 *flags,u16 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux aad_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "aad" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 aam_word_asm(u32 *flags,u8 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux aam_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "aam" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 adc_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux adc_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "adc al,bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 adc_word_asm(u32 *flags,u16 d, u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux adc_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "adc ax,bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [bx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 adc_long_asm(u32 *flags,u32 d, u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux adc_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "adc eax,ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 add_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux add_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "add al,bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 add_word_asm(u32 *flags,u16 d, u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux add_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "add ax,bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [bx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 add_long_asm(u32 *flags,u32 d, u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux add_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "add eax,ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 and_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux and_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "and al,bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 and_word_asm(u32 *flags,u16 d, u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux and_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "and ax,bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [bx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 and_long_asm(u32 *flags,u32 d, u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux and_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "and eax,ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 cmp_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux cmp_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "cmp al,bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 cmp_word_asm(u32 *flags,u16 d, u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux cmp_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "cmp ax,bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [bx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 cmp_long_asm(u32 *flags,u32 d, u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux cmp_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "cmp eax,ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 daa_byte_asm(u32 *flags,u8 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux daa_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "daa" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 das_byte_asm(u32 *flags,u8 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux das_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "das" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 dec_byte_asm(u32 *flags,u8 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux dec_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "dec al" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 dec_word_asm(u32 *flags,u16 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux dec_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "dec ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 dec_long_asm(u32 *flags,u32 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux dec_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "dec eax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 inc_byte_asm(u32 *flags,u8 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux inc_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "inc al" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 inc_word_asm(u32 *flags,u16 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux inc_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "inc ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 inc_long_asm(u32 *flags,u32 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux inc_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "inc eax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 or_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux or_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "or al,bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 or_word_asm(u32 *flags,u16 d, u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux or_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "or ax,bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [bx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 or_long_asm(u32 *flags,u32 d, u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux or_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "or eax,ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 neg_byte_asm(u32 *flags,u8 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux neg_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "neg al" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 neg_word_asm(u32 *flags,u16 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux neg_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "neg ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 neg_long_asm(u32 *flags,u32 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux neg_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "neg eax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 not_byte_asm(u32 *flags,u8 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux not_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "not al" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 not_word_asm(u32 *flags,u16 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux not_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "not ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 not_long_asm(u32 *flags,u32 d);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux not_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "not eax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 rcl_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux rcl_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "rcl al,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 rcl_word_asm(u32 *flags,u16 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux rcl_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "rcl ax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 rcl_long_asm(u32 *flags,u32 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux rcl_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "rcl eax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 rcr_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux rcr_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "rcr al,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 rcr_word_asm(u32 *flags,u16 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux rcr_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "rcr ax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 rcr_long_asm(u32 *flags,u32 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux rcr_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "rcr eax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 rol_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux rol_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "rol al,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 rol_word_asm(u32 *flags,u16 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux rol_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "rol ax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 rol_long_asm(u32 *flags,u32 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux rol_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "rol eax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 ror_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux ror_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "ror al,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 ror_word_asm(u32 *flags,u16 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux ror_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "ror ax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 ror_long_asm(u32 *flags,u32 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux ror_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "ror eax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 shl_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shl_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shl al,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 shl_word_asm(u32 *flags,u16 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shl_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shl ax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 shl_long_asm(u32 *flags,u32 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shl_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shl eax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 shr_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shr_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shr al,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 shr_word_asm(u32 *flags,u16 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shr_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shr ax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 shr_long_asm(u32 *flags,u32 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shr_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shr eax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 sar_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux sar_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "sar al,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 sar_word_asm(u32 *flags,u16 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux sar_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "sar ax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 sar_long_asm(u32 *flags,u32 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux sar_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "sar eax,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 shld_word_asm(u32 *flags,u16 d, u16 fill, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shld_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shld ax,dx,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [dx] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax dx cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 shld_long_asm(u32 *flags,u32 d, u32 fill, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shld_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shld eax,edx,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [edx] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax edx cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 shrd_word_asm(u32 *flags,u16 d, u16 fill, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shrd_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shrd ax,dx,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [dx] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax dx cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 shrd_long_asm(u32 *flags,u32 d, u32 fill, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux shrd_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "shrd eax,edx,cl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [edx] [cl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax edx cl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 sbb_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux sbb_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "sbb al,bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 sbb_word_asm(u32 *flags,u16 d, u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux sbb_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "sbb ax,bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [bx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 sbb_long_asm(u32 *flags,u32 d, u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux sbb_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "sbb eax,ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 sub_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux sub_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "sub al,bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 sub_word_asm(u32 *flags,u16 d, u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux sub_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "sub ax,bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [bx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 sub_long_asm(u32 *flags,u32 d, u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux sub_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "sub eax,ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid test_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux test_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "test al,bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid test_word_asm(u32 *flags,u16 d, u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux test_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "test ax,bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [bx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid test_long_asm(u32 *flags,u32 d, u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux test_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "test eax,ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu8 xor_byte_asm(u32 *flags,u8 d, u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux xor_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "xor al,bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [al] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [al bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu16 xor_word_asm(u32 *flags,u16 d, u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux xor_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "xor ax,bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [ax] [bx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [ax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [ax bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncu32 xor_long_asm(u32 *flags,u32 d, u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux xor_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "xor eax,ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync value [eax] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [eax ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid imul_byte_asm(u32 *flags,u16 *ax,u8 d,u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux imul_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "imul bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi ax bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid imul_word_asm(u32 *flags,u16 *ax,u16 *dx,u16 d,u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux imul_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "imul bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],dx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [ax] [bx]\
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi ax bx dx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid imul_long_asm(u32 *flags,u32 *eax,u32 *edx,u32 d,u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux imul_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "imul ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],eax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],edx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi eax ebx edx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid mul_byte_asm(u32 *flags,u16 *ax,u8 d,u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux mul_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mul bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [al] [bl] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi ax bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid mul_word_asm(u32 *flags,u16 *ax,u16 *dx,u16 d,u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux mul_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mul bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],dx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [ax] [bx]\
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi ax bx dx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid mul_long_asm(u32 *flags,u32 *eax,u32 *edx,u32 d,u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux mul_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mul ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],eax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],edx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [eax] [ebx] \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi eax ebx edx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid idiv_byte_asm(u32 *flags,u8 *al,u8 *ah,u16 d,u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux idiv_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "idiv bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],al" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],ah" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [ax] [bl]\
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi ax bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid idiv_word_asm(u32 *flags,u16 *ax,u16 *dx,u16 dlo,u16 dhi,u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux idiv_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "idiv bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],dx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [ax] [dx] [bx]\
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi ax dx bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid idiv_long_asm(u32 *flags,u32 *eax,u32 *edx,u32 dlo,u32 dhi,u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux idiv_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "idiv ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],eax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],edx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [eax] [edx] [ebx]\
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi eax edx ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid div_byte_asm(u32 *flags,u8 *al,u8 *ah,u16 d,u8 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux div_byte_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "div bl" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],al" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],ah" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [ax] [bl]\
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi ax bl];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid div_word_asm(u32 *flags,u16 *ax,u16 *dx,u16 dlo,u16 dhi,u16 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux div_word_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "div bx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],ax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],dx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [ax] [dx] [bx]\
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi ax dx bx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsyncvoid div_long_asm(u32 *flags,u32 *eax,u32 *edx,u32 dlo,u32 dhi,u32 s);
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#pragma aux div_long_asm = \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "push [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "popf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "div ebx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pushf" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "pop [edi]" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [esi],eax" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync "mov [ecx],edx" \
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync parm [edi] [esi] [ecx] [eax] [edx] [ebx]\
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync modify exact [esi edi eax edx ebx];
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#endif
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync
cabde247f900dcf6e58d009bbdd15099c028c6fcvboxsync#endif /* __X86EMU_PRIM_ASM_H */