aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-10-23 00:53:44 +0100
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-10-23 00:53:44 +0100
commit20030e364cd869e5651b2e2fb63cfb8881fbf5b7 (patch)
treeb9504cc200bcc7e8ded341efe2c9ebd66f0b0514 /src
parent00f3b3bf2111cc27543958b5c9fdae23cba420c9 (diff)
downloadovm-20030e364cd869e5651b2e2fb63cfb8881fbf5b7.tar.gz
ovm-20030e364cd869e5651b2e2fb63cfb8881fbf5b7.tar.bz2
ovm-20030e364cd869e5651b2e2fb63cfb8881fbf5b7.zip
Moved macros to extract nth (byte|hword) from a word to base.h
Diffstat (limited to 'src')
-rw-r--r--src/base.h4
-rw-r--r--src/runtime.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/base.h b/src/base.h
index a135061..dbeec80 100644
--- a/src/base.h
+++ b/src/base.h
@@ -56,6 +56,10 @@ typedef enum
#define HWORD_SIZE sizeof(hword)
#define WORD_SIZE sizeof(word)
+// Macros to extract the nth byte or nth hword from a word
+#define WORD_NTH_BYTE(WORD, N) (((WORD) >> ((N)*8)) & 0xff)
+#define WORD_NTH_HWORD(WORD, N) (((WORD) >> ((N)*2)) & 0xFFFFFFFF)
+
// Assume array contains 4 bytes.
hword convert_bytes_to_hword(byte *);
void convert_hword_to_bytes(hword, byte *);
diff --git a/src/runtime.c b/src/runtime.c
index 6308eb9..2d3f1e8 100644
--- a/src/runtime.c
+++ b/src/runtime.c
@@ -403,10 +403,6 @@ err_t vm_push_word(vm_t *vm, data_t w)
return ERR_OK;
}
-#define WORD_NTH_BYTE(WORD, N) (((WORD) >> ((N)*8)) & 0b11111111)
-#define WORD_NTH_HWORD(WORD, N) \
- (((WORD) >> ((N)*2)) & 0b11111111111111111111111111111111)
-
err_t vm_push_byte_register(vm_t *vm, byte reg)
{
if (reg >= VM_REGISTERS * 8)