独立于应用的虚拟机
global.js ............ vm环境的定义
opcode.js ............ vm处理器的具体代码
fun.js ............ vm函数(api)表,可自由扩展(最好只定义基本的通用的函数,非通用的使用原型定义到其它文件中)
script.html ............ vm测试
script.jasm ............ vm测试用的脚本
-------------------------------------------------------------------
寄存器:
R0 是累加器,任何操作结果都会返回给它.
R3 是计数器,循环指令中的循环次数取它,并在完成时减1
R1 R2 可以作为临时变量用,或者进一步强化处理机时做其他特殊用途
值传递方向:
没有,我没有实现得象机器汇编一样,那是没有必要的.为了使主要精力都放在解决问题、流程上,
返回值都放入了R0,能简化代码生成器(分析器,将表达式、语句翻译成vm用的汇编)的推导过程.
应用:
具体的应用靠state目录中的状态转换和其他扩展来实现。大而全是不现实的,可能的话,为一个简单
应用写一个相应的简单的状态转换要远远好于写一个大而全的分析器来解决所有问题,除非想写一门自己的语言.
不应把大部分问题都由vm的脚本来解决,如:完成某个微观的具体的功能.这种时候推荐在"fun.js"
中扩展 API,象诸如:alert,print,getHtml,md5 等等,扩展后在脚本中使用call来调用,这样可以
避免把问题复杂化,用脚本解算法问题除了起测试环境的可靠性外没有任何意义.另外扩展的时候要
记得将返回值放入R0中.
如果需要扩展的是一些复杂且作用单一的功能,建议另建一个文件扩展,尽量保证"fun.js"的通用性.
进一步完善:
希望把握一个原则,通用!这里的“通用”外延比较广,包括多浏览器,包括vm用的脚本要独立于应用,
包括考虑移植到其他语言(如:jsp/java)中的可能性...等等,总之多考虑能为将来多节省时间.
-------------------------------------------------------------------
手工汇编:
.data,name,"var" | var
数值:
没有加 ( "" ) 的声明方式就是任意值,如果是数字特征就会被作为数值运算,如果不是数值特征
将被作为字符串操作.
字符串:
字符串变量前端带有标识符 "{[/s]}",要获取有效的变量值使用对象内部的getVar来获取。
标号:
一个单独占一行,末尾是":"符号的词汇既是标号.
代码中引用标号有两种方式:
#标号 :只能作为代码中参数单独使用,最终会被替换为立即数.
如:
__test1:
code...
code...
jmp,#__test1
@{标号} :可以放在任何位置,只要这样有意义,当然,是不能放在op这个位置上的了.它也会被替换为立即数,
使用起来较灵活.
__test1:
code...
code...
即可以:
jmp,@{__test1}
也可以:
.data,str1,"行号:@{__test1}"
指令:
打开"opcode.js"一览无余.代码中 指令、操作数1、操作数2...使用逗号(,)分隔,使用的是几乎没有什么分析
过程的简单机制.
为了方便直接手工汇编及调试,支持"invoke",不喜欢汇编的可以不关心这个.一些简单的应用可能没必要搞得去写
一个编译器那么复杂或者是个汇编狂,直接手工汇编时用这个就方便多了。
因为指令都对应有索引值,已经就扩展成直接使用二进制文件做了准备.目前正在规划中
cop的编写与维护人:
=Red_Fox= 2008-10-18
没有合适的资源?快使用搜索试试~ 我知道了~
web excel + vm(js)
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共40个文件
js:14个
txt:13个
html:8个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
温馨提示
web版的excel(js)附带一个javascript 写的vm vm还在进一步修整开发中,有兴趣的人可以来一起研讨一下 qq群号:37124638 目前已更新,请下新的版本
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/BMP.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/HTML.png)
共 40 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
- 凛冬降至2012-11-28可以用,但不是我要的效果哦
- tianhait2014-06-17看了。。是个好东西.
- mu_yeteng2012-09-14额,东西很多,不过有些混乱,虽然没有找到帮助我的,还是谢谢啦
![avatar](https://profile-avatar.csdnimg.cn/25ece46bce9d4952b61148e4f1983d64_darkfox123.jpg!1)
darkfox123
- 粉丝: 6
- 资源: 6
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)