Files
lt16lab/assembler/inc/handle.h
Thomas Fehmel 657a54ba18 Initial Commit
2016-10-18 14:21:45 +02:00

100 lines
2.4 KiB
C

/*
* This file declares functions for
* - handling of instructions
*/
#ifndef HANDLE_H_
#define HANDLE_H_
#include "global.h"
/*
* outputs instruction to output for instructions width or3 instruction type
* opcode: opcode of instruction
* r1: register 1
* r2: register 2
* r3: register 3
*/
void handle_or3(op_t opcode, int r1, int r2, int r3);
/*
* outputs instruction to output for instructions width ori instruction type
* opcode: opcode of instruction
* r1: register 1
* imm: immediate
*/
void handle_ori(op_t opcode, int r1, int imm);
/*
* outputs instruction to output for instructions width omr2 instruction type
* opcode: opcode of instruction
* mode: mode of instruction
* r1: register 1
* r2: register 2
*/
void handle_omr2(op_t opcode, opmode_t mode, int r1, int r2);
/*
* outputs instruction to output for instructions width omi instruction type
* opcode: opcode of instruction
* mode: mode of instruction
* imm: immediate
*/
void handle_omi(op_t opcode, opmode_t mode, int imm);
/*
* outputs instruction to output for instructions width omr instruction type
* opcode: opcode of instruction
* mode: mode of instruction
* r1: register 1
*/
void handle_omr(op_t opcode, opmode_t mode, int r1);
/*
* outputs instruction to output for instructions width oi instruction type
* opcode: opcode of instruction
* mode: mode of instruction
* imm: immediate
*/
void handle_oi(op_t opcode, int imm);
/*
* outputs instruction to output for instructions width o instruction type
* opcode: opcode of instruction
*/
void handle_o(op_t opcode);
/*
* outputs instruction to output for instructions width or instruction type
* opcode: opcode of instruction
* r1: register 1
*/
void handle_or(op_t opcode, int r1);
/*
* outputs instruction to output for instructions width or2 instruction type
* opcode: opcode of instruction
* r1: register 1
* r2: register 2
*/
void handle_or2(op_t opcode, int r1, int r2);
/*
* outputs instruction to output for instructions width or2i instruction type
* opcode: opcode of instruction
* mode: mode of instruction
* r1: register 1
* r2: register 2
* imm: immediate
*/
void handle_or2i(op_t opcode, int r1, int r2, int imm);
/*
* outputs instruction to output for instructions width om instruction type
* opcode: opcode of instruction
* mode: mode of instruction
*/
void handle_om(op_t opcode, opmode_t mode);
#endif /* HANDLE_H_ */