⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 as.h

📁 基于4个mips核的noc设计
💻 H
📖 第 1 页 / 共 2 页
字号:
enum _relax_state {  /* Variable chars to be repeated fr_offset times.     Fr_symbol unused. Used with fr_offset == 0 for a     constant length frag.  */  rs_fill = 1,  /* Align.  The fr_offset field holds the power of 2 to which to     align.  The fr_var field holds the number of characters in the     fill pattern.  The fr_subtype field holds the maximum number of     bytes to skip when aligning, or 0 if there is no maximum.  */  rs_align,  /* Align code.  The fr_offset field holds the power of 2 to which     to align.  This type is only generated by machine specific     code, which is normally responsible for handling the fill     pattern.  The fr_subtype field holds the maximum number of     bytes to skip when aligning, or 0 if there is no maximum.  */  rs_align_code,  /* Test for alignment.  Like rs_align, but used by several targets     to warn if data is not properly aligned.  */  rs_align_test,  /* Org: Fr_offset, fr_symbol: address. 1 variable char: fill     character.  */  rs_org,#ifndef WORKING_DOT_WORD  /* JF: gunpoint */  rs_broken_word,#endif  /* machine-specific relaxable (or similarly alterable) instruction */  rs_machine_dependent,  /* .space directive with expression operand that needs to be computed     later.  Similar to rs_org, but different.     fr_symbol: operand     1 variable char: fill character  */  rs_space,  /* A DWARF leb128 value; only ELF uses this.  The subtype is 0 for     unsigned, 1 for signed.  */  rs_leb128,  /* Exception frame information which we may be able to optimize.  */  rs_cfa,  /* Cross-fragment dwarf2 line number optimization.  */  rs_dwarf2dbg};typedef enum _relax_state relax_stateT;/* This type is used in prototypes, so it can't be a type that will be   widened for argument passing.  */typedef unsigned int relax_substateT;/* Enough bits for address, but still an integer type.   Could be a problem, cross-assembling for 64-bit machines.  */typedef addressT relax_addressT;/* main program "as.c" (command arguments etc) */COMMON unsigned char flag_no_comments; /* -f */COMMON unsigned char flag_debug; /* -D */COMMON unsigned char flag_signed_overflow_ok; /* -J */#ifndef WORKING_DOT_WORDCOMMON unsigned char flag_warn_displacement; /* -K */#endif/* True if local symbols should be retained.  */COMMON int flag_keep_locals; /* -L *//* True if we are assembling in MRI mode.  */COMMON int flag_mri;/* Should the data section be made read-only and appended to the text   section?  */COMMON unsigned char flag_readonly_data_in_text; /* -R *//* True if warnings should be inhibited.  */COMMON int flag_no_warnings; /* -W *//* True if warnings count as errors.  */COMMON int flag_fatal_warnings; /* --fatal-warnings *//* True if we should attempt to generate output even if non-fatal errors   are detected.  */COMMON unsigned char flag_always_generate_output; /* -Z *//* This is true if the assembler should output time and space usage.  */COMMON unsigned char flag_print_statistics;/* True if local absolute symbols are to be stripped.  */COMMON int flag_strip_local_absolute;/* True if we should generate a traditional format object file.  */COMMON int flag_traditional_format;/* name of emitted object file */COMMON char *out_file_name;/* name of file defining extensions to the basic instruction set */COMMON char *insttbl_file_name;/* TRUE if we need a second pass.  */COMMON int need_pass_2;/* TRUE if we should do no relaxing, and   leave lots of padding.  */COMMON int linkrelax;/* TRUE if we should produce a listing.  */extern int listing;/* Type of debugging information we should generate.  We currently support   stabs, ECOFF, and DWARF2.   NOTE!  This means debug information about the assembly source code itself   and _not_ about possible debug information from a high-level language.   This is especially relevant to DWARF2, since the compiler may emit line   number directives that the assembler resolves.  */enum debug_info_type {  DEBUG_UNSPECIFIED,  DEBUG_NONE,  DEBUG_STABS,  DEBUG_ECOFF,  DEBUG_DWARF,  DEBUG_DWARF2};extern enum debug_info_type debug_type;/* Maximum level of macro nesting.  */extern int max_macro_nest;/* Obstack chunk size.  Keep large for efficient space use, make small to   increase malloc calls for monitoring memory allocation.  */extern int chunksize;struct _pseudo_type {  /* assembler mnemonic, lower case, no '.' */  const char *poc_name;  /* Do the work */  void (*poc_handler) PARAMS ((int));  /* Value to pass to handler */  int poc_val;};typedef struct _pseudo_type pseudo_typeS;/* Prefer varargs for non-ANSI compiler, since some will barf if the   ellipsis definition is used with a no-arguments declaration.  */#if defined (HAVE_VARARGS_H) && !defined (__STDC__)#undef HAVE_STDARG_H#endif#if defined (HAVE_STDARG_H)#define USE_STDARG#endif#if !defined (USE_STDARG) && defined (HAVE_VARARGS_H)#define USE_VARARGS#endif#ifdef USE_STDARG#if (__GNUC__ >= 2) && !defined(VMS)/* for use with -Wformat */#if __GNUC__ == 2 && __GNUC_MINOR__ < 6/* Support for double underscores in attribute names was added in gcc   2.6, so avoid them if we are using an earlier version.  */#define __printf__ printf#define __format__ format#endif#define PRINTF_LIKE(FCN) \  void FCN (const char *format, ...) \    __attribute__ ((__format__ (__printf__, 1, 2)))#define PRINTF_WHERE_LIKE(FCN) \  void FCN (char *file, unsigned int line, const char *format, ...) \    __attribute__ ((__format__ (__printf__, 3, 4)))#else /* __GNUC__ < 2 || defined(VMS) */#define PRINTF_LIKE(FCN)	void FCN PARAMS ((const char *format, ...))#define PRINTF_WHERE_LIKE(FCN)	void FCN PARAMS ((char *file, \						  unsigned int line, \					  	  const char *format, ...))#endif /* __GNUC__ < 2 || defined(VMS) */#else /* ! USE_STDARG */#define PRINTF_LIKE(FCN)	void FCN ()#define PRINTF_WHERE_LIKE(FCN)	void FCN ()#endif /* ! USE_STDARG */PRINTF_LIKE (as_bad);PRINTF_LIKE (as_fatal) ATTRIBUTE_NORETURN;PRINTF_LIKE (as_tsktsk);PRINTF_LIKE (as_warn);PRINTF_WHERE_LIKE (as_bad_where);PRINTF_WHERE_LIKE (as_warn_where);void as_assert PARAMS ((const char *, int, const char *));void as_abort PARAMS ((const char *, int, const char *)) ATTRIBUTE_NORETURN;void fprint_value PARAMS ((FILE *file, addressT value));void sprint_value PARAMS ((char *buf, addressT value));int had_errors PARAMS ((void));int had_warnings PARAMS ((void));void print_version_id PARAMS ((void));char *app_push PARAMS ((void));char *atof_ieee PARAMS ((char *str, int what_kind, LITTLENUM_TYPE * words));char *input_scrub_include_file PARAMS ((char *filename, char *position));extern void input_scrub_insert_line PARAMS((const char *line));extern void input_scrub_insert_file PARAMS((char *path));char *input_scrub_new_file PARAMS ((char *filename));char *input_scrub_next_buffer PARAMS ((char **bufp));int do_scrub_chars PARAMS ((int (*get) (char *, int), char *to, int tolen));int gen_to_words PARAMS ((LITTLENUM_TYPE * words, int precision,			  long exponent_bits));int had_err PARAMS ((void));int ignore_input PARAMS ((void));void cond_finish_check PARAMS ((int));void cond_exit_macro PARAMS ((int));int seen_at_least_1_file PARAMS ((void));void app_pop PARAMS ((char *arg));void as_howmuch PARAMS ((FILE * stream));void as_perror PARAMS ((const char *gripe, const char *filename));void as_where PARAMS ((char **namep, unsigned int *linep));void bump_line_counters PARAMS ((void));void do_scrub_begin PARAMS ((int));void input_scrub_begin PARAMS ((void));void input_scrub_close PARAMS ((void));void input_scrub_end PARAMS ((void));int new_logical_line PARAMS ((char *fname, int line_number));void subsegs_begin PARAMS ((void));void subseg_change PARAMS ((segT seg, int subseg));segT subseg_new PARAMS ((const char *name, subsegT subseg));segT subseg_force_new PARAMS ((const char *name, subsegT subseg));void subseg_set PARAMS ((segT seg, subsegT subseg));#ifdef BFD_ASSEMBLERsegT subseg_get PARAMS ((const char *, int));#endifint subseg_text_p PARAMS ((segT));void start_dependencies PARAMS ((char *));void register_dependency PARAMS ((char *));void print_dependencies PARAMS ((void));struct expressionS;struct fix;typedef struct symbol symbolS;struct relax_type;typedef struct frag fragS;#ifdef BFD_ASSEMBLER/* literal.c */valueT add_to_literal_pool PARAMS ((symbolS *, valueT, segT, int));#endifint check_eh_frame PARAMS ((struct expressionS *, unsigned int *));int eh_frame_estimate_size_before_relax PARAMS ((fragS *));int eh_frame_relax_frag PARAMS ((fragS *));void eh_frame_convert_frag PARAMS ((fragS *));#include "expr.h"		/* Before targ-*.h *//* this one starts the chain of target dependant headers */#include "targ-env.h"#ifdef TC_ARC#include "struc-symbol.h"#endif#include "write.h"#include "frags.h"#include "hash.h"#include "read.h"#include "symbols.h"#include "tc.h"#include "obj.h"#ifdef USE_EMULATIONS#include "emul.h"#endif#include "listing.h"#ifdef TC_M68K/* True if we are assembling in m68k MRI mode.  */COMMON int flag_m68k_mri;#else#define flag_m68k_mri 0#endif#ifdef WARN_COMMENTSCOMMON int warn_comment;COMMON unsigned int found_comment;COMMON char *found_comment_file;#endif#ifndef NUMBERS_WITH_SUFFIX#define NUMBERS_WITH_SUFFIX 0#endif#ifndef LOCAL_LABELS_DOLLAR#define LOCAL_LABELS_DOLLAR 0#endif#ifndef LOCAL_LABELS_FB#define LOCAL_LABELS_FB 0#endif#ifndef LABELS_WITHOUT_COLONS#define LABELS_WITHOUT_COLONS 0#endif#ifndef NO_PSEUDO_DOT#define NO_PSEUDO_DOT 0#endif#ifndef TEXT_SECTION_NAME#define TEXT_SECTION_NAME	".text"#define DATA_SECTION_NAME	".data"#define BSS_SECTION_NAME	".bss"#endif#ifndef OCTETS_PER_BYTE_POWER#define OCTETS_PER_BYTE_POWER 0#endif#ifndef OCTETS_PER_BYTE#define OCTETS_PER_BYTE (1<<OCTETS_PER_BYTE_POWER)#endif#if OCTETS_PER_BYTE != (1<<OCTETS_PER_BYTE_POWER) #error "Octets per byte conflicts with its power-of-two definition!"#endif#endif /* GAS */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -