⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vmbeta.txt

📁 VmBasic是一款基于虚拟机的结构化的编程语言
💻 TXT
字号:
VmBeta's Instructions and I/O interface
虚拟机Beta的指令集及I/O说明

1.虚拟机模拟栈式CPU一共有八个寄存器:
  RP:指令寻址寄存器 RF:标志寄存器 RS:栈寄存器 RB:辅助栈寄存器
  R0,R1,R2,R3:通用寄存器
  标志寄存器RF的第0位到第3位分别为FZ(零标志) FB(小于标志) FA(大于)
  当用CMP指令比较两个变量时比较的结果会更改三个标志,在用条件跳转
  指令JPC进行跳转时会根据JPC所给的条件查询三个标志进行条件跳转

2.虚拟机指令有JMP(无条件跳转)JPC(条件跳转)CALL(调用)RET(返回)LD(数据
  装载)CAL(数据运算)CMP(数据比较)PUSH(压栈)POP(弹栈)NOOP(空指令)
  IN(输入指令)OUT(输出指令)EXIT(推出指令)等13条指令
  支持类型有DWORD(32bit)/WORD(16b)/BYTE(8b)/INT(32b)/FLOAT(32b)
  

3.输入:INPUT
00.转化FLOAT类型的R3数据到INT类型
01.转化INT类型的R3数据到FLOAT类型
02.分配字符串,返回句柄
03.转化R3的字符串到INT类型并且返回
04.将R3的INT数字转化成R2所指字符串
05.将R3的字符串设置成R2的字符串
06.将R3的字符串末尾添加R2的字符串
07.求R3字符串的长度
08.释放R3的字符串
09.比较R3,R2两个字符串
0A.将R2的FLOAT类型转换成R3所指字符串
0B.将R3字符串转换成FLOAT类型并返回
0C.返回R3字符串的第R2个字符
0D.设置R3字符串第R2个字符成R1
0E.返回版本号前16个字节是主版本号,后16个字节是附版本号
0F.返回一个1KHz的时钟值,这个时钟从程序开始运行便启动
10.返回sin((float)R3)
11.返回cos((float)R3)
12.返回tan((float)R3)
13.返回sqrt((float)R3)
14.返回abs((int)R3)
15.返回abs((float)R3)

4.输出:OUTPUT
00.输出带'\n'的整数
01.输出带'\n'的字符串
02.输出不带'\n'的字符串
03.输出不带'\n'的整数
04.输出单个字符
05.输出不带'\n'的浮点
0A.输入整数到R3
0B.输入字符串到R3
0C.输入浮点数到R3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -