1*10465441SEvalZero /* 2*10465441SEvalZero * Copyright (c) 2006-2018, RT-Thread Development Team 3*10465441SEvalZero * 4*10465441SEvalZero * SPDX-License-Identifier: Apache-2.0 5*10465441SEvalZero * 6*10465441SEvalZero * Change Logs: 7*10465441SEvalZero * Date Author Notes 8*10465441SEvalZero * 2010-03-22 Bernard first version 9*10465441SEvalZero */ 10*10465441SEvalZero #ifndef __FINSH_VM_H__ 11*10465441SEvalZero #define __FINSH_VM_H__ 12*10465441SEvalZero 13*10465441SEvalZero #include <finsh.h> 14*10465441SEvalZero 15*10465441SEvalZero #include "finsh_var.h" 16*10465441SEvalZero 17*10465441SEvalZero union finsh_value { 18*10465441SEvalZero char char_value; 19*10465441SEvalZero short short_value; 20*10465441SEvalZero long long_value; 21*10465441SEvalZero void* ptr; 22*10465441SEvalZero }; 23*10465441SEvalZero 24*10465441SEvalZero extern union finsh_value* finsh_sp; /* stack pointer */ 25*10465441SEvalZero extern uint8_t* finsh_pc; /* PC */ 26*10465441SEvalZero 27*10465441SEvalZero /* stack */ 28*10465441SEvalZero extern union finsh_value finsh_vm_stack[FINSH_STACK_MAX]; 29*10465441SEvalZero /* text segment */ 30*10465441SEvalZero extern uint8_t text_segment[FINSH_TEXT_MAX]; 31*10465441SEvalZero 32*10465441SEvalZero void finsh_vm_run(void); 33*10465441SEvalZero //void finsh_disassemble(void); 34*10465441SEvalZero 35*10465441SEvalZero #endif 36