X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=doc%2Fyacasl2.html;fp=doc%2Fyacasl2.html;h=5924b6a0eed843e189a57ce884ccaad0e9ace073;hp=0000000000000000000000000000000000000000;hb=47d99698d05ba013337f543a2b4bb16cdc39dd52;hpb=009c6ac7ce3a9eae222d48ae591790be1e70c908 diff --git a/doc/yacasl2.html b/doc/yacasl2.html new file mode 100644 index 0000000..5924b6a --- /dev/null +++ b/doc/yacasl2.html @@ -0,0 +1,766 @@ + +
+YACASL2ã¯ãLinuxä¸ã§åä½ãããªã¼ãã³ã½ã¼ã¹ã®CASL IIå¦çç³»ã§ããCASL IIã¯æ å ±å¦ç試é¨ã§ç¨ããããã¢ã»ã³ãã©è¨èªã§ã次ã®è³æã«ããä»æ§ãå ¬éããã¦ãã¾ãã + +
+試é¨ã§ä½¿ç¨ããæ å ±å¦çç¨èªã»ããã°ã©ã è¨èªãªã©ï¼2008å¹´10æçï¼ï¼»PDFãã¡ã¤ã«ï¼½ +å¥ç´ 1 ã¢ã»ã³ãã©è¨èªã®ä»æ§ ++ +
YACASL2ã¯ãCASL IIã¢ã»ã³ãã©è¨èªã§è¨è¿°ããããã¡ã¤ã«ãã¢ã»ã³ãã«ããä»®æ³ãã·ã³COMET IIä¸ã§å®è¡ãã¾ããã¢ã»ã³ãã«ã¨å®è¡ã¯ãé£ç¶ã§è¡ããã¨ãå¥ã ã«è¡ããã¨ãå¯è½ã§ãã +YACASL2ã®åä½ã¯CASL IIã®ä»æ§ã«æºæ ãã¦ãããããæ å ±å¦ç試é¨ã®åé¡ãã¯ããå種åèæ¸ããµã¤ãã«è¨è¼ãããCASL IIã®ããã°ã©ã ããã®ã¾ã¾ã¢ã»ã³ãã«ãã¦å®è¡ã§ãã¾ããã¾ããæ¬ããã±ã¼ã¸ä¸ã«CASL IIã®ãµã³ãã«ããã°ã©ã ãå¤æ°åé²ããã¦ãã¾ãã + +
YACASL2ã¯ãããµã¤ãã®å¦çç³»ãã¨ãã¦åä½ãã¾ããã»ãã®å¤ãã®CASL IIã¨ãã¥ã¬ã¼ã¿ã¨éãããããã¬ã¨ãã¦åä½ããããã³ã³ãã¥ã¼ã¿å é¨ã®æ¨¡å¼å³ã表示ããããããã¨ã¯ããã¾ããããã®ããããYACASL2ã¯ã次ã®ãããªåä½å 容ããã¹ã¦ããã¹ãã§åºåãã¾ãã + +
åºåãããåä½å 容ã¯ãGNU/Linuxã®ãã¾ãã¾ãªãã¼ã«ããã¨ãã°catãlessãgrepãwcãªã©ã使ã£ã¦è§£æã§ãã¾ãã + +
YACASL2ã®æä½ã¯ã端æ«ãéãã¦ã³ãã³ããå ¥åã»å®è¡ãããã¨ã§è¡ãã¾ãã + +
YACASL2ã¯ãLinuxä¸ã§åä½ãã¾ããç¾å¨åä½ã確èªãã¦ããã®ã¯ã次ã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã§ãã + +
ã¤ã³ã¹ãã¼ã«æã«ãtarãgccãmakeãå¿ è¦ã§ãã + +
YACASL2ãã¤ã³ã¹ãã¼ã«ããã«ã¯ãLinuxä¸ã§æ¬¡ã®ä½æ¥ããã¾ãã + +
ï¼è©³ç´°æªå®ï¼ + +
$ cd + $ wget somewhere/yacasl2.tar.gz + $ wget somewhere/yacasl2.tar.gz.md5sum ++
ï¼PGPã使ã£ãæ¤è¨¼ãå°å ¥äºå®ï¼ + +
ãã¦ã³ãã¼ããå®äºããããmd5sumã¨diffã§æ£ãããã¡ã¤ã«ããã¦ã³ãã¼ããã§ãã¦ããããæ¤è¨¼ãã¾ãã + +
$ md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -
+ Files yacasl2.tar.gz.md5sum and - are identical
+
+ yacasl2.tar.gzããã¦ã³ãã¼ããããã次ã®ã³ãã³ãã§å±éãã¾ãã + +
$ tar xvzf yacasl2.tar.gz
+
+ å±éãããã次ã®ã³ãã³ãã§casl2ãcomet2ãdumpwordããã«ããã¾ãã + +
$ cd yacasl2 + $ make + make -C src + make[1]: Entering directory â/home/kazubito/yacasl2/srcâ + gcc -c -g -Wall -I ../include casl2.c + gcc -c -g -Wall -I ../include word.c + gcc -c -g -Wall -I ../include hash.c + gcc -c -g -Wall -I ../include cerr.c + gcc -c -g -Wall -I ../include struct.c + gcc -c -g -Wall -I ../include cmd.c + gcc -c -g -Wall -I ../include assemble.c + gcc -c -g -Wall -I ../include token.c + gcc -c -g -Wall -I ../include label.c + gcc -c -g -Wall -I ../include macro.c + gcc -c -g -Wall -I ../include exec.c + gcc -c -g -Wall -I ../include dump.c + gcc -g -Wall -I ../include -o ../casl2 casl2.o word.o hash.o cerr.o st + ruct.o cmd.o assemble.o token.o label.o macro.o exec.o dump.o + gcc -c -g -Wall -I ../include comet2.c + gcc -g -Wall -I ../include -o ../comet2 comet2.o word.o hash.o cerr.o + struct.o cmd.o exec.o dump.o + gcc -c -g -Wall -I ../include dumpword.c + gcc -g -Wall -I ../include -o ../dumpword dumpword.o word.o cerr.o + make[1]: Leaving directory â/home/kazubito/yacasl2/srcâ ++
ãã«ããããã次ã®ã³ãã³ããæ£å¸¸ã«å®è¡ã§ãããã確èªãã¾ãã +æ£å¸¸ã«å®è¡ãããå ´åã¯ããHello, World!ãã¨è¡¨ç¤ºããã¾ãã + +
$ ./casl2 as/hello.casl
+ Hello, World!
+
+ 次ã®ã³ãã³ããå®è¡ããã¨ãæ£å¸¸ã«ãã«ãã§ãã¦ãããã©ããã詳細ã«ãã¹ãã§ãã¾ãã + +
$ make check
+ 194 / 194 tests passed. Details in /home/kazubito/yacasl2/test/integra
+ tion/casl2/Test.log
+ All tests are succeded.
+ 149 / 149 tests passed. Details in /home/kazubito/yacasl2/test/integra
+ tion/comet2/Test.log
+ All tests are succeded.
+ 4 / 4 tests passed. Details in /home/kazubito/yacasl2/test/integration
+ /dumpword/Test.log
+ All tests are succeded.
+
+ ç°å¢å¤æ°PATHã«YACASL2ã®ãã£ã¬ã¯ããªã追å ããã¨ãã©ã®ãã£ã¬ã¯ããªã§ãcasl2ãcomet2ãdumpwordãå®è¡ã§ãã¾ãã + +
ç°å¢å¤æ°ã®è¨å®æ¹æ³ã¯ä½¿ã£ã¦ããã·ã§ã«ã«ãã£ã¦ç°ãªãã¾ããã·ã§ã«ã¯ã次ã®ã³ãã³ãã§ç¢ºèªã§ãã¾ãã + +
$ echo $SHELL
+ /bin/bash
+
+ ç¾å¨ãã£ã¨ãå¤ã使ããã¦ããã·ã§ã«ã¯ãBASHã§ããããBASHã§ã¯ã次ã®ã³ãã³ããå®è¡ããã¨ç°å¢å¤æ°PATHã«YACASL2ã®ãã£ã¬ã¯ããªã追å ããã¾ãã + +
$ PATH=$PATH:~/yacasl2 && export PATH
+
+ ã·ã§ã«ã®åæè¨å®ãã¡ã¤ã«ã«ä¸è¨ã®ã³ãã³ãã追å ããã°ãä»å¾ãã°ã¤ã³ããå¾ã¯èªåçã«ã©ã®ãã£ã¬ã¯ããªã§ã casl2ãcomet2ãdumpwordãå®è¡ã§ãã¾ããBASHã§ã¯ãã¼ã ãã£ã¬ã¯ããªã«ãã.bashrcãåæè¨å®ãã¡ã¤ã«ã®ããã次ã®ã³ãã³ãã§è¿½å ããã¾ãã + +
$ echo âPATH=$PATH:~/yacasl2 && export PATHâ >>~/.bashrc
+
+ YACASL2 ã¯ãããã¹ããã¡ã¤ã«ã«è¨è¿°ãããCASLããã°ã©ã ãå¦çãã¾ãã以ä¸ã®ä¾ã§ç¨ããããCASLããã°ã©ã ã®ãã¡ã¤ã«ã¯ãããã¹ãã¨ãã£ã¿ãªã©ã§ä½æãã¦ãã ãããã¾ããã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªã®ä¸ã«ããasãã£ã¬ã¯ããªããã³ãã¼ãã¦ä½æãããã¨ãã§ãã¾ãã + +
ã¤ã³ã¹ãã¼ã«æã«ã³ãã³ãå®è¡ã®ç¢ºèªã«ä½¿ã£ãhello.caslã¯ã次ã®ãããªå 容ã§ããCASL IIã®ãã¯ãå½ä»¤OUTã¯ãæååãåºåãã¾ãã + +
$ cat hello.casl
+ MAIN START
+ OUT OBUF,LEN
+ RET
+ OBUF DC âHello, World!â
+ LEN DC 13
+ END
+
+ 次ã®ã³ãã³ããå®è¡ããã¨ãCASL II ã®ã¢ã»ã³ãã«ã¨ä»®æ³ãã·ã³ COMET II ä¸ã§ã®å®è¡ãé£ç¶ã§è¡ãããæååãåºåããã¾ãã + +
$ casl2 hello.casl
+ Hello, World!
+
+ addl.caslã¯ã3ã¨1ã®åãæ±ãã¾ãã + +
$ cat addl.casl
+ ;;; ADDL r,adr
+ MAIN START
+ LD GR1,A
+ ADDL GR1,B
+ RET
+ A DC 3
+ B DC 1
+ END
+
+ ãã®ããã°ã©ã ã«ã¯åºåå½ä»¤ããªãããããªãã·ã§ã³ãªãã§å®è¡ããå ´åã«ã¯çµæãåºåããã¾ããã + +
$ casl2 addl.casl
+ $
+
+ å®è¡å 容ã確èªããã«ã¯ãå¾è¿°ã®ããã«CPU å ã«ããã¬ã¸ã¹ã¿ãã¡ã¢ãªã®å 容ã表示ããããçµæãåºåããããã®å¦çã追å ããå¿ è¦ãããã¾ãã + +
sum_10.caslã¯ã1ãã10ã¾ã§ã®æ´æ°ã®åãæ±ãã¾ãã + +
$ cat sum_10.casl
+ ;;; sum_10.casl
+ ;;; åºå GR0: 1ãã10ã¾ã§ã®æ´æ°ããã¹ã¦å ç®ããå¤
+ MAIN START
+ PUSH 0,GR1
+ LAD GR0,0 ; GR0ãåæå
+ LD GR1,FST ; GR1ã«åé
ã転é
+ LOOP ADDL GR0,GR1 ; ã«ã¼ãå
é
+ ADDL GR1,STEP ; GR1 <- GR1 + å
¬å·®
+ CPL GR1,LST ; GR1ãæ«é
ãã大ããå ´åã¯çµäº
+ JPL FIN ; â
+ JUMP LOOP ; ã«ã¼ãçµç«¯
+ FIN POP GR1
+ RET
+ FST DC 1 ; åé
+ LST DC 10 ; æ«é
+ STEP DC 1 ; å
¬å·®
+ END
+
+ ãã®ããã°ã©ã ãããªãã·ã§ã³ãªãã§å®è¡ããå ´åã«ã¯çµæãåºåããã¾ããã +
$ casl2 sum_10.casl
+ $
+
+ casl2ã®å¦çéä¸ã§è¡ãããã¢ã»ã³ãã«ã®çµæã表示ããã«ã¯ããªãã·ã§ã³-aãæå®ãã¾ããã¾ããã©ãã«ã¨ã¢ãã¬ã¹ã®å¯¾å¿è¡¨ã表示ããã«ã¯ããªãã·ã§ã³-lãæå®ãã¾ãã + +
次ã®ã³ãã³ãã§ã¯hello.caslã®ãã©ãã«ã¨ã¢ãã¬ã¹ã®å¯¾å¿è¡¨ã¨ãã¢ã»ã³ãã«çµæã¨ãå®è¡çµæã表示ããã¾ããOUTã¯ã¢ã»ã³ãã©å½ä»¤ã§è¤æ°ã®æ©æ¢°èªå½ä»¤ã§æ§æããã¦ãããããå½ä»¤è¡1è¡ã«å¯¾ãã¦ãè¤æ°è¡ã®ã³ã¼ããçæããã¾ãã + +
$ casl2 -a -l hello.casl
+
+ Assemble hello.casl (0)
+
+ Label::::
+ MAIN.LEN ---> #0020
+ MAIN ---> #0000
+ MAIN.OBUF ---> #0013
+
+ Assemble hello.casl (1)
+ hello.casl: 1:MAIN START
+ hello.casl: 2: OUT OBUF,LEN
+ #0000 #7001
+ #0001 #0000
+ #0002 #7002
+ #0003 #0000
+ #0004 #1210
+ #0005 #0013
+ #0006 #1220
+ #0007 #0020
+ #0008 #F000
+ #0009 #0002
+ #000A #1210
+ #000B #0021
+ #0021 #000A
+ #000C #1220
+ #000D #0022
+ #0022 #0001
+ #000E #F000
+ #000F #0002
+ #0010 #7120
+ #0011 #7110
+ hello.casl: 3: RET
+ #0012 #8100
+ hello.casl: 4:OBUF DC 'Hello, World!'
+ #0013 #0048
+ #0014 #0065
+ #0015 #006C
+ #0016 #006C
+ #0017 #006F
+ #0018 #002C
+ #0019 #0020
+ #001A #0057
+ #001B #006F
+ #001C #0072
+ #001D #006C
+ #001E #0064
+ #001F #0021
+ hello.casl: 5:LEN DC 13
+ #0020 #000D
+ hello.casl: 6: END
+ Hello, World!
+
+ addl.caslã®ãã©ãã«ã¨ã¢ãã¬ã¹ã®å¯¾å¿è¡¨ã¨ãã¢ã»ã³ãã«çµæã¯ã次ã®ããã«ãªãã¾ãã + +
$ casl2 -a -l addl.casl
+
+ Assemble addl.casl (0)
+
+ Label::::
+ MAIN.A ---> #0005
+ MAIN.B ---> #0006
+ MAIN ---> #0000
+
+ Assemble addl.casl (1)
+ addl.casl: 1:;;; ADDL r,adr
+ addl.casl: 2:MAIN START
+ addl.casl: 3: LD GR1,A
+ #0000 #1010
+ #0001 #0005
+ addl.casl: 4: ADDL GR1,B
+ #0002 #2210
+ #0003 #0006
+ addl.casl: 5: RET
+ #0004 #8100
+ addl.casl: 6:A DC 3
+ #0005 #0003
+ addl.casl: 7:B DC 1
+ #0006 #0001
+ addl.casl: 8: END
+
+ ãªãããªãã·ã§ã³-Aãæå®ããã¨ãã¢ã»ã³ãã«çµæã表示ãããæç¹ã§å¦çãçµäºãã¾ããä»®æ³ãã·ã³COMET II ã§ã®å®è¡ã¯è¡ããã¾ããã + +
YACASL2ã§ã¯å®è¡ä¸ã®CPUã®ã¬ã¸ã¹ã¿ã¨ã¡ã¢ãªã®å 容ãããããã-tã¨-dãæå®ãããã¨ã§è¡¨ç¤ºã§ãã¾ãã + +
ã¾ãã-Mã§ãä»®æ³ãã·ã³COMET II ã®ã¡ã¢ãªå®¹éãèª(16 ããã)åä½ã§æå®ã§ãã¾ããå°ããããã°ã©ã ãå®è¡ããã¨ãã¯ãã¡ã¢ãªå®¹éãå°ããããã°çµæãè¦ããããªãã¾ãã + +
addl.caslã«å¿ è¦ãªã¡ã¢ãªå®¹éã¯8èªã®ããã次ã®ããã«CPUã®ã¬ã¸ã¹ã¿ã¨ã¡ã¢ãªã®å 容ã表示ã§ãã¾ãã + +
$ casl2 -t -d -M8 addl.casl | less
+
+ Assemble addl.casl (0)
+
+ Assemble addl.casl (1)
+
+ Executing machine codes
+ #0000: Register::::
+ #0000: GR0: 0 = #0000 = 0000000000000000
+ #0000: GR1: 0 = #0000 = 0000000000000000
+ #0000: GR2: 0 = #0000 = 0000000000000000
+ #0000: GR3: 0 = #0000 = 0000000000000000
+ #0000: GR4: 0 = #0000 = 0000000000000000
+ #0000: GR5: 0 = #0000 = 0000000000000000
+ #0000: GR6: 0 = #0000 = 0000000000000000
+ #0000: GR7: 0 = #0000 = 0000000000000000
+ #0000: SP: 8 = #0008 = 0000000000001000
+ #0000: PR: 0 = #0000 = 0000000000000000
+ #0000: FR (OF SF ZF): 000
+ #0000: Memory::::
+ #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007
+ #0000: 0000: 1010 0005 2210 0006 8100 0003 0001 0000
+ #0002: Register::::
+ #0002: GR0: 0 = #0000 = 0000000000000000
+ #0002: GR1: 3 = #0003 = 0000000000000011
+ #0002: GR2: 0 = #0000 = 0000000000000000
+ #0002: GR3: 0 = #0000 = 0000000000000000
+ #0002: GR4: 0 = #0000 = 0000000000000000
+ #0002: GR5: 0 = #0000 = 0000000000000000
+ #0002: GR6: 0 = #0000 = 0000000000000000
+ #0002: GR7: 0 = #0000 = 0000000000000000
+ #0002: SP: 8 = #0008 = 0000000000001000
+ #0002: PR: 2 = #0002 = 0000000000000010
+ #0002: FR (OF SF ZF): 000
+ #0002: Memory::::
+ #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007
+ #0002: 0000: 1010 0005 2210 0006 8100 0003 0001 0000
+ #0004: Register::::
+ #0004: GR0: 0 = #0000 = 0000000000000000
+ #0004: GR1: 4 = #0004 = 0000000000000100
+ #0004: GR2: 0 = #0000 = 0000000000000000
+ #0004: GR3: 0 = #0000 = 0000000000000000
+ #0004: GR4: 0 = #0000 = 0000000000000000
+ #0004: GR5: 0 = #0000 = 0000000000000000
+ #0004: GR6: 0 = #0000 = 0000000000000000
+ #0004: GR7: 0 = #0000 = 0000000000000000
+ #0004: SP: 8 = #0008 = 0000000000001000
+ #0004: PR: 4 = #0004 = 0000000000000100
+ #0004: FR (OF SF ZF): 000
+ #0004: Memory::::
+ #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007
+ #0004: 0000: 1010 0005 2210 0006 8100 0003 0001 0000
+
+ addl.caslã®ã¬ã¸ã¹ã¿ãã¡ã¢ãªã®ä¸ã§ãå®è¡ä¸ã«å¤ãå¤åãã¦ããã®ã¯GR1ã ãã§ããããããå ´åã¯ãgrepã使ã£ã¦è¡¨ç¤ºãããå 容ãçµãè¾¼ããã¨ã§åä½ãæ¤è¨¼ãããããªãã¾ãã + +
$ casl2 -t addl.casl | grep 'GR1:'
+ #0000: GR1: 0 = #0000 = 0000000000000000
+ #0002: GR1: 3 = #0003 = 0000000000000011
+ #0004: GR1: 4 = #0004 = 0000000000000100
+
+ ãã®å 容ããå ã«åºåããã¢ã»ã³ãã«çµæã¨å¼ãæ¯ã¹ã¦ãã ããã +次ã®è¡¨ã®ããã«ãPRã¨GR1ãå½ä»¤è¡ã対å¿ãã¦ãããã¨ããããã¾ãã + +
PR | GR1 | å½ä»¤è¡
+ |
#0000 + | #0000
+ | |
#0002 + | #0003 + | LD GR1,A
+ |
#0004 + | #0004 + | ADDL GR1,B
+ |
grepã¨tailãçµã¿åãããã°ãããã°ã©ã çµäºæã®å¤ã表示ã§ãã¾ãã + +
$ casl2 -t addl.casl | grep 'GR1:' | tail -1
+ #0004: GR1: 4 = #0004 = 0000000000000100
+
+ $ casl2 -t sum_10.casl | grep 'GR0:' | tail -1
+ #0010: GR0: 55 = #0037 = 0000000000110111 = '7'
+
+ grepã¨wcãçµã¿åãããã°ãããã°ã©ã ã®ã¹ãããæ°ã表示ã§ãã¾ãã + +
$ casl2 -t hello.casl | grep 'GR1:' | wc -l
+ 11
+
+ $ casl2 -t addl.casl | grep 'GR1:' | wc -l
+ 3
+
+ sum_10.caslã¯ããã°ã©ã å ã«ã«ã¼ãããããããã¹ãããæ°ã大ãããªãã¾ãã + +
$ casl2 -t sum_10.casl | grep 'GR0:' | wc -l
+ 54
+
+ casl2ã«-Oãã¡ã¤ã«åãæå®ããã¨ããªãã¸ã§ã¯ããã¡ã¤ã«ãä½æã§ãã¾ãã + +
$ casl2 -Ohello.o hello.casl
+
+ ä½æããããªãã¸ã§ã¯ããã¡ã¤ã«ã®å 容ã¯ãodã使ã£ã¦ç¢ºèªã§ãã¾ããããã¹ããã¡ã¤ã«ã§ã¯ãªããããcatãªã©ã§ã¯ç¢ºèªã§ãã¾ããã + +
$ od -t x2 hello.o
+ 0000000 7001 0000 7002 0000 1210 0013 1220 0020
+ 0000020 f000 0002 1210 0021 1220 0022 f000 0002
+ 0000040 7120 7110 8100 0048 0065 006c 006c 006f
+ 0000060 002c 0020 0057 006f 0072 006c 0064 0021
+ 0000100 000d 000a 0001
+ 0000106
+
+ ãªãã¸ã§ã¯ããã¡ã¤ã«ã®å®è¡ã«ã¯ãcomet2ã使ãã¾ãã + +
$ comet2 hello.o
+ Hello, World!
+
+ CASL IIã§ã¯ã1èªï¼16ãããï¼ãåä½ã¨ãã¦ãã¼ã¿ãå¦çããã¾ãã +dumpwordã¯ãæå®ãã1èªã10é²æ°ã16é²æ°ã2é²æ°ã§è¡¨ç¤ºãã¾ãã + +
$ dumpword 72
+ 72: 72 = #0048 = 0000000001001000 = 'H'
+
+ ãã¤ãã¹ã®æ°ã¯ã次ã®ããã«æå®ãã¾ãã + +
$ dumpword -- -72 + -72: -72 = #FFB8 = 1111111110111000 ++
16é²æ°ã¯ã次ã®ããã«æå®ãã¾ãã + +
$ dumpword '#0048'
+ #0048: 72 = #0048 = 0000000001001000 = 'H'
+
+ YACASL2ã®as/casl2libãã£ã¬ã¯ããªã«ã¯ãCASL IIã§è¨è¿°ãããã©ã¤ãã©ãªãã¡ã¤ã«ãæ ¼ç´ããã¦ãã¾ãã + +
ãã®ãã©ã«ãã«ã¯ããã¨ãã°æ¬¡ã®ãããªããã°ã©ã ãå«ã¾ãã¦ãã¾ãã + +
3ã¨1ã®åãæ±ããaddl.caslã§æ¼ç®çµæãåºåããã«ã¯ãã¾ãaddl.caslãç·¨éãã¾ããCASL IIã®CALLå½ä»¤ã§OUTLãå¯ããã°ã©ã ã¨ãã¦å¼ã³åºãããã«ãã¾ãã + +
$ cat addl_outl.casl
+ MAIN START
+ LD GR1,A
+ ADDL GR1,B
+ CALL OUTL
+ RET
+ A DC 3
+ B DC 1
+ END
+
+ å¤æ´ãããcasl2ããè¤æ°ã®ãã¡ã¤ã«ãæå®ãã¦å®è¡ãã¾ãã + +
$ casl2 addl_outl.casl ~/yacasl2/as/casl2lib/outl.casl
+ 4
+
+ +YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ãã + +
+casl2ã¯ãå¼æ°ã¨ãã¦æå®ãããCASLãã¡ã¤ã«ãã¢ã»ã³ãã«ããä»®æ³ãã·ã³COMET IIä¸ã§å®è¡ãã¾ããCASLãã¡ã¤ã«ã¯ãã¢ã»ã³ãã©è¨èªCASL IIã§è¨è¿°ãããããã¹ããã¡ã¤ã«ã§ããå¼æ°ãæå®ãããªãå ´åã¯ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãã¦çµäºãã¾ãã + +
$ casl2 hello.casl
+
+ å¯ããã°ã©ã ãå¼ã³åºãå ´åã¯ãè¤æ°ã®CASLãã¡ã¤ã«ãæå®ãããã¨ãã§ãã¾ãã + +
$ casl2 addl_outl.casl ~/yacasl2/as/casl2lib/outl.casl
+
+ casl2ã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã + +
+comet2ã¯ãå¼æ°ã¨ãã¦æå®ããããªãã¸ã§ã¯ããã¡ã¤ã«ãä»®æ³ãã·ã³COMET IIä¸ã§å®è¡ãã¾ãããªãã¸ã§ã¯ããã¡ã¤ã«ã¯ãcaslã«-oã¾ãã¯-Oãæå®ãã¦åºåãã¾ãã + +
$ comet2 hello.o
+
+ å¼æ°ã§æå®ã§ãããªãã¸ã§ã¯ããã¡ã¤ã«ã¯1ã¤ã ãã§ããå¼æ°ãæå®ãããªãå ´åã¯ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãã¦çµäºãã¾ããè¤æ°ã®å¼æ°ãæå®ããå ´åã2çªç®ä»¥éã®å¼æ°ã¯ç¡è¦ããã¾ãã + +
comet2ã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã + +
+dumpwordã¯ãå¼æ°ã¨ãã¦æå®ãããæ°å¤ããæ´æ°ã#0000ã#FFFFã®ç¯å²ã®16é²æ°ã2é²æ°ã§è¡¨ç¤ºãã¾ããæåã®çµã«è©²å½ããå ´åã¯ãã = ãã®ãããã«æåã表示ããã¾ããå¼æ°ã¯ã10é²æ°ã¾ãã¯å é ã«ã#ãã®ä»ãã16é²æ°ã§æå®ãã¾ãã表示ãããæ´æ°ã¯ããªãã·ã§ã³ã«ãã-32,768ã32,767ã¾ãã¯0ã65,535ã®ç¯å²ã§ãããªãã·ã§ã³ãªãã®å ´åã¯ã-32,768ã32,767ã§ãã + +
$ dumpword 10
+
+ å¼æ°ã§æå®ã§ãã1ã¤ã ãã§ããå¼æ°ãæå®ãããªãå ´åã¯ã使ãæ¹ã表示ãã¦çµäºãã¾ããè¤æ°ã®å¼æ°ãæå®ããå ´åã2çªç®ä»¥éã®å¼æ°ã¯ç¡è¦ããã¾ãã + +
dumpwordã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã + +