mips.h
来自「PL/0源码」· C头文件 代码 · 共 73 行
H
73 行
////////////////////////////////////////////////////////////////////////////////// mips.[h,cc] -- procedures for generating MIPS code//// see also prologue.h; it's quite machine-dependent!//#ifndef MIPS_H#define MIPS_H#include "inpbuf.h"#include "codegen.h"enum mips_opcode_t { // Real Instructions M_JAL = 1, M_JALR, M_J, M_JR, M_MFLO, M_LI, M_MOVE, M_BEQ, M_BNE, M_SEQ, M_SNE, M_SLE, M_SLT, M_SGE, M_SGT, M_SUB, M_ADD, M_MULT, M_DIV, M_LW, M_SW, M_ADDI, M_ANDI, M_XORI, M_LA, M_B, // Pseudo Instructions M_DATA=90, M_TEXT, M_WORD, M_ENT, M_END, M_FILE};typedef enum { T_SPIM, T_SGI } target_t;extern bool generate_comments;extern bool generate_debug_code;extern bool g_peep_hole_optimize;extern target_t compiler_target;void mips_src_lines(location_t sl);// Output source lines up to slvoid mips_src_finalize(void);// Print remaining linesvoid mips_cm(string comment);// Add a comment to the next opcode which is processed by mips_op////////////////////////////////////////////////////////////////////////////////// mips_op: Generate a MIPS operation instruction.//// This one function is overloaded to generate every class of instruction// used.//void mips_op(const mips_opcode_t op, const mips_name_t label);void mips_op(const mips_opcode_t op, const mips_register_t r1);void mips_op(const mips_opcode_t op, const mips_register_t r1, const mips_name_t lab);void mips_op(const mips_opcode_t op, const mips_register_t r1, const mips_register_t r2);void mips_op(const mips_opcode_t op, const mips_register_t r1, const mips_register_t r2, const mips_name_t lab);void mips_op(const mips_opcode_t op, const mips_register_t r1, const mips_register_t r2, const mips_register_t r3);void mips_op(const mips_opcode_t op, const mips_register_t r1, const mips_register_t r2, const int imm);void mips_op(const mips_opcode_t op, const mips_register_t r1, const int imm, const mips_register_t r2);void mips_op(const mips_opcode_t op, const mips_register_t reg, const int imm);void mips_op(const mips_name_t lab);void mips_op(const mips_opcode_t op);void mips_op(const mips_name_t label, const mips_opcode_t op, const int value);#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?