2013-05-16 23:03:38 +00:00
|
|
|
/*
|
|
|
|
* VideoCore IV assembler for the ACK
|
|
|
|
* © 2013 David Given
|
|
|
|
* This file is redistributable under the terms of the 3-clause BSD license.
|
|
|
|
* See the file 'Copying' in the root of the distribution for the full text.
|
|
|
|
*/
|
2013-05-17 22:30:49 +00:00
|
|
|
|
|
|
|
#include "binary.h"
|
|
|
|
|
|
|
|
#define ALWAYS 14
|
|
|
|
|
2013-05-18 23:56:56 +00:00
|
|
|
extern void alu_instr_reg(quad opcode, quad cc, quad rd,
|
|
|
|
quad ra, quad rb);
|
2013-05-17 22:30:49 +00:00
|
|
|
|
2013-05-18 23:56:56 +00:00
|
|
|
extern void alu_instr_lit(quad opcode, quad cc, quad rd,
|
|
|
|
quad ra, quad value);
|
2013-05-17 22:30:49 +00:00
|
|
|
|
2013-05-18 23:56:56 +00:00
|
|
|
extern void misc_instr_reg(quad opcode, quad cc, quad rd,
|
|
|
|
quad ra, quad rb);
|
2013-05-17 22:30:49 +00:00
|
|
|
|
2013-05-18 23:56:56 +00:00
|
|
|
extern void misc_instr_lit(quad opcode, quad cc, quad rd,
|
|
|
|
quad ra, quad value);
|
2013-05-17 22:30:49 +00:00
|
|
|
|
2013-05-18 23:56:56 +00:00
|
|
|
extern void branch_instr(quad bl, quad cc, struct expr_t* expr);
|
2013-05-17 22:30:49 +00:00
|
|
|
|
2013-05-18 23:56:56 +00:00
|
|
|
extern void stack_instr(quad opcode, quad loreg, quad hireg,
|
|
|
|
quad extrareg);
|
|
|
|
|
|
|
|
extern void mem_instr(quad opcode, quad cc, quad rd, long offset, quad rs);
|