从2024年3月11号开始
中国第一个基于纯终端完全自研XASM指令集架构的虚拟CPU----XASM_V1正式诞生啦!!!!!
这个XASM_V1是由本UP主花费数月研发成功的
也就是《乔然的计算机世界》(以下称为本UP主)
这个完全自研的虚拟CPU具有以下非常显著的特点:
拥有完全自研的XASM指令集!!!
只有23条指令,且满足图灵完备!!!
只有ROM和RAM,没有寄存器、缓存、缓冲区等多余的特性!!!
只读存储器!这意味着,在RAM里修改的内容一律不保存,只会从ROM里复制全盘数据到RAM!!!
大量采用直接寻址,使得程序设计不再变得异常复杂!
学习成本较低!
主要面向于学习微机原理的小白,以及各类想自研CPU的极客!!!
以下是XASM_V1的指令,使用了完全自研的XASM指令集!!!
运算类
add 指向被加数地址 指向加数地址-执行1次加法运算
sub 指向被减数地址 指向减数地址-执行1次减法运算
xadd 指向被乘数地址 指向乘数地址-执行1次乘法运算
xsub 指向被除数地址 指向除数地址-执行1次除法运算
逻辑判断类
and 地址1 地址2 存放布尔值的地址-进行一次与运算,返回为1表示成立,返回为0表示不成立
or 地址1 地址2 存放布尔值的地址-进行一次或运算,返回为1表示成立,返回为0表示不成立
not 地址1 地址2 存放布尔值的地址-进行一次非运算,返回为1表示成立,返回为0表示不成立
控制类
mov 地址 操作数-执行1次赋值操作,此操作不需要直接寻址,填入地址和操作数即可
copy 地址1 地址2-复制地址2内的数据到地址1
goto 地址-从地址中读取输入并找到接下来要跳转的位置
geta 地址-获得当前程序计数器的位置并回存到指定地址
> 地址1 地址2 指向跳转位置的地址-执行1次大于判断,如果成立,跳转到地址指向的位置
< 地址1 地址2 指向跳转位置的地址-执行1次小于判断,如果成立,跳转到地址指向的位置
= 地址1 地址2 指向跳转位置的地址-执行1次相等判断,如果成立,跳转到地址指向的位置
lm 源地址 指向左移次数的地址-执行一次内存地址左移
rm 源地址 指向石移次数的地址-执行一次内存地址右移
exit-终止XASM虚拟机的运行
输入输出类
putc 指向一个地址的指针-输出一个字符,从输入中获取对应的地址,然后从地址中获取要输出的内容
putn 指向一个地址的指针-输出一个整数,从输入中获取对应的地址,然后从地址中获取要输出的内容
puth 指向一个地址的指针-输出一个16进制数,从输入中获取对应的地址,然后从地址中获取要输出的内容
getc 地址-从键盘上获取一个字符并保存到指定的地址
getn 地址-从键盘上获取一个整型数据并保存到指定的地址
geth 地址-从键盘上获取一个16进制数据并保存到指定的地址
除此之外,XASM_V1拥有无限的可能,电脑上能做到的事情,您只需要有肝能力就可以在XASM_V1上成功实现!!!!!
以上就是关于XASM_V1里的全部信息和指令了
XASM_V1还有自己专属的编辑器,名字叫XASM_V1_COMPILE
主要用法:在编译器当前目录下准备好temp.asm源程序文件,编译后会生成disk.bin,XASM会读取这个ROM文件里的全部内容,并全部加载到内存中
这个编译器有以下特点
可以识别以//开头的注释,这意味着可以使代码变得更加易读,编译成ROM文件后并不会保留注释
不加指令前缀也可以使用0x??存储单个字节的数据
可以使用
"内容"
来在编译成ROM文件时保留一些必要的内容,这样就可以在ROM文件中存储一些资源了,注意:编译后的ROM文件内并不会留下“"”
这里本UP主必须要强调一点
在编写XASM程序时,输入的操作数必须为以下格式
0x?? 0x?? 0x?? 0x??
因为源程序编译后不能存储超过0xff的单字节数据,只能进行分段存储,也就是将0x00000000分开成0x00 0x00 0x00 0x00进行单独存放.,在XASM_V1运行程序的过程中,会自动拼接指令后面分段存储的单字节数据并作为输入处理
例如:mov 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00等效于mov 0x00000000 0x00000000
还有在为指令提供参数输入时,由于未经过测试,最好不要超过0xff 0xff,即0xffff,否则编译后的ROM文件运行时极有可能会因为数组越界导致终端输出Segmentation fault(段错误)!!!!!
以上就是关于XASM_V1_COMPILE编译器的全部信息了
在这场发布会中,XASM_V1和XASM_V1_COMPILE编译器全都是由本UP主爆肝了数月的成果,在这期间,绝大部分的开发都是在高中职校里面完成的!!!由于本UP主读的是高一计算机班,因此拥有极其充裕的时间,来进行XASM_V1和编译器的研发,这大大缩短了工期,从原本的半年缩短至数月!!!
在此,本UP主还得要非常感谢学校,给了本UP主极其充裕的时间,来进行XASM_V1和编译器的研发,使我在这研发的过程中受益匪浅!!!!!
利用XASM_V1和它的编译器,您就可以用上双手和用不完的肝能力,一起来创造出令人难以想象的绝世之作吧!!!!!
还在等什么?赶快去官方群里下载XASM和它的编译器,想尽一切办法在XASM_V1里将您的幻想付诸于行动上成为现实吧!!!!!