www.pudn.com > ASM86_64.rar > operand.h


#ifndef operand_H_
#define operand_H_

/*
 *
 */

#include "i_attribute.h"
#include "a64-2.h"
#include "error.h"


typedef unsigned int ops_type_t;

/* the source operand type */
#define S_R	0x00000001
#define S_M	0x00000002
#define S_I	0x00000004

/* the dest operand type */
#define D_R	0x00000010
#define D_M	0x00000020
#define D_I	0x00000040

/* the 3th operand type */
#define T_R	0x00000100
#define T_M	0x00000200
#define T_I	0x00000400





extern unsigned int current_bits;
extern unsigned int current_mode;
extern unsigned long long current_pc;
extern unsigned long long org;
extern unsigned long line;




errno_t get_ops_key(ops_key_t *ops_key, char *s);
errno_t get_o_key(o_key_t *o_key, char *s);
errno_t get_ops_attr(ops_attr_t *ops_attr, ops_key_t *ops_key);
unsigned int get_attr(o_key_t *o_key);
ops_type_t get_ops_type(ops_key_t *ops_key);
unsigned int get_o_size(o_key_t *o_key);
unsigned int get_ops_size(ops_key_t *ops_key);
unsigned int get_ops_addr(ops_key_t *ops_key);
int check_ops_key(ops_key_t *ops_key);


#endif