src/commands/i386/asmconv/asm86.h File Reference

Go to the source code of this file.

Classes

struct  expression
struct  asm86

Defines

#define is_pseudo(o)   ((o) <= DOT_USE32)
#define N_OPCODES   ((int) XOR + 1)
#define OPZ   0x01
#define ADZ   0x02

Typedefs

typedef enum opcode opcode_t
typedef enum optype optype_t
typedef enum repeat repeat_t
typedef enum segment segment_t
typedef struct expression expression_t
typedef struct asm86 asm86_t

Enumerations

enum  opcode {
  DOT_ALIGN, DOT_ASCII, DOT_ASCIZ, DOT_ASSERT,
  DOT_BASE, DOT_COMM, DOT_LCOMM, DOT_DATA1,
  DOT_DATA2, DOT_DATA4, DOT_DEFINE, DOT_EXTERN,
  DOT_EQU, DOT_FILE, DOT_LINE, DOT_LABEL,
  DOT_LIST, DOT_NOLIST, DOT_SPACE, DOT_SYMB,
  DOT_TEXT, DOT_ROM, DOT_DATA, DOT_BSS,
  DOT_END, DOT_USE16, DOT_USE32, AAA,
  AAD, AAM, AAS, ADC,
  ADD, AND, ARPL, BOUND,
  BSF, BSR, BSWAP, BT,
  BTC, BTR, BTS, CALL,
  CALLF, CBW, CLC, CLD,
  CLI, CLTS, CMC, CMP,
  CMPS, CMPXCHG, CWD, DAA,
  DAS, DEC, DIV, ENTER,
  F2XM1, FABS, FADD, FADDD,
  FADDS, FADDP, FIADDL, FIADDS,
  FBLD, FBSTP, FCHS, FCLEX,
  FCOMD, FCOMS, FCOMPD, FCOMPS,
  FCOMPP, FCOS, FDECSTP, FDIVD,
  FDIVS, FDIVP, FIDIVL, FIDIVS,
  FDIVRD, FDIVRS, FDIVRP, FIDIVRL,
  FIDIVRS, FFREE, FICOM, FICOMP,
  FILDQ, FILDL, FILDS, FINCSTP,
  FINIT, FISTL, FISTS, FISTP,
  FLDX, FLDD, FLDS, FLD1,
  FLDL2T, FLDL2E, FLDPI, FLDLG2,
  FLDLN2, FLDZ, FLDCW, FLDENV,
  FMULD, FMULS, FMULP, FIMULL,
  FIMULS, FNOP, FPATAN, FPREM,
  FPREM1, FPTAN, FRNDINT, FRSTOR,
  FSAVE, FSCALE, FSIN, FSINCOS,
  FSQRT, FSTD, FSTS, FSTP,
  FSTPX, FSTPD, FSTPS, FSTCW,
  FSTENV, FSTSW, FSUBD, FSUBS,
  FSUBP, FISUBL, FISUBS, FSUBRD,
  FSUBRS, FSUBPR, FISUBRL, FISUBRS,
  FTST, FUCOM, FUCOMP, FUCOMPP,
  FXAM, FXCH, FXTRACT, FYL2X,
  FYL2XP1, HLT, IDIV, IMUL,
  IN, INC, INS, INT,
  INTO, INVD, INVLPG, IRET,
  IRETD, JA, JAE, JB,
  JBE, JCXZ, JE, JG,
  JGE, JL, JLE, JNE,
  JNO, JNP, JNS, JO,
  JP, JS, JMP, JMPF,
  LAHF, LAR, LEA, LEAVE,
  LGDT, LIDT, LGS, LSS,
  LDS, LES, LFS, LLDT,
  LMSW, LOCK, LODS, LOOP,
  LOOPE, LOOPNE, LSL, LTR,
  MOV, MOVS, MOVSX, MOVSXB,
  MOVZX, MOVZXB, MUL, NEG,
  NOP, NOT, OR, OUT,
  OUTS, POP, POPA, POPF,
  PUSH, PUSHA, PUSHF, RCL,
  RCR, ROL, ROR, RET,
  RETF, SAHF, SAL, SAR,
  SHL, SHR, SBB, SCAS,
  SETA, SETAE, SETB, SETBE,
  SETE, SETG, SETGE, SETL,
  SETLE, SETNE, SETNO, SETNP,
  SETNS, SETO, SETP, SETS,
  SGDT, SIDT, SHLD, SHRD,
  SLDT, SMSW, STC, STD,
  STI, STOS, STR, SUB,
  TEST, VERR, VERW, WAIT,
  WBINVD, XADD, XCHG, XLAT,
  XOR, DOT_ALIGN, DOT_ASCII, DOT_ASCIZ,
  DOT_ASSERT, DOT_BASE, DOT_COMM, DOT_LCOMM,
  DOT_DATA1, DOT_DATA2, DOT_DATA4, DOT_DEFINE,
  DOT_EXTERN, DOT_EQU, DOT_FILE, DOT_LINE,
  DOT_LABEL, DOT_LIST, DOT_NOLIST, DOT_SPACE,
  DOT_SYMB, DOT_TEXT, DOT_ROM, DOT_DATA,
  DOT_BSS, DOT_END, DOT_USE16, DOT_USE32,
  AAA, AAD, AAM, AAS,
  ADC, ADD, AND, ARPL,
  BOUND, BSF, BSR, BSWAP,
  BT, BTC, BTR, BTS,
  CALL, CALLF, CBW, CLC,
  CLD, CLI, CLTS, CMC,
  CMP, CMPS, CMPXCHG, CPUID,
  CWD, DAA, DAS, DEC,
  DIV, ENTER, F2XM1, FABS,
  FADD, FADDD, FADDS, FADDP,
  FIADDL, FIADDS, FBLD, FBSTP,
  FCHS, FCLEX, FCOMD, FCOMS,
  FCOMPD, FCOMPS, FCOMPP, FCOS,
  FDECSTP, FDIVD, FDIVS, FDIVP,
  FIDIVL, FIDIVS, FDIVRD, FDIVRS,
  FDIVRP, FIDIVRL, FIDIVRS, FFREE,
  FICOM, FICOMP, FILDQ, FILDL,
  FILDS, FINCSTP, FINIT, FISTL,
  FISTS, FISTP, FLDX, FLDD,
  FLDS, FLD1, FLDL2T, FLDL2E,
  FLDPI, FLDLG2, FLDLN2, FLDZ,
  FLDCW, FLDENV, FMULD, FMULS,
  FMULP, FIMULL, FIMULS, FNINIT,
  FNOP, FNSAVE, FNSTCW, FNSTSW,
  FPATAN, FPREM, FPREM1, FPTAN,
  FRNDINT, FRSTOR, FSAVE, FWAIT,
  FXRSTOR, FXSAVE, FSCALE, FSIN,
  FSINCOS, FSQRT, FSTD, FSTS,
  FSTPX, FSTPD, FSTPS, FSTCW,
  FSTENV, FSTSW, FSUBD, FSUBS,
  FSUBP, FISUBL, FISUBS, FSUBRD,
  FSUBRS, FSUBPR, FISUBRL, FISUBRS,
  FTST, FUCOM, FUCOMP, FUCOMPP,
  FXAM, FXCH, FXTRACT, FYL2X,
  FYL2XP1, HLT, IDIV, IMUL,
  IN, INC, INS, INT,
  INTO, INVD, INVLPG, IRET,
  IRETD, JA, JAE, JB,
  JBE, JCXZ, JE, JG,
  JGE, JL, JLE, JNE,
  JNO, JNP, JNS, JO,
  JP, JS, JMP, JMPF,
  LAHF, LAR, LEA, LEAVE,
  LGDT, LIDT, LGS, LSS,
  LDS, LES, LFS, LLDT,
  LMSW, LOCK, LODS, LOOP,
  LOOPE, LOOPNE, LSL, LTR,
  MFENCE, MOV, MOVS, MOVSX,
  MOVSXB, MOVZX, MOVZXB, MUL,
  NEG, NOP, NOT, OR,
  OUT, OUTS, PAUSE, POP,
  POPA, POPAD, POPF, PUSH,
  PUSHA, PUSHAD, PUSHF, RCL,
  RCR, ROL, ROR, RDMSR,
  RDPMC, RDTSC, RET, RETF,
  SAHF, SAL, SAR, SHL,
  SHR, SBB, SCAS, SETA,
  SETAE, SETB, SETBE, SETE,
  SETG, SETGE, SETL, SETLE,
  SETNE, SETNO, SETNP, SETNS,
  SETO, SETP, SETS, SGDT,
  SIDT, SHLD, SHRD, SLDT,
  SMSW, STC, STD, STI,
  STOS, STR, SUB, TEST,
  VERR, VERW, WAIT, WBINVD,
  WRMSR, XADD, XCHG, XLAT,
  XOR, COMMENT, C_PREPROCESSOR, UNKNOWN
}
enum  optype {
  PSEUDO, JUMP, BYTE, WORD,
  OWORD, NONE, PSEUDO, JUMP,
  JUMP16, BYTE, WORD, OWORD
}
enum  repeat {
  ONCE, REP, REPE, REPNE,
  ONCE, REP, REPE, REPNE
}
enum  segment {
  DEFSEG, CSEG, DSEG, ESEG,
  FSEG, GSEG, SSEG, DEFSEG,
  CSEG, DSEG, ESEG, FSEG,
  GSEG, SSEG
}

Functions

expression_tnew_expr (void)
void del_expr (expression_t *a)
asm86_tnew_asm86 (void)
void del_asm86 (asm86_t *a)
int isregister (const char *name)


Define Documentation

#define ADZ   0x02

Definition at line 183 of file asm86.h.

#define is_pseudo (  )     ((o) <= DOT_USE32)

Definition at line 179 of file asm86.h.

#define N_OPCODES   ((int) XOR + 1)

Definition at line 180 of file asm86.h.

#define OPZ   0x01

Definition at line 182 of file asm86.h.


Typedef Documentation

typedef struct asm86 asm86_t

typedef struct expression expression_t

typedef enum opcode opcode_t

typedef enum optype optype_t

typedef enum repeat repeat_t

typedef enum segment segment_t


Enumeration Type Documentation

enum opcode

Enumerator:
DOT_ALIGN 
DOT_ASCII 
DOT_ASCIZ 
DOT_ASSERT 
DOT_BASE 
DOT_COMM 
DOT_LCOMM 
DOT_DATA1 
DOT_DATA2 
DOT_DATA4 
DOT_DEFINE 
DOT_EXTERN 
DOT_EQU 
DOT_FILE 
DOT_LINE 
DOT_LABEL 
DOT_LIST 
DOT_NOLIST 
DOT_SPACE 
DOT_SYMB 
DOT_TEXT 
DOT_ROM 
DOT_DATA 
DOT_BSS 
DOT_END 
DOT_USE16 
DOT_USE32 
AAA 
AAD 
AAM 
AAS 
ADC 
ADD 
AND 
ARPL 
BOUND 
BSF 
BSR 
BSWAP 
BT 
BTC 
BTR 
BTS 
CALL 
CALLF 
CBW 
CLC 
CLD 
CLI 
CLTS 
CMC 
CMP 
CMPS 
CMPXCHG 
CWD 
DAA 
DAS 
DEC 
DIV 
ENTER 
F2XM1 
FABS 
FADD 
FADDD 
FADDS 
FADDP 
FIADDL 
FIADDS 
FBLD 
FBSTP 
FCHS 
FCLEX 
FCOMD 
FCOMS 
FCOMPD 
FCOMPS 
FCOMPP 
FCOS 
FDECSTP 
FDIVD 
FDIVS 
FDIVP 
FIDIVL 
FIDIVS 
FDIVRD 
FDIVRS 
FDIVRP 
FIDIVRL 
FIDIVRS 
FFREE 
FICOM 
FICOMP 
FILDQ 
FILDL 
FILDS 
FINCSTP 
FINIT 
FISTL 
FISTS 
FISTP 
FLDX 
FLDD 
FLDS 
FLD1 
FLDL2T 
FLDL2E 
FLDPI 
FLDLG2 
FLDLN2 
FLDZ 
FLDCW 
FLDENV 
FMULD 
FMULS 
FMULP 
FIMULL 
FIMULS 
FNOP 
FPATAN 
FPREM 
FPREM1 
FPTAN 
FRNDINT 
FRSTOR 
FSAVE 
FSCALE 
FSIN 
FSINCOS 
FSQRT 
FSTD 
FSTS 
FSTP 
FSTPX 
FSTPD 
FSTPS 
FSTCW 
FSTENV 
FSTSW 
FSUBD 
FSUBS 
FSUBP 
FISUBL 
FISUBS 
FSUBRD 
FSUBRS 
FSUBPR 
FISUBRL 
FISUBRS 
FTST 
FUCOM 
FUCOMP 
FUCOMPP 
FXAM 
FXCH 
FXTRACT 
FYL2X 
FYL2XP1 
HLT 
IDIV 
IMUL 
IN 
INC 
INS 
INT 
INTO 
INVD 
INVLPG 
IRET 
IRETD 
JA 
JAE 
JB 
JBE 
JCXZ 
JE 
JG 
JGE 
JL 
JLE 
JNE 
JNO 
JNP 
JNS 
JO 
JP 
JS 
JMP 
JMPF 
LAHF 
LAR 
LEA 
LEAVE 
LGDT 
LIDT 
LGS 
LSS 
LDS 
LES 
LFS 
LLDT 
LMSW 
LOCK 
LODS 
LOOP 
LOOPE 
LOOPNE 
LSL 
LTR 
MOV 
MOVS 
MOVSX 
MOVSXB 
MOVZX 
MOVZXB 
MUL 
NEG 
NOP 
NOT 
OR 
OUT 
OUTS 
POP 
POPA 
POPF 
PUSH 
PUSHA 
PUSHF 
RCL 
RCR 
ROL 
ROR 
RET 
RETF 
SAHF 
SAL 
SAR 
SHL 
SHR 
SBB 
SCAS 
SETA 
SETAE 
SETB 
SETBE 
SETE 
SETG 
SETGE 
SETL 
SETLE 
SETNE 
SETNO 
SETNP 
SETNS 
SETO 
SETP 
SETS 
SGDT 
SIDT 
SHLD 
SHRD 
SLDT 
SMSW 
STC 
STD 
STI 
STOS 
STR 
SUB 
TEST 
VERR 
VERW 
WAIT 
WBINVD 
XADD 
XCHG 
XLAT 
XOR 
DOT_ALIGN 
DOT_ASCII 
DOT_ASCIZ 
DOT_ASSERT 
DOT_BASE 
DOT_COMM 
DOT_LCOMM 
DOT_DATA1 
DOT_DATA2 
DOT_DATA4 
DOT_DEFINE 
DOT_EXTERN 
DOT_EQU 
DOT_FILE 
DOT_LINE 
DOT_LABEL 
DOT_LIST 
DOT_NOLIST 
DOT_SPACE 
DOT_SYMB 
DOT_TEXT 
DOT_ROM 
DOT_DATA 
DOT_BSS 
DOT_END 
DOT_USE16 
DOT_USE32 
AAA 
AAD 
AAM 
AAS 
ADC 
ADD 
AND 
ARPL 
BOUND 
BSF 
BSR 
BSWAP 
BT 
BTC 
BTR 
BTS 
CALL 
CALLF 
CBW 
CLC 
CLD 
CLI 
CLTS 
CMC 
CMP 
CMPS 
CMPXCHG 
CPUID 
CWD 
DAA 
DAS 
DEC 
DIV 
ENTER 
F2XM1 
FABS 
FADD 
FADDD 
FADDS 
FADDP 
FIADDL 
FIADDS 
FBLD 
FBSTP 
FCHS 
FCLEX 
FCOMD 
FCOMS 
FCOMPD 
FCOMPS 
FCOMPP 
FCOS 
FDECSTP 
FDIVD 
FDIVS 
FDIVP 
FIDIVL 
FIDIVS 
FDIVRD 
FDIVRS 
FDIVRP 
FIDIVRL 
FIDIVRS 
FFREE 
FICOM 
FICOMP 
FILDQ 
FILDL 
FILDS 
FINCSTP 
FINIT 
FISTL 
FISTS 
FISTP 
FLDX 
FLDD 
FLDS 
FLD1 
FLDL2T 
FLDL2E 
FLDPI 
FLDLG2 
FLDLN2 
FLDZ 
FLDCW 
FLDENV 
FMULD 
FMULS 
FMULP 
FIMULL 
FIMULS 
FNINIT 
FNOP 
FNSAVE 
FNSTCW 
FNSTSW 
FPATAN 
FPREM 
FPREM1 
FPTAN 
FRNDINT 
FRSTOR 
FSAVE 
FWAIT 
FXRSTOR 
FXSAVE 
FSCALE 
FSIN 
FSINCOS 
FSQRT 
FSTD 
FSTS 
FSTPX 
FSTPD 
FSTPS 
FSTCW 
FSTENV 
FSTSW 
FSUBD 
FSUBS 
FSUBP 
FISUBL 
FISUBS 
FSUBRD 
FSUBRS 
FSUBPR 
FISUBRL 
FISUBRS 
FTST 
FUCOM 
FUCOMP 
FUCOMPP 
FXAM 
FXCH 
FXTRACT 
FYL2X 
FYL2XP1 
HLT 
IDIV 
IMUL 
IN 
INC 
INS 
INT 
INTO 
INVD 
INVLPG 
IRET 
IRETD 
JA 
JAE 
JB 
JBE 
JCXZ 
JE 
JG 
JGE 
JL 
JLE 
JNE 
JNO 
JNP 
JNS 
JO 
JP 
JS 
JMP 
JMPF 
LAHF 
LAR 
LEA 
LEAVE 
LGDT 
LIDT 
LGS 
LSS 
LDS 
LES 
LFS 
LLDT 
LMSW 
LOCK 
LODS 
LOOP 
LOOPE 
LOOPNE 
LSL 
LTR 
MFENCE 
MOV 
MOVS 
MOVSX 
MOVSXB 
MOVZX 
MOVZXB 
MUL 
NEG 
NOP 
NOT 
OR 
OUT 
OUTS 
PAUSE 
POP 
POPA 
POPAD 
POPF 
PUSH 
PUSHA 
PUSHAD 
PUSHF 
RCL 
RCR 
ROL 
ROR 
RDMSR 
RDPMC 
RDTSC 
RET 
RETF 
SAHF 
SAL 
SAR 
SHL 
SHR 
SBB 
SCAS 
SETA 
SETAE 
SETB 
SETBE 
SETE 
SETG 
SETGE 
SETL 
SETLE 
SETNE 
SETNO 
SETNP 
SETNS 
SETO 
SETP 
SETS 
SGDT 
SIDT 
SHLD 
SHRD 
SLDT 
SMSW 
STC 
STD 
STI 
STOS 
STR 
SUB 
TEST 
VERR 
VERW 
WAIT 
WBINVD 
WRMSR 
XADD 
XCHG 
XLAT 
XOR 
COMMENT 
C_PREPROCESSOR 
UNKNOWN 

Definition at line 5 of file asm86.h.

enum optype

Enumerator:
PSEUDO 
JUMP 
BYTE 
WORD 
OWORD 
NONE 
PSEUDO 
JUMP 
JUMP16 
BYTE 
WORD 
OWORD 

Definition at line 185 of file asm86.h.

enum repeat

Enumerator:
ONCE 
REP 
REPE 
REPNE 
ONCE 
REP 
REPE 
REPNE 

Definition at line 189 of file asm86.h.

enum segment

Enumerator:
DEFSEG 
CSEG 
DSEG 
ESEG 
FSEG 
GSEG 
SSEG 
DEFSEG 
CSEG 
DSEG 
ESEG 
FSEG 
GSEG 
SSEG 

Definition at line 193 of file asm86.h.


Function Documentation

void del_asm86 ( asm86_t a  ) 

Definition at line 56 of file asm86.c.

void del_expr ( expression_t a  ) 

Definition at line 25 of file asm86.c.

int isregister ( const char *  name  ) 

Definition at line 66 of file asm86.c.

asm86_t* new_asm86 ( void   ) 

Definition at line 39 of file asm86.c.

expression_t* new_expr ( void   ) 

Definition at line 12 of file asm86.c.


Generated on Tue Mar 9 04:36:33 2010 for Minix by  doxygen 1.5.8