ttbbs 发表于 2021-12-7 10:39

一个简单的虚拟机的构建与实现

本帖最后由 ttbbs 于 2021-12-7 11:29 编辑

看了一些资料,本人心血来潮,构思了一个虚拟机。
准备工作
定义ip

int *ip;
string stack;
string mem;
bool running=1;
//初始化函数加于此
while(running){
switch(ip){
//handler
}
ip+=4;
}
下面举例实现初始化:
push edi
lea edi,mem
mov ,eax
mov ,eax
......
lea ebp,stack

下面举例handler
Vpushm32:
ip+=4;
mov ecx,*ip
mov eax,
add ebp,4
mov ,ecx
break;

Vmovm32:
ip+=4;
mov ecx,*ip
mov eax,
ip+=4;
mov ecx,*ip
mov ebx,
sub ecx,4
mov ebx,eax
mov ,eax
break;

周末回去补充。

ttbbs 发表于 2021-12-7 12:12

zxqqqsoft 发表于 2021-12-7 11:52
楼主是不是想做个自己的指令集,自己的VM来解析执行,🐂🐂

没错,答对了。

minibeetuaman 发表于 2021-12-7 12:54

基于X86要模拟的指令工作量不小,如果只是验证概念,可以参考python的VM,自己定义一套字节码

liwenxiangxiang 发表于 2021-12-7 10:51

不懂。可以有图教教不

wss0823 发表于 2021-12-7 10:59

这个是啥啊?

jxx51 发表于 2021-12-7 11:05

支持一下,虽然不会

chengxuyuan01 发表于 2021-12-7 11:24

没看懂,有图片吗?

zxqqqsoft 发表于 2021-12-7 11:52

楼主是不是想做个自己的指令集,自己的VM来解析执行,🐂🐂

临时户口 发表于 2021-12-7 12:21

这是用在手机上的虚拟机还是电脑上的?

ynboyinkm 发表于 2021-12-7 12:51

高手,了不起!!!!
页: [1] 2 3 4 5
查看完整版本: 一个简单的虚拟机的构建与实现