/* * sys_memory.h * * Created on: 2016/11/24 * Author: takayun */ #ifndef SYS_MEMORY_H_ #define SYS_MEMORY_H_ #include "sys_register.h" #include "inst_decoder.h" /************************************************** * Defines **************************************************/ // メモリの数 #define MEMS_COUNT 16 // 1メモリのサイズ #define MEM_SIZE 16 /************************************************** * Variables **************************************************/ extern unsigned int global_current_memory; /************************************************** * Functions **************************************************/ /* Function: memory_init * Sammary: * メモリを初期化する(All 0) */ void memory_init(); /* 命令用メモリに命令のストア&ロード */ /* Function: memory_store -> char * Sammary: * メモリの指定番地に指定したレジスタから値を格納する * Return: * メモリに格納された値 */ void inst_memory_store(unsigned int mem_addr, struct InstRec inst_rec); struct InstRec inst_memory_load(unsigned int mem_addr); /* メモリ-レジスタ間の操作 */ /* Function: memory_store -> char * Sammary: * メモリの指定番地に指定したレジスタから値を格納する * Return: * メモリに格納された値 */ char memory_store(unsigned int mem_addr, enum Register reg); /* Function: memory_store -> char * Sammary: * 指定したレジスタにメモリの指定番地から値を格納する * Return: * レジスタに格納された値 */ char memory_load(unsigned int mem_addr, enum Register reg); #endif /* SYS_MEMORY_H_ */