Moved base functions from inst.c to dedicated file
Doesn't make sense for them to be in the VM module when they have a more general purpose now.
This commit is contained in:
2
Makefile
2
Makefile
@@ -13,7 +13,7 @@ TERM_RESET:=$(shell echo -e "\e[0;0m")
|
|||||||
## Lib setup
|
## Lib setup
|
||||||
LIB_DIST=$(DIST)/lib
|
LIB_DIST=$(DIST)/lib
|
||||||
LIB_SRC=lib
|
LIB_SRC=lib
|
||||||
LIB_CODE:=$(addprefix $(LIB_SRC)/, darr.c)
|
LIB_CODE:=$(addprefix $(LIB_SRC)/, base.c darr.c)
|
||||||
LIB_OBJECTS:=$(LIB_CODE:$(LIB_SRC)/%.c=$(LIB_DIST)/%.o)
|
LIB_OBJECTS:=$(LIB_CODE:$(LIB_SRC)/%.c=$(LIB_DIST)/%.o)
|
||||||
LIB_DEPS:=$(LIB_OBJECTS:%.o=%.d)
|
LIB_DEPS:=$(LIB_OBJECTS:%.o=%.d)
|
||||||
LIB_CFLAGS=$(CFLAGS)
|
LIB_CFLAGS=$(CFLAGS)
|
||||||
|
|||||||
39
lib/base.c
Normal file
39
lib/base.c
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
/* Copyright (C) 2023 Aryadev Chavali
|
||||||
|
|
||||||
|
* You may distribute and modify this code under the terms of the
|
||||||
|
* GPLv2 license. You should have received a copy of the GPLv2
|
||||||
|
* license with this file. If not, please write to:
|
||||||
|
* aryadev@aryadevchavali.com.
|
||||||
|
|
||||||
|
* Created: 2023-10-26
|
||||||
|
* Author: Aryadev Chavali
|
||||||
|
* Description: Implementation of basic library functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "./base.h"
|
||||||
|
|
||||||
|
hword convert_bytes_to_hword(byte *bytes)
|
||||||
|
{
|
||||||
|
hword h = 0;
|
||||||
|
memcpy(&h, bytes, HWORD_SIZE);
|
||||||
|
return h;
|
||||||
|
}
|
||||||
|
|
||||||
|
void convert_hword_to_bytes(hword w, byte *bytes)
|
||||||
|
{
|
||||||
|
memcpy(bytes, &w, HWORD_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void convert_word_to_bytes(word w, byte *bytes)
|
||||||
|
{
|
||||||
|
memcpy(bytes, &w, WORD_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
word convert_bytes_to_word(byte *bytes)
|
||||||
|
{
|
||||||
|
word w = 0;
|
||||||
|
memcpy(&w, bytes, WORD_SIZE);
|
||||||
|
return w;
|
||||||
|
}
|
||||||
24
vm/inst.c
24
vm/inst.c
@@ -187,30 +187,6 @@ void data_print(data_t datum, data_type_t type, FILE *fp)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hword convert_bytes_to_hword(byte *bytes)
|
|
||||||
{
|
|
||||||
hword h = 0;
|
|
||||||
memcpy(&h, bytes, HWORD_SIZE);
|
|
||||||
return h;
|
|
||||||
}
|
|
||||||
|
|
||||||
void convert_hword_to_bytes(hword w, byte *bytes)
|
|
||||||
{
|
|
||||||
memcpy(bytes, &w, HWORD_SIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
void convert_word_to_bytes(word w, byte *bytes)
|
|
||||||
{
|
|
||||||
memcpy(bytes, &w, WORD_SIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
word convert_bytes_to_word(byte *bytes)
|
|
||||||
{
|
|
||||||
word w = 0;
|
|
||||||
memcpy(&w, bytes, WORD_SIZE);
|
|
||||||
return w;
|
|
||||||
}
|
|
||||||
|
|
||||||
void inst_print(inst_t instruction, FILE *fp)
|
void inst_print(inst_t instruction, FILE *fp)
|
||||||
{
|
{
|
||||||
static_assert(NUMBER_OF_OPCODES == 46, "inst_bytecode_size: Out of date");
|
static_assert(NUMBER_OF_OPCODES == 46, "inst_bytecode_size: Out of date");
|
||||||
|
|||||||
Reference in New Issue
Block a user