Refactor type byte -> byte_t
Simpler to read as a type. This style will allow me to define signed versions of the base types as simpler names than what they are currently.
This commit is contained in:
@@ -52,7 +52,7 @@ int main(int argc, char *argv[])
|
||||
#endif
|
||||
|
||||
size_t stack_size = 256;
|
||||
byte *stack = calloc(stack_size, 1);
|
||||
byte_t *stack = calloc(stack_size, 1);
|
||||
registers_t registers = {0};
|
||||
darr_init(®isters, 8 * WORD_SIZE);
|
||||
heap_t heap = {0};
|
||||
|
||||
18
vm/runtime.c
18
vm/runtime.c
@@ -344,11 +344,11 @@ err_t vm_push_hword(vm_t *vm, data_t f)
|
||||
{
|
||||
if (vm->stack.ptr + HWORD_SIZE >= vm->stack.max)
|
||||
return ERR_STACK_OVERFLOW;
|
||||
byte bytes[HWORD_SIZE] = {0};
|
||||
byte_t bytes[HWORD_SIZE] = {0};
|
||||
convert_hword_to_bytes(f.as_hword, bytes);
|
||||
for (size_t i = 0; i < HWORD_SIZE; ++i)
|
||||
{
|
||||
byte b = bytes[HWORD_SIZE - i - 1];
|
||||
byte_t b = bytes[HWORD_SIZE - i - 1];
|
||||
err_t err = vm_push_byte(vm, DBYTE(b));
|
||||
if (err)
|
||||
return err;
|
||||
@@ -360,11 +360,11 @@ err_t vm_push_word(vm_t *vm, data_t w)
|
||||
{
|
||||
if (vm->stack.ptr + WORD_SIZE >= vm->stack.max)
|
||||
return ERR_STACK_OVERFLOW;
|
||||
byte bytes[WORD_SIZE] = {0};
|
||||
byte_t bytes[WORD_SIZE] = {0};
|
||||
convert_word_to_bytes(w.as_word, bytes);
|
||||
for (size_t i = 0; i < WORD_SIZE; ++i)
|
||||
{
|
||||
byte b = bytes[WORD_SIZE - i - 1];
|
||||
byte_t b = bytes[WORD_SIZE - i - 1];
|
||||
err_t err = vm_push_byte(vm, DBYTE(b));
|
||||
if (err)
|
||||
return err;
|
||||
@@ -378,7 +378,7 @@ err_t vm_push_byte_register(vm_t *vm, word reg)
|
||||
return ERR_INVALID_REGISTER_BYTE;
|
||||
|
||||
// Interpret each word based register as 8 byte registers
|
||||
byte b = vm->registers.data[reg];
|
||||
byte_t b = vm->registers.data[reg];
|
||||
|
||||
return vm_push_byte(vm, DBYTE(b));
|
||||
}
|
||||
@@ -473,7 +473,7 @@ err_t vm_dup_hword(vm_t *vm, word w)
|
||||
{
|
||||
if (vm->stack.ptr < HWORD_SIZE * (w + 1))
|
||||
return ERR_STACK_UNDERFLOW;
|
||||
byte bytes[HWORD_SIZE] = {0};
|
||||
byte_t bytes[HWORD_SIZE] = {0};
|
||||
for (size_t i = 0; i < HWORD_SIZE; ++i)
|
||||
bytes[HWORD_SIZE - i - 1] =
|
||||
vm->stack.data[vm->stack.ptr - (HWORD_SIZE * (w + 1)) + i];
|
||||
@@ -484,7 +484,7 @@ err_t vm_dup_word(vm_t *vm, word w)
|
||||
{
|
||||
if (vm->stack.ptr < WORD_SIZE * (w + 1))
|
||||
return ERR_STACK_UNDERFLOW;
|
||||
byte bytes[WORD_SIZE] = {0};
|
||||
byte_t bytes[WORD_SIZE] = {0};
|
||||
for (size_t i = 0; i < WORD_SIZE; ++i)
|
||||
bytes[WORD_SIZE - i - 1] =
|
||||
vm->stack.data[vm->stack.ptr - (WORD_SIZE * (w + 1)) + i];
|
||||
@@ -621,7 +621,7 @@ err_t vm_pop_hword(vm_t *vm, data_t *ret)
|
||||
{
|
||||
if (vm->stack.ptr < HWORD_SIZE)
|
||||
return ERR_STACK_UNDERFLOW;
|
||||
byte bytes[HWORD_SIZE] = {0};
|
||||
byte_t bytes[HWORD_SIZE] = {0};
|
||||
for (size_t i = 0; i < HWORD_SIZE; ++i)
|
||||
{
|
||||
data_t b = {0};
|
||||
@@ -636,7 +636,7 @@ err_t vm_pop_word(vm_t *vm, data_t *ret)
|
||||
{
|
||||
if (vm->stack.ptr < WORD_SIZE)
|
||||
return ERR_STACK_UNDERFLOW;
|
||||
byte bytes[WORD_SIZE] = {0};
|
||||
byte_t bytes[WORD_SIZE] = {0};
|
||||
for (size_t i = 0; i < WORD_SIZE; ++i)
|
||||
{
|
||||
data_t b = {0};
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
#include "./struct.h"
|
||||
|
||||
void vm_load_stack(vm_t *vm, byte *bytes, size_t size)
|
||||
void vm_load_stack(vm_t *vm, byte_t *bytes, size_t size)
|
||||
{
|
||||
vm->stack.data = bytes;
|
||||
vm->stack.max = size;
|
||||
@@ -139,7 +139,7 @@ void vm_print_stack(vm_t *vm, FILE *fp)
|
||||
printf("\n");
|
||||
for (size_t i = stack.ptr; i > 0; --i)
|
||||
{
|
||||
byte b = stack.data[i - 1];
|
||||
byte_t b = stack.data[i - 1];
|
||||
fprintf(fp, "\t%lu: %X", stack.ptr - i, b);
|
||||
if (i != 1)
|
||||
fprintf(fp, ", ");
|
||||
|
||||
@@ -23,7 +23,7 @@ typedef darr_t registers_t;
|
||||
|
||||
struct Stack
|
||||
{
|
||||
byte *data;
|
||||
byte_t *data;
|
||||
size_t ptr, max;
|
||||
};
|
||||
|
||||
@@ -50,7 +50,7 @@ typedef struct
|
||||
} vm_t;
|
||||
|
||||
// Start and stop
|
||||
void vm_load_stack(vm_t *, byte *, size_t);
|
||||
void vm_load_stack(vm_t *, byte_t *, size_t);
|
||||
void vm_load_registers(vm_t *, registers_t);
|
||||
void vm_load_heap(vm_t *, heap_t);
|
||||
void vm_load_program(vm_t *, prog_t *);
|
||||
|
||||
Reference in New Issue
Block a user