QJ 1518-1988 微型机汉字CA-FORTH语言.pdf
《QJ 1518-1988 微型机汉字CA-FORTH语言.pdf》由会员分享,可在线阅读,更多相关《QJ 1518-1988 微型机汉字CA-FORTH语言.pdf(81页珍藏版)》请在麦多课文档分享上搜索。
1、Q.J 中华人民共和国航天工业部部标准微型机汉字CA-FORTH语言FORTH LANGUAGE FOR CAMAC 1988-04-25发布1988-12-31实施中华人民共和E航天工业部发布主题内容与适应范雷. . (1) 2 引用标准.(1) 3 名字术语.(2) 4 符号说明.(11) 5 词典.(1匀6 CA-FORT狂的汉化.(41) 附录A基于美I!lFORT旦-79标准灼黑子CAMAC珩)FORT旦词典(参考件. . (43) 中华人民共和国航天工业部部标准微型机汉字CA-FORTH语言QJ1518-88 FORTH LANGUAGE FO丑CAMAC本标准自专制定lUFORT
2、H语言为基础,等效果用NIM委员会1979年颁布的国际亵范IEEE758 CAMAC标准子程序,并加以汉化,E主题内容与适瘪范围本标准窥定了CA-FORTH语言的名词术语,CA-FORTH词的符号、名称、参数和功能.本标准适用于任何CA一FORTH标准系统上所执行的任何CA-FOR豆标准源程序,条件是只要有足够弱可利用的计算机资源往日存贮容量等), 本标准涉及内存结构肘,按八位微机叙述,但并不限于在八位的徽机上实现.您在十六位微机上实或时,本语言的符号名称、参费生幸rr功能保持不变.本标准允许在CA-FO丑TH标准系统问巧移植CA-FORTH标准源程序,按照FORTH语言可以按需扩充和收缩的特
3、点,建立CA-FORTH语言的词典一般有二种方法一种是根据具体用户的实际需要,逐步扩充的方法来建立;一种是直接等价实现国外已有标准来建立.本文以第一种方法建造词典作为王文,以第二种方法,直接等价实现美国Forth-79标准建立渴典作为附录A,另外,正文中CAMAC标准子程序字集的名称与美国KSC公司提供的名称相一致.而附录A中的CAMAC字的名称和参数与ANSII IEEE . STD 758 STAND ARD SURBROUTINES FOR CAMAC标准提供的名称和参数相一致.2引用标准ANSI I IEEE STD758-1979 SubTOutines for CAMAC U.S.
4、NIM Commttee and ESONE Commttee of European Laboratorics GB 2312-80 信息交换用汉字编码字符集基本集航天工业部1988斗)4-25批准1988-12-31实施-1一Q.J1518-88 FORTH-83标准FORT它标准组1983年8另GB 1988-80 信息处理交换用树七位编码字符集3名字术语确切的术语定义是CA-FORTH语言标准化的基础,现将CA-FORTH常用的术语规定如下:E 自七个二透位编玛丽成的码元,并亘符合ASC11标准码,当字符在大写域中时,较高位为零.:字符序列(字符率)I 一串(有限个)可用ASCII码表
5、示的有形定符,但不包括空格符、事符蒋&符.回它是用空白符或因车换行符来终止鹅字符序列.字长不得多于31个字符(不算字前的空白符).回词典中的字称为CA-FORTH字或功能字,德称为涡.词分为核心字和应用字两种.I$I 一串(有贯主个字,字与字之间以空白符作岗隔.1J$1 一事(有黑个)字或词,字与字、字与词、词与词之间以空白符作闵隔.-2一Q1l515-88 CA-FORTH行|以在写车换行符来终止字词串,有时亦德称为FORTH行.I iiJ#! I 词典是CA-FORTH系统前一科数据结将.自词典表白组成.词典表自由词的名称京1连续域组成2连接域(占二个字节)的内容是一个地址,指向程序模块或
6、地址流表或变量戎数组钓标志单元.词典表白可以向辈辈离地址扩展伸长.词典表吕被编在不同词汇支中,以便缩短另两名来定位的搜索过程.Iltlt I 连接就是词典表目的组成部分,占二个字节.用来存放编译地址(柜应予词定义或数据地主主(相应予各类变量或数经)或核心字地址.王/J!tI 输入流是对CA-FORT1主系统有效的字泻串,供文本解释程序处理.约定输入流取自当前输入设备经过文本输入缓冲区)或大容量存贮器经过块缓冲区)预存到那户区.I iJL I 核心字属于词,其连接域的内容指向一个可执行模块,该模块是CA-FOR它主系绞中直接用机器11:码定义约具有一定功能的程序段.该程序段的第一个字节存放核心字
7、标志,最后个字节为RET.I* I 为编译和执行标准程序所要求的主主少核心字,CA在在AC标准子程序字集-3一QJ1518-88 专门用于CAMAC操作约一类核心字,其功能等价于IEEE758 CAMAC标准子程序.分为三个子集1.单动作;II.LAM管理及CCU状态,因多动作.I fiF*.WJ I 基本字集和自汇编湾扩充产生经CA-FOR王标准经正式审查并采绣的词.I EY:Jll jli!lJ!lijlg I 它们是执行中改变执行顺序的组CA-FORTH字,其结构常常是工或三个字配对的.控制结构的实例I !18 I DO. LOOP BEGIN.UNTIL IF.THEN IF.ELSE
8、.THEN 直接或间接的自引用过程.型歪3DO.+LOOP 用CA-FORTH字(主要是定义词)对完成一项特定功能(应用任务)的执行过程所作的完整的说明.I ffttMr I 在具有足够的执行程序资源的任何标准系统中,除时间的依赖性以外,同一个标准源程序对于相同的输入将产生同样的结果.E雪E这个术语是指把某一个系统上生成的源程序放到另一个系统上执行,能得到等价的执行结果.该源程序必定是可移植的.10-QJl518-88 标准源程序合乎CA-FORTH文法,在CA-FORTH标准系统中可运行的源程序.CA-FORTH标准系统配有本标准的CA-FORTH语言的微机系统.内存容量为64K-512K.
9、4符号说明n, n ,. .十六位符号数u. u, .川.十六位元符号数fd. fd1 . .浮点数b. bl4 ao. . . .八位字节f . .-.布尔标志h. h1 . . .HEX码曲.sh , . . . HEX码(带符号)adr. adr,u . .地址st. 5t1 .字符串恼.hh1 . . .二位HEX码d. d1. .双精度整数仙,dhIHH-. .双精度整数高位部分dL. dL1 . . .双精度整数低位部分name, name1 (即st.st1)变量名/常数名/浮点变量名/数组名/文件名/应用字名/词名4b . .规格化浮点数lnt .十六位带符号整数fint .
10、.帮点整数word. wordt .词/字/数据wordlist. wordlist, .字词序列wordlist = word word,. .数据校表示法浮点校表示法一11一旦旦旦8-88ext . .字符串.CAMAC地址名C . . .机箱号N.站号A . . .子地址Low8 .低8位数据mdI8.中8位数据up8 . .高8位数据NAF! . uN! uA! u凹的缩写lam .字符串.LAM源名称S/m.。/1表示单/多LAM源5词典CA-FORTH词典分CA-FORTH基本字集、CAMAC标准子程序字集和CA-FORTH图形字集三部分组成.CA-FORTH基本字集分九个子集命令
11、子集编译子集堆钱操作子集传送子集数制转换子集算术运算及初等函数子集逻辑运算子集关系符及控制结构子集1/0子集CAMAC标准子程序字集分三个子集子集I一单动作子集lI-LAM及CCU状态管理子集E一多动作CA-FORTH图形字集点直线三角形矩形圆弧圆一12一5.1 基本字集5.1.1命令子集词堆楼;BYE (一)COVER (一)DELET (word一LIST ( - ) STK (一)RR (一)RRR (st一)QJI518-88 命令于集名称使用方法说明退回操作系统BYE 从CA-FORTH的运行状态退回到操作系统COVER 将词典中通过对话方式用键盘指定的词复盖NAME=name (n
12、ame)后面所有的词所占词典表目.目L;阉名标区和数据区全部解释将词典中用程序或键盘指定的词(name)删除咀tDELET后面所有的词所占词典表目、目标区和数词名据区全部解悻.L1ST DISPLAY 显示词典CY /NJ Y 将词典中的词,逐个地显示出来naEn1e 词名显示堆枝元章STK 将堆梳元素逐个地显示出来RR FILENAME-将指定文件名的源程序从大容量存贮区载载入源程序n.口,.人内存一亡立件名咀ameRRR 将堆拢的字符串视为文件名.把相应的源再载人源程序L吏件名程序从大容量存贮器载人内存13一QJ1518-88 续表词堆枝名称使用方法说明SAVE FILENAME 将当前居
13、内存的经载人定向定位的源程理SAVE (一)源程序代码存人磁盘去件名序代码以指定的文件名存人磁盘TT FILENAME 将指定文件名的源程序代码从大容量存贮TT (一)装人源程序代器载入内存码可马件名5.1.2 编译子集编译类中各种变是说明.数组说明以及常数说明都是定义词,它们有两种性能一种是编译时性能;一咱是运行时性能现以VAR为例加以说明在编译时.VAR产生一个整型变量类别的词典表目,并在数据区申请三个字节的存贮空间,一个作标志单元.另三个作整型量数值单元,这就是编译时性能.在执行name时.因为它是一个由VAR定义的变量,就把它在数据区的数值单元地址(低字节地址)送系统工作单元SAVE1
14、以便对它进行存取操作(见!.).这就是运行时性能.一14一QJ1518-88 编译子集词堆找名称使用方法说明-) 词定义开始符:name word. 表示应用宇nama的内容是word.wordlwordll.; word:z.word :n3mc wordl (一)词定义结束符word2 见上一词! wOrdn; 表示整型数组name啻n个元章,每ARY -) 数组说明ARY namc n 个元章的j(:度为2个字节CONST (fd-) 常数说明fd CONST 表示常数name的值为浮点数目(占03me 四个字节)(-) 文字变量说明CVAR name 表示name为一个文字变量(占十六
15、个字节)CARY (-) 文字数组说明CARY name 表示丈字数组3me啻n个元章,每n 个无嚣的长度为十六个字节)FVAR (-) 浮点变量说明表示name为一个浮点变量(占四个字节FARY (-) 浮点数组说明i FARY name 表示浮点数组name啻n个元素.每In 个元素的长度为4个字节SARY SARY name 表示单字节数组name吉n个元素.-) 单字节数组说明n 每个元素的j(:度为个字节VAR (一)变量说明VAR name 表示name为一个整型变量(占二个字节)15一QJ1518-88 5.1.3 堆楼操作子集堆棱操作子集词堆椅名称使用方法说明(st2 St-5
16、t 5t2) 互换将钱顶第二个元章与棋顶无互相交换S明APSWAP 位置(st:; 5t1 stl-唱t,堆楼顶的=个元素(8tl5t2 st)互相ROT 三元轮转ROT 轮转,顶无降为顶二元,项二元降为5t1 st3) 顶三元,顶三元上升为顶元DUP (5t-5t st) 复制DUP 复制技顶元章i (,t-, t) 非另复制若楼顶兀景不为O.则重申J.否则不?DUP ?DUP (5t-St st) 复制(5t1 Stl-St2 5t 复制顶二元将楼顶第二个元素复制到拽顶,使原OVER OVER 5t2) 楼顶元成为顶二元(st S1a_l.st1. 将钱中第u个元章复制到楼顶,使原prCK
17、 st St_I. 复制第u个元素u PLCK 楼顶元成为顶二元.u=2. 3. n 5t, 5t . 将按顶元章抹去,如果原来楼顶有nDROP (,t- ) 抹去顶元DROP 个元素,执行DROP后,只留n-J个元素了CLR (st 5t,_I ,t,一)清除堆CLR 清除堆梭所有的元素STRL (,t-,t.) 求字符串*度STRL 对槐顶元,t.计算出它的字符个数u.并将它压人堆枪(R (n一)压人返回校(R 将数据楼顶元以二进制形式传送到返回校R) ( -n) 弹出返回校R) 将返回钱顶元素以Ascrr码形式传送到数据接一16一QJlS18-88 5.1.4 传送子集传送子集词堆榜名称
18、使用方法说明以革统工作单元SAVEI为指针(b一)变量赋值1(见VAR).将楼顶无b(OINT (fd-u) 浮化整将浮点枝A区的规格化浮点数日取INT 整后转送到数据找FLO (n-fd) 整化浮将数据拔的十进制数以浮在规格化的FLO 形式传送到浮点钱A区(n-d) 单化双将一个(带符号的)单精度数化为一ND ND 个(带符号的)双精度数-20一QJ1518-88 5.1.6 算术运算及初步函数子集算术运算子集词堆枝名称使用方法l 说明OJ=O.+D: 。ND)+ (TOP) .TOP + 阳,02-03)加+ 将堆横次顶元与顶无章作十进制整型量加法操作.清除这二个元素后,将操作结果压人堆拽
19、.01= -02 (2ND) -(TO肘.TOP(nl02-n 2) 减将堆横次顶元素与顶元素作十进制整型量减法操作.清除这二个元章后,将操作结果压人堆横)=01*02 (2ND) (TOP) .TOP 拿(n102-03) 乘* 将堆横次顶元素与顶元章作+进制赞型量乘法操作,清除这二个元章后,将操作结果压人堆枝1/02=n,n, (2ND) / (TOP)的商TOP(2ND) / (TO凹的余数.2ND/ (0,02-0 3,) 除/ 将堆战次顶元素与顶元素作十进制整型量除法操作,清除这两个元章后,将余数先压人堆钱,(成为次顶元章).再将商数压人堆横(成为顶元章)【B区】+(A区).A区F+
20、 (n.2-D 大于TOPl若(2ND) (TOP) TOP0若(2ND) (TOP) 判别堆钱次顶元章是否小于顶元素,若条件成立置f1.否则f.TOPI若(2ND) (TOP) 二(st.stz-f) 等于罩TOP牛若(2ND)苦(TOP)逐个字节地比较堆枝次顶元素与顶元章,若完全符合则置f-I.否则f-qJ.所以关罩=适用于整型数据和字符串的比较.F (fd,fd,-f) 浮点大于F (TOP)l若(B区) CA区(TOP) -0若CB区) (A医】判别浮点战B区的内容是否小于A区的内容,若条件成立.则置f1,否则置f-O (布尔标志f设在数据找)F (fd,fd,-f) 浮点等于F (d
21、,d,-f) 双精度数大于D 双精度数比较,如果南等于d,.则置f=1.否则置fO(布尔标志f设在数据枝) DO-一-只允许在冒号定义中使用(b,b,-) 循环lLOOP -26一QJ1518-88 续表词堆核名称使用方法说明DO一一-n+Loop(b,b1-一)循环2t 一bL一D一一0循循w环环or终韧dlis值值t n +Loop 只允许在胃号定义中使用耳终值I -b) 取循环变量值bl bz DO-I?L将00循p 环变量当仅在循环体内有效.前值取到楼顶J (一)取循环终值bt b2DO-Fh一Loo将p 循环终值仅在循环体内有效.取到楼顶比如上例执行到: wOrd , IF LEA
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
本资源只提供5页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QJ 1518 1988 微型机 汉字 CA FORTH 语言
