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_DIST=$(DIST)/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_DEPS:=$(LIB_OBJECTS:%.o=%.d)
|
||||
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)
|
||||
{
|
||||
static_assert(NUMBER_OF_OPCODES == 46, "inst_bytecode_size: Out of date");
|
||||
|
||||
Reference in New Issue
Block a user