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
22、VE THEN; LEAVE (一)退出循环WORD,时,若if取浮点数显示n俨F_._._J 浮店、变量名显示浮点变量name的情.LF (一)回草换行LF SPC (一)|光标(空右格移)世SPC 从端口号为hh的端口读一个hh L IN IN (hh-u) 读端口数据字节到楼顶,枝顶得一个+端口号.HEX码进制无符号数uhh1 hh2 OUT 将数据hh,( DECLARE型变量ext成为一个CANAC地址名.它的姑号为N.于地址为A.RDGRPI (一)读组1寄存器(ext) REGRPl ext为经DECLARE说明过的CAMAC地址名.RDGRPI的功能是从CAMAC地址(ext)
23、读组1寄存器得24位数据,分低中、中高三个8位压人堆拽.高8位在找顶.RDGRP2 (st- ) 读组2寄存器(ext) RDGRP2 ext为经DECLARE说明过的CAMAC地址名RDGRP2的功能是从CAMAC的地址(ext)读组2寄存器得24位数据,分低、中.高三个8位压人堆钱,高8位在校顶.WTGRPI (UU2问sl一)写组I寄存器( lou8 mdl 8 up8extext为经DECLARE说明过WTGRPI 的CAMAC地址名.WTGRP2的功能是将三个8位数据up8.mdl8、low8用F16从堆楼顶传送到CAMAC地址口。-WTGRP2 (UU2叫sl一)写组2寄存器( l
24、ow8 mdl 8 up8ext) ext为经DECLARE说明过WTGRP2 的CAMAC地址名.WTGRP2的功能是将三个8位数据up8、mdl8.low8 用FI7从堆楼顶传送到CAMAC地址(exl)-32一QJlS18-88 b 子集E于集n-LAM及ccu状态管理词堆战名称使用方法说明CC (一)机箱清除使机箱控制器ccu中产生数据路CC c (c1ear)信号.CZ (一)机箱初始化CZ 使机箱控制器ccu中产生数据路Z (Initialize)信号.使机箱控制ccu的数据路禁止信SETCI (一)l设置I信号SETCI l号1(Inhibit)置1,并保持到重1位信号到来为止.
25、使机箱控制器ccu的数据路禁止CLRCI (一)清除I信号CLRCI 信号1(Inhibit)置另,并保持到置位信号到来为k,(一)允发LAM请允许机箱控制器ccu发出由模件ENCD ENCD 求上的LAM引起的中断请求.DISCD (一)禁发LAM禁止机箱控制器ccu发出中断请DISCD 求.LISTAT (一一)状态显示将ccu的状态寄存嚣的内容显高LISTAT 出来.CLRGRPI (st一)清组l寄存器(ext) CLRGRPl ext为经DECLARE说明过的CAMAC地址名,CLRGRPI的功能是用F9将CAMAC地址(ext)的组1寄存器清零.33一QJ1518-88 续表词l堆
26、槐名称使用方法说明CLRGRP2 (st-) 清组2寄存器(ext) CLRGRP2 ext为经DELARE说明过的CAMAC地址.CLRGRP2的功能是用FI1将CAMAC地址(ext)的组2寄存器清零.单动作写U4 N ! 同A!罩统变量N(站号),A (子地址), WT I (U ,U1U)-) u, F F (功能码)赋值后,执行WT操Clow8 作,将堆楼顶部商、中、低三个八佳rndl 8 up8) WT 数据写到由N,A指定的CAMAC地址.RD ( -U1U2 单动作读U4 Nl uj A ! u6F 罩统变量N(姑号)、A(于地址)、u,) IRD F (功能码)赋值后,执行读
27、操作,将从由N、A指定的CAMAC地址读取24位数据,分低.中、高二个8位压人堆楼,高8位在校顶.SFNA (一)送F、N.A U1 N! Ul A ! 将系统变量N、A和F的内容分别同F!SFNA 送CCU的姑号寄存器,于地址寄存器和功能码寄存器,但并不伴随若将Q响应到罩统变量CAMQ中.QRD ( - ) 读Q响应将CCU的Q响应读到革统变量QRD CAMQ中.-34一词堆横LMCLA I (f u, u,叫cam-) 名称LAM i且明LMLNK I (51 , st,一) I LAM连接ENL (口,叫一)开放LAMQJ1518-88 续表使用方法V A Rlam I11 CN主Ala
28、m 1 L岛ICLAL一-A为于地址A为正时.A-方式找LAM源.A为负时.1一方式找LAM源.L一一一-姑号L一一一一一机箱号r单川源1-JLAM据 word I lam L肌ILNKN Al ENL 说明l说明名为13m的LAM惊的类别地址和寻找LAM源的方式.供LAM连接词(LMLNK)使用.13m经LMCLA 说明的LAM源名称word 应用字名称.LMLNK 指明名为13m的LAM源对应的中断处理字为word. 将站号为N、于地址为A所对应的LAM源开放,也就是使站号为N的组2寄存器A(13) 中,于地址A的对应位置-35一QJlS18-88 词堆槐名称使用方法说明DISL (U1U
29、2一)关闭LAM(N A) DISL 将站号为N、于地址为A所对应的LAM源屏蔽掉.也就是使站号为N的组2寄存器A(13)中,于地址A的对应位置0, (f-U1U2) 测试LAM(N A) TEST 测试站号为N,于地址为A的CAMAC地址有否LAM请求.即为F8测试站N上组2寄存器A(14)中与于地址A相对应的位是否为1,若有请求则把1压人接顶,若无请求,则把,压人楼顶.CLRL (U1UZ-) 清除LAM(N A) CLRL 清除站号为N、于地址为A的状态CAMAC地址上的LAM请求即将姑N上组2寄存器A(12)中.与于地址A对应的位清零.36 QJlS18-88 C. 字集皿子集田一多动
30、作词堆槐名称使用方法说明EXELST (U1U1U1.) 一般多动作(WDCNT NAF NAFHD是整型数组NAF的首地址.数-BKHD NAF-组NAF的元素由站号N、于地址A和功HD) EXELST 能码F按下述方式构成7 6 5 4 3 2 。x x !:. F3 Fl F, Fo A NAFBKHD整型数组NAFBK的首地址.数组NAFBK是在读/写操作中用来存取数据的内存区.24位数据放在NAFBK的两个相邻的元章中,且低16位放在低地址元章中,高8位放在高地址元章中.NAFBK的*度由WDCNT给定.WDCNT是整型数组NAFBK的快度.也等于数组NAF的任度的2倍,也就是一般$
31、动作中,应完成单动作次数的2倍.一般多动作的功能是连续执行WDCNT/2次单动作,各单动作的CAMAC命令由数组NAF的元章确定.读写操作的数据存取地址与数组NAFBK的偶元章(从0元章开始)相对应.-37一QJ1518-88 续表词堆战名称使用方法说明ASCAN ! (U,U2U) |地址扫描型块(MAXCNT BL .xt为经DECLARE说明过的CAMAC传送KHD F ext) 地址名.ASCAN F一功能码.16/。BLKHD整型数组BLK的首址、BLK的最度不得小于MAXCNT的2倍、BLK的元章用作读/写操作中数据的存/取单元、存取数据格式同一般多动作中的NAFBK.MAXCNT
32、是地址扫描块传送中进行数据传送的最大次数.地址扫描型块传送的功能是从ext确定的CAMAC地址开始,按地址扫描算法,在一系列所得的CAMAC地址上,执行同一功能F.扫描结束标志为A. NOX B.站号N24C扫描次数达到MAXCNT地址扫描算法为A-A+1 当Q-1-+I )当Q-或A16A-O QREPT (UIU2U .) Q重复型块传(WDCNT BLK ext为经DECLARE说明过的CAMAC送或控制器同-HD F ext) 地址名.步停止型传送QREPT F一功能码16/BLKHD一整型数组BLK的首址.数组BLK的元章用作读/写操作中的存取单元.存取数据格式向一般要动作中的NAF
33、BK. 38 QJ1518-88 续表词l堆战名称使用方法说明WDCNT一数组BLK的长度,它等于Q重复型块传送应完成单动作次数的2倍.Q重复型的功能是对ext确定的CAMAC地址以及数组首扯BLKHD所指定的内存区,重复执行指定的功能F.Q重复型块传送结束标志是A. Q-O.提前退出井中止块传送.B 操作次数达到额定值WDGNT/2 参数说明同Q重复型块传送.Q扫描型块传送的功能是对ext确定的CAMAC地址QSCAN (U.U2U3) Q扫描型块传(WDCNT BLK 以及数组酋址BLKHD所指定的内存区.送或重复型块-HD F e :x t) 重复执行指定的功能F.每次以Q-I为传送QS
34、CAN 同步信号.直到操作次数达额定值(WDCNT /2).若Q。则踏步等待,f且不能提前退出.ext是经DECTRE说明过的CAMAC地址名.这是模件说明DECLARE的逆过GENNA (一)模件逆说明(ext) GENNA 程,从CAMAC地址名ext的数据结构中分解出站号和于地址,分别赋值给系统变量N和A.-39一QJ1SI8-88 5.3 图形字集CA-FORTH图形字集词堆枝名称使用方法说明POINT (u,Ui一). POINT u,的取值范围为0-640. u1的取值范围为0-450.点的功能是在图形显示屏(剧。x450)上画一个点,它的座标为(U1 U1). LINE (UU2
35、U3U.) 直线LINE U U的取值范围为0-640,吨,同的取值范围为0-450.直线的功能是在图形显示屏上,坐标分别为(UU2)和(叫,u.)的两个点上连接一条直线,这两个点无顺序要求.TRIG (UIU2U3UUS =角形TRIG u吨,u量的取值范围为0-640;町,U6 ) u.冉的取值范围为0-450.三角形的功能是在图形显示屏上,连接座标分别为(lll U2). (U1 u.). (llS U6)的三个点,构成个三角形,这三个点无顺序要求.RECT (UIU2U)U.) i 矩形RECT U U)的取值范围为0-640;吨,阳的取值范围为0-450.矩形的功能是在显示屏上画一个
36、矩形,它的四条边分别与座标轴平行,它的左下角点的座标为(UIUl) .它的右上角点的座标为(岛,问), 这两个点的顺序不能颠倒.一40一词椎战名称ARC (U,U2U3U3U.US 圆弧u,) CYCL (UIUIU,) 圆6 CA-FORTH的汉化6.1 CA-FOR啊哥的汉化原则QJ1S18-88 续表使用方法ARC CYCL 说明U U3町的取值范围为0-640.U2 u.町的取值范围为0-450.圆弧的功能是在显示屏上画个圆弧,它的圆心座标为叫.U2)它的起点座标为仙3u.).它的终点座标为(间.U6).圆弧从起点到终点按顺时针方向旋转,这三个点须按序书写.u,的取值范围为0-640.
37、凹的取值范围为0-450.叫的取值范围为u,事dx2 + y2 。R CFMAD EMIT Q ? CFSA EXECUTE QUIT ?DUP CFUBC EXIT R * 自CFUBL EXPECT RO * / A CFUBR F REPEAT * /MOD ABORT CGLAM FILL ROLL + ABS CGREG FORGET ROT +! AND CMOVE FORTH SPACE +LOOP ARY CODE HEX SPACES B COUNT I STATI BEGIN CR IF STAT2 BYE CTCD 1 STK / C CTCI KEY SWAP /MOD
38、 C! CTGL LEAVE THEN 。CO CTLM LITERAL U* 。=CARY CVAR LOOP U 。CCCC D+ MAX U/ 1+ CCCD DCFGA ELSE PICK -45一A2.2 分类目录A2.2.1编译字QJ1518-88 编译字是提供给编译系统使用,而本身并不产生地址流表,这些字在表A2中给出.A2.2.2命令字宇, CODE VARIABLE CONSTENT ARY LJTERAL CVAR CARY 表A2豆豆重丽字引导文字串定义字结束功能描述定义机器代码块或源程序变量说明常数说明数组说明文字文字变量说明文字数组说明注释悬挂编译恢复编译在本语言中,
39、除了条件和l循环控制字外.其他核心字或应用字却可作为命令使用,这就是本语言极强的交互性和会话作用,在此节提出的命令字,仅仅是指一般不出现在程序中.用户直接键人命令字名,命令系统执行这样一些操作:比如,读或写磁盘文件,显示参数梭的内容,显示字典内容等等.这类字在表A3中给出.字QU盯EXIT COUNT FORGET LEAVE STK BYE 盒金主清返回钱退出定义串*度进楼释放指定的字功能描述中止DO.LOOP循环显示堆楼内容退出本语言系统A2.2.3算术运算,逻辑运算及关系运算本标准仅规定一个基本运算字的集合,较为复杂的运算可由具体文本来定义.运算字都是而向单,双精度的整型数的,如需要浮点
40、运算,可自行增加浮点运算.运算包括算术运算,逻辑运算和关系运算,这些运算的操作字在表A4中给出.-46一QJ1518-88 A4 字功能描述+ 方日减拿乘/ 除1+ 加12+ 加2减l2-减2ABS 取绝对值NEGATE 取相反数AND 逻辑与OR 逻辑或XOR 逻羁异或NOT 逻辑非。大于。大于。4、牙0来表示圄即操作前拢的状态=操作后梭的状态例如23+梭的变化:(2/3.) (5.) 堆校操作字主要指直接用与堆梭的字,例如复制核元,删除核元或校元轮转等,这些字在表A5中给出.A2.2.5 鲸制转换字DUP 1DUP OVER PICK SWAP ROT ROLL DROP 本标准规定两种数
41、制,了这些转换字.宇HEX DHEX DEC DDEC A2.2.6鼓传送表A5功能描述麦丽磊lD(元非零复制楼顶第二元上移上移互换三元轮转轮转删除顶元即十进制和l十六进制,两种数制可以相互转换.表A6中给出表A6功能描述十进丽展原元干天蓝面双精度十进制转换为十六进制十六进制转换为十进制双精度十六进制转换为十进制数的传送字描述了内存与参数楼之间,参数校与返回校之间和内存与内存之间的数据传送.这类字在表A7中给出.-48一字C! 5 cE R CMOVE MOVE FILL R RE 主旦功能描述存聂到丙存存一字节数到内存取数到校取一字节数到楼压人返回楼数据块传送1数据块传送2填数到内存弹出返回
42、校重制返回校QJ1518-88 A2.2.7条件和循环语旬条件语句和循环语句与其它字不同,其中的字必须和另一些字进行组合,按特定的耕式出现在程序中,这些语句在表A8中给出.lF.THEN IF.ELSE.THEN DO.LOOP 语句DO.+LOOP DO.DO.LOOP.LOOP BEGIN.UNTIL BEGIN.WHILE.REPEAT A2.2.8 输入和输出(I10)字表A8功能描述系再转磊丁条件转移2循环I循环2循环3循环4循环5输入和输出操作用于计算机与外部设备交换信息或传输数据,这类操作字在表A9中给出.A2.2.9 CAMAC字? CR 字E肌HTEXPECT KEY SPA
43、CE SPACES U 表A9功能描述显示显示单元内容回车换行输出一个字符键人字符串接收一个字符输出个空格输出N个空格输出不带符号数CAMAC字集包含了ANSTI IEEE STD 758 (SUBROUT卧msFOR CAMAO)规范要求的功能.CAMAC字集见表AI049一QJlS18-88 表AI0CAMAC字集字功能描述CCCC CAMAC机箱清军CCCZ 数据路初始化CCCI 设置或清除数据路禁止CCCD 许动或禁动机箱请求CFSA 执行CAMAC单动作CTCI 清除数据路禁止CTCD 测试机箱请求是否被许动CTGL 测试机箱请求出现CCLM 许动或禁动LAMCCLC 清除LAMCTLM 测试LAMCDREG CAMAC寄存器说明CGREG 分解寄存器识别符CDLAM LAM说明CGLAM 分解LAM识别符CCLNK LAM与服务过程链接CFGA 一股多动作CFMAD 地址扫描CFUBC 控制器同步块传输CFUBL LAM同步数据块传输CFUBR 重复型数据块传输A3 词典A3.1 词典编排系统词典中的核心