版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南湖计算机和南山计算器1 南湖计算机是一台使用WD FORTH语言的计算机一、南湖计算机是一个程序开发和应用的平台南湖计算机可以编译执行用WDFORTH语言写的计算机程序。通过编程,你可以用南湖计算机开发科学计算等各种应用。由于采用FORTH语言,南湖计算机不但可以将程序编译后供执行,你也可以从命令窗口发布命令让南湖计算机执行。南湖计算机还自带了一个“南山科学计算器”,它是由主机的FORTH语言支持的,功能强大。它不但可以供你进行小计算(不用编程),而且把计算过程在命令窗中显示出来,供你学习用。因此,南湖计算机是一个象Python、MATLB或者VB、VC这样的程序开发环境和应用平台。二、南湖
2、计算机是一台虚拟计算机南湖计算机的内部已经预置了一个32位的虚拟CPU,它有四个定名的整数通用寄存器和若干指针寄存器,也有四个定名的实数通用寄存器,实数是64位的。这个CPU有若干精简的指令供你使用,基本语法参考X86汇编语言。南湖计算机的内部已经建立了一个虚拟堆栈计算机。这个计算机采用哈佛结构,代码空间、数据空间、寄存器空间和虚拟空间都已经分开。作为计算机南湖计算机已经能够理解FORTH计算机语言,因此你可以把南湖计算机按你的设想打造。因此,南湖计算机是一台象8086、8051和STM32这样结构的虚拟嵌入式计算机,你可以用来进行计算机理论与技术的研究,进行计算机语言理论与实现方法的研究。三
3、、南湖计算机是一个主机软件系统开发平台。南湖计算机运行在PC机和Windows的主机环境下,通过加载不同的开发平台模块,就可以开发主机上的各种应用程序。比如加载“金水明_X86开发系统.DAT”的开发模块,你就可以用X86FORTH汇编语言开发各种主机上的应用程序。因此,南湖计算机是一个象VS一样的通用软件开发平台,通过加载不同的模块就可以使用不同的计算机高级语言开发主机应用程序。四、南湖计算机是一个目标机软件系统开发平台。虽然南湖计算机运行在PC机和Windows的主机环境下,通过加载不同的开发平台模块,就可以开发各种嵌入式计算机上的应用软件。比如加载“金水明_X51开发系统.DAT”的开发
4、模块,你就可以用X51FORTH汇编语言开发各种基于8051CPU核的嵌入式计算机上的自动控制程序。因此,南湖计算机是一个象Keil一样的通用单片机软件开发平台,通过加载不同的模块就可以使用不同的计算机高级语言,为不同CPU架构的嵌入式系统开发目标机的应用程序。2 南山计算器人类使用计算机的第一个目的是数值计算,当初使用的手动计算装置被称为“手动计算机”,使用机械之后被称为“机械计算机”,当使用了电子真空数码管作为显示装置后被称为“电子计算机”,其实这些都只完成数值计算,准确的名字应该是“计算器”。计算器的特征是有一些按键和显示一个数值的显示器,人类通过按一定的次序按按键来实现数值的输入和计算
5、,最后从显示器看结果。计算器对人类的影响之严重,据说货物交易的双方都通过手持计算器来进行,而年轻人最时髦的是掏出手机来进行计算。这种影响大到在Windows操作系统中都提供了一个“计算器”软件,在所有款的手机上都有这种计算器功能。计算器的最高境界是能够编程,解决同一类问题的方法不需要重复地按键(Windows计算器居然也要用鼠标去按键来输入数据,而不用一个文本框用键盘输入,真是不可思议。)来进行。为了实现让计算机进行数值计算目的,也为了研究建立计算机语言的基础,本文的第一部分最终用一个“懂计算机语言”的计算器来作为例子,这个计算器用一个通俗的名称“南山计算器”来称呼。与Windows计算器相比
6、,南山计算器除了可以读懂FORTH计算机语言的文本外,还增加了许多实用的功能。南山计算器最重要的用途是进行FORTH计算机语言的学习,南山计算器其实只是一个界面,每个按键进行的操作仅是把实现该功能的操作词送给南湖计算机,在南湖计算机中进行运算,南山计算器作为结果显示的也只是南湖计算机算术堆栈顶的三个数。所有南山计算器送出的命令都显示南湖计算机命令输入历史的文字框中了,通过这些命令,相信FORTH计算机语言的初学者会受益菲浅。更有甚者,如果你觉得南山计算器的功能不够,你可以直接从南湖计算机的命令输入框中输入其他命令来帮你的忙!在“南湖计算机”上使用者可以手工输入程序或者命令,也可以让计算机输入指
7、定的程序文件,计算机执行程序的结果可以显示在屏幕上,也可以输出到指定的文件中。“南湖计算机”是一个在PC机上WindowsXP下运行的软件,它可以实现FORTH计算机语言功能。通过使用FORTH计算机语言编写的程序,使用者不但可以实现许多的应用功能,最重要的是可以用它开发出其他嵌入式计算机系统(比如使用8051核心和ARM核心的单片机系统)使用的软件,甚至开发出其他嵌入式计算机的操作系统,使得这些系统也可以使用FORTH计算机语言来与人类进行交流。因此“南湖计算机”有两个功能,一个是“虚拟计算机”,它解释执行FORTH计算机语言,使用者可以用它来完成应用任务;另一个是“异机种计算机编译器”,它
8、解释执行FORTH计算机语言,生成一个可以在其他计算机平台运行的二进制机器码程序,当然也包括生成在在PC机上WindowsXP下运行的二进制机器码可执行程序。“南湖计算机”自己能理解和执行FORTH计算机语言,但更重要的是用“南湖计算机”可以开发出来新的计算机软件或者操作系统,运行这些新的计算机软件或者操作系统的计算机也能够能理解和执行FORTH计算机语言来与人类交流,甚至再新平台上再造一个新的“南湖计算机”。FORTH计算机语言是人与计算机交流的语言,本文以下所说的计算机如何如何,可以理解为是“南湖计算机”如何如何,可以在“南湖计算机”动手研究。在“南湖计算机”上使用者可以手工输入程序或者命
9、令,也可以让计算机输入指定的程序文件,计算机执行程序的结果可以显示在屏幕上,也可以输出到指定的文件中。3 安装与运行南湖计算机软件发布包是一个压缩文件,文件名为“南湖计算机_Setup.rar”,将其解压后有三个文件:(1)首先建一个自己的工作学习目录,比如:D:学习(2)双击运行“setup.exe”文件,出现以下安装界面。(3)选择确定。(4)选择“更改目录”,更改到刚才新建的目录选择确定(5)单击计算机图标按钮将软件安装到“学习”目录中。选择继续,选择确定。(6)安装后“学习”目录中新增了三个文件。以后双击“南湖计算机.exe”文件就可以运行程序了,并且这是软件运行中缺省的文件目录就是该
10、目录了。如果在安装中出现下列问题,一律选择“忽略”。选择“忽略”安装成功后双击“南湖计算机.exe”运行,可以得到主界面图1南山计算机主界面4南山可编程计算器的界面和基本操作在图1主界面中,屏幕分为左右两个部分,左边是输出信息部分,计算机输出给使用者看的信息显示在“文字”框里。上面几个是示意性的指示灯。右边的部分是输入信息部分,下面的白底色的文字框是命令框,使用者将命令输入在里面,然后按下面的“发送”按钮就可以将命令发给南湖计算机执行。比如输入“12+.I”后按“发送”按钮,就得到以下结果:可以看到(1)计算的结果“3”已经出现在左边输出信息框了;(2)已经发送的命令复制到了右边上面的命令历史
11、文字框了;(3)刚才的命令仍然留在命令框中,这样方便修改后再次发送。如果不需要了,可以按“清空”按钮将其清空。右边输入信息的历史文字框里的内容可以用鼠标选择和右键弹出菜单来复制出来。左边输出信息中的内容可以按“保存”按纽将输出结果保存到文本文件中。文字框中的文字太多时可以用“清空”按纽清除。当鼠标移到屏幕左边时,左边会弹出“南湖计算机”的工具夹来,当鼠标移到右边时这个工具夹会自动消失。图2南湖计算机的界面计算机上部有4个文字框,上面的三个显示了南湖计算机算术堆栈中栈顶的3个数(如果实数功能关闭,代表3个单元,如果实数功能打开则代表6个单元,每两个单元作为一个实数显示)。通过按数字按钮输入的单个
12、数字先显示在下面的“输入数”文字框中,然后需要按“发送”按钮才会将整个数字发送到南湖计算机中,这个数字将出现在堆栈顶“堆栈(1)”的文字框中。输入数字到“输入数”文字框中,除了按按钮,可以直接把鼠标将光标放在框中直接用键盘输入。第3行最右边的按钮“清空”是清空整个算术堆栈。南湖计算机的操作要按照逆波兰的形式,比如要计算“3-2”,就要先输入数字“3”,然后输入数字“2”,结果见下图图3输入数字3和2之后的结果从图可以看出这两次操作的结果:(1)堆栈中有两个数,先输入的是3,后输入的是2;(2)在右边输入信息的输入历史框中可以看到是如何输入这两个实数的在输入数之前先输入“RealFunction
13、On”的词将实数功能打开,确保下一个输入的数被转换为实数。(当然这个字输入一次就可以了,这里是保险起见)然后再按“-”减号按钮,可以看到结果这时可以从右边看到进行实数减法的词是“R8-”,从左边可以看到减法的两个数已经不见了,结果“1”已经放在堆栈顶了。但是在中间的输出信息框中没有信息,这是因为计算结果是放在堆栈里,没有人的命令计算机不自动进行输出。虽然作为计算器已经在堆栈顶看到结果了,但要想将结果实数“1”输出出来,必须在右面的命令框中输入“.R8”,然后按“发送”按钮,结果如下图:刚才的计算结果“1”已经被输出到中间的输出信息框中了。不过执行“.R8”的命令是把堆栈顶上的实数取走进行输出,
14、所以从左边可以看出现在堆栈里什么都没有了。以后如果想偷看堆栈顶上的数又不把它取走,可以输入命令“DDUP.R8”,它的意思是在将堆栈顶的实数复制一份在堆栈顶上,然后再输出。当然也可以在发送“.R8”命令前先按南山计算器的“DUP”按钮将堆栈顶的实数变成双份。5 南山可编程计算器功能(1)学习。由于计算器的界面很简单,只需要注意采用“逆波兰”方式,先输入数,再按加减乘除和函数键就行了。当你在进行这些操作的时候,堆栈顶的数据会跟着变化,你可以直观感受“堆栈运算”的过程和各个操作的意义。同时与操作对应的命令也显示在右边的输入信息框了,这例子可以用来学习编写程序。其实把整个输入的命令历史全部复制粘贴到
15、一个文本文件中,这就是解决问题的程序了。(2)编程。把操作的过程复制粘贴到文本文件中,然后再加上一些变化,就可以编写成为一个新程序了。比如给一个求自由落体的抛物线运动的过程,改变时间,就可以算出位置来了。为了帮助学习FORTH计算机语言,本文也提供了一些例子程序,读者也可以作为参考,修改后编写自己的程序。自己写的程序可以通过顶部的“文件”菜单加载执行。(3)扩展。计算器顶部的四个按钮是“自定义”功能按钮。在安装目录下有一个“南山计算器_配置.txt”文件,其中的内容为:Func1="单词表",".Words"Func2="堆栈深度",
16、"AS_DEEP.I"Func3="显示堆栈",".AS_STACK"Func4="任务重启","Task_Reset"很显然,第一个引号对(英文的双引号)中间的是按钮的名称,第二个引号对中间的是命令,可以包括多个词。当你按功能按钮时,对应的命令就被发送到南湖计算机中去执行。因此使用者可以用它来扩展计算器的功能。6 南湖虚拟计算机学习版(1)学习版主要用于FORTH计算机语言和各种计算机系统开发的学习,因此没有加入GUI和数据库方面的支持原语。(2)系统启动后已经具有了基本的词汇。通过界面上的按
17、钮“输出虚拟机词汇”,你任何时候可以将当前系统具备的词汇输出到一个文本文件中做学习参考。(3)系统的功能模块必须放在本EXE程序所在目录下的子目录“Data”中。可以通过界面上的按钮“加载虚拟机映象”来加载功能模块,也可以在程序中动态加载。(4)为了方便使用,你可以通过界面上的按钮“输出虚拟机映象”来输出功能模块。输出的功能模块中包括了所有你已经编好的FORTH字。因此你用FORTH源程序写好了一个应用程序,你只要将输出映象分享给别人就行,不需要提供你的源程序。这个过程类似VS开发工具生成EXE可执行程序一样。与EXE程序不一样的地方是,你可以接着使用别人已经定义的FORTH字来编译自己的程序
18、。然后你也可以再次生成输出映象来让别人共享。(5)与通常窗口式的FORTH不同,人输入的FORTH命令和程序是从“命令窗”中写入和编辑,然后按“发送”才发送给FORTH虚拟机执行。FORTH执行的结果显示在“信息输出窗”中。(6)“信息输出窗”中出现“FORTH>”的提示符,说明FORTH虚拟机已经空闲,你可以输入下一个命令了。FORTH虚拟机忙时顶部的执行灯会亮。(7)本计算机有左、右和顶三个工具栏,平时是隐藏的。需要时你将鼠标移动到屏幕的左、右和顶的边上,工具栏会自动弹出。当鼠标回到屏幕中间部分,工具栏会自动缩回。(8)你可以通过右侧的工具栏上的“终止”按钮来终止FORTH程序的执行,比如程序在执行死循环。程序一旦终止,后果很难预料。建议从重新加载某个映象开始。加载某个映象导致系统恢复到那个模块的初始状态,以后建立的新FORTH字都“忘了”。(9)FORTH程序是文本格式,用记事本等任何软件都可以编。本系统不使用任何缺省的文件名后缀,使用时必须全名给出。建议FORTH程序以".wdf"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《基于结节特征增强的轻量化Faster R-CNN肺结节检测方法研究》
- 《基于对外汉语教学的结婚义动词研究》
- 《中美物理教科书内容设置对比研究》
- 工业园区节能效益分享协议
- 妇幼保健医院内部控制优化方案
- 公司技术中心职责
- 幼教行业厨师用人合同
- 保安服务合同的标准条款
- 医疗机构装修废弃物清运方案
- 工程机械运用与维护专业毕业实习报告范文
- 设备维修年终总结总结
- 危险化学品培训计划
- 铁路检车员个人工作总结2篇
- 京东财务部门组织架构
- 导管堵塞的预防与处理
- 土壤污染治理与修复
- 书香企业阅读活动系列方案
- 保健品“番茄红素软胶囊”的研发-医学资料
- 社区食堂建设可行性方案
- 23秋国家开放大学《汉语基础》期末大作业(课程论文)参考答案
- 军事体育基础知识
评论
0/150
提交评论