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

📄 aluop.h

📁 mini mips 小型mips软件
💻 H
字号:
#pragma once
#include "PCType.h"
#include "RegisterType.h"
#include "Memory.h"
#include "CPUData.h"

class ALUOp
{
	static void (*SystemCallOperation[18])(CPUData& Data);
public:
	static void InitSystemCallOperation();
	static void add(int d, int s, int t, int i, int h, CPUData& Data);
	static void addi(int d, int s, int t, int i, int h, CPUData& Data);
	static void addiu(int d, int s, int t, int i, int h, CPUData& Data);
	static void addu(int d, int s, int t, int i, int h, CPUData& Data);
	static void and(int d, int s, int t, int i, int h, CPUData& Data);
	static void andi(int d, int s, int t, int i, int h, CPUData& Data);
	static void beq(int d, int s, int t, int i, int h, CPUData& Data);
	static void bgez(int d, int s, int t, int i, int h, CPUData& Data);
	static void bgezal(int d, int s, int t, int i, int h, CPUData& Data);
	static void bgtz(int d, int s, int t, int i, int h, CPUData& Data);
	static void blez(int d, int s, int t, int i, int h, CPUData& Data);
	static void bltz(int d, int s, int t, int i, int h, CPUData& Data);
	static void bltzal(int d, int s, int t, int i, int h, CPUData& Data);
	static void bne(int d, int s, int t, int i, int h, CPUData& Data);
	static void div(int d, int s, int t, int i, int h, CPUData& Data);
	static void divu(int d, int s, int t, int i, int h, CPUData& Data);
	static void j(int d, int s, int t, int i, int h, CPUData& Data);
	static void jal(int d, int s, int t, int i, int h, CPUData& Data);
	static void jr(int d, int s, int t, int i, int h, CPUData& Data);
	static void lb(int d, int s, int t, int i, int h, CPUData& Data);
	static void lui(int d, int s, int t, int i, int h, CPUData& Data);
	static void lw(int d, int s, int t, int i, int h, CPUData& Data);
	static void mfhi(int d, int s, int t, int i, int h, CPUData& Data);
	static void mflo(int d, int s, int t, int i, int h, CPUData& Data);
	static void mult(int d, int s, int t, int i, int h, CPUData& Data);
	static void multu(int d, int s, int t, int i, int h, CPUData& Data);
	static void noop(int d, int s, int t, int i, int h, CPUData& Data);
	static void or(int d, int s, int t, int i, int h, CPUData& Data);
	static void ori(int d, int s, int t, int i, int h, CPUData& Data);
	static void sb(int d, int s, int t, int i, int h, CPUData& Data);
	static void sll(int d, int s, int t, int i, int h, CPUData& Data);
	static void sllv(int d, int s, int t, int i, int h, CPUData& Data);
	static void slt(int d, int s, int t, int i, int h, CPUData& Data);
	static void slti(int d, int s, int t, int i, int h, CPUData& Data);
	static void sltiu(int d, int s, int t, int i, int h, CPUData& Data);
	static void sltu(int d, int s, int t, int i, int h, CPUData& Data);
	static void sra(int d, int s, int t, int i, int h, CPUData& Data);
	static void srl(int d, int s, int t, int i, int h, CPUData& Data);
	static void srlv(int d, int s, int t, int i, int h, CPUData& Data);
	static void sub(int d, int s, int t, int i, int h, CPUData& Data);
	static void subu(int d, int s, int t, int i, int h, CPUData& Data);
	static void sw(int d, int s, int t, int i, int h, CPUData& Data);
	static void syscall(int d, int s, int t, int i, int h, CPUData& Data);
	static void xor(int d, int s, int t, int i, int h, CPUData& Data);
	static void xori(int d, int s, int t, int i, int h, CPUData& Data);
	static void swcl(int d, int s, int t, int i, int h, CPUData& Data);
	static void sdcl(int d, int s, int t, int i, int h, CPUData& Data);
	static void add_s(int d, int s, int t, int i, int h, CPUData& Data);
    static void add_d(int d, int s, int t, int i, int h, CPUData& Data);
    static void div_s(int d, int s, int t, int i, int h, CPUData& Data);
	static void div_d(int d, int s, int t, int i, int h, CPUData& Data);
	static void mul_s(int d, int s, int t, int i, int h, CPUData& Data);
	static void mul_d(int d, int s, int t, int i, int h, CPUData& Data);
	static void sub_s(int d, int s, int t, int i, int h, CPUData& Data);
	static void sub_d(int d, int s, int t, int i, int h, CPUData& Data);
	static void bclt(int d, int s, int t, int i, int h, CPUData& Data);
	static void bclf(int d, int s, int t, int i, int h, CPUData& Data);
	static void c_eq_s(int d, int s, int t, int i, int h, CPUData& Data);
	static void c_eq_d(int d, int s, int t, int i, int h, CPUData& Data);
	static void c_lt_s(int d, int s, int t, int i, int h, CPUData& Data);
	static void c_lt_d(int d, int s, int t, int i, int h, CPUData& Data);
	static void c_le_s(int d, int s, int t, int i, int h, CPUData& Data);
	static void c_le_d(int d, int s, int t, int i, int h, CPUData& Data);
	static void mfc0(int d, int s, int t, int i, int h, CPUData& Data);
	static void mfc1(int d, int s, int t, int i, int h, CPUData& Data);
	static void mtc0(int d, int s, int t, int i, int h, CPUData& Data);
	static void mtc1(int d, int s, int t, int i, int h, CPUData& Data);
private:
	static void print_int(CPUData& Data);
	static void print_float(CPUData& Data);
	static void print_double(CPUData& Data);
	static void print_string(CPUData& Data);
	static void read_int(CPUData& Data);
	static void read_float(CPUData& Data);
	static void read_double(CPUData& Data);
	static void read_string(CPUData& Data);
	static void sbrk(CPUData& Data);
	static void exit(CPUData& Data);
	static void print_char(CPUData& Data);
	static void read_char(CPUData& Data);
	static void open(CPUData& Data);
	static void read(CPUData& Data);
	static void write(CPUData& Data);
	static void close(CPUData& Data);
	static void exit2(CPUData& Data);
};

⌨️ 快捷键说明

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