vm.c 526 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include "vm.h"
  4. scm vm_code[VM_CODE_SIZE] = { 0 };
  5. int vm_code_size = 0;
  6. scm stack[STACKSIZE] = { 0 };
  7. scm reg_acc = 0;
  8. scm *reg_env = NULL;
  9. scm reg_clo = 0;
  10. scm reg_rbp = 0;
  11. scm reg_rbp_tmp = 0;
  12. scm reg_rsp = 0;
  13. void vm_add_codeword(scm w)
  14. {
  15. vm_code[vm_code_size++] = w;
  16. if(vm_code_size >= VM_CODE_SIZE) {
  17. fprintf(stderr, "VM_CODE_SIZE\n");
  18. exit(-1);
  19. }
  20. }
  21. void vm_dump_code()
  22. {
  23. for(int i = 0; i < vm_code_size; i++) {
  24. printf("%p %lu\n", vm_code+i, vm_code[i]);
  25. }
  26. }