aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-10-26 10:19:10 +0100
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-10-26 10:19:10 +0100
commit74a85268c467c349bddc458047513eab18053f37 (patch)
tree828d547ff99ff68f1461170aae614e08a22f8b81 /lib
parentc8c5381cf23d175f70e24ddf33319712999d2442 (diff)
downloadovm-74a85268c467c349bddc458047513eab18053f37.tar.gz
ovm-74a85268c467c349bddc458047513eab18053f37.tar.bz2
ovm-74a85268c467c349bddc458047513eab18053f37.zip
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.
Diffstat (limited to 'lib')
-rw-r--r--lib/base.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/base.c b/lib/base.c
new file mode 100644
index 0000000..14a250e
--- /dev/null
+++ b/lib/base.c
@@ -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;
+}