X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=doc%2Fyacasl2.html;h=3a486fec18248a57f609661a55658724837f3abc;hp=e203e8f16754ad2e447ea605be43d52f0eb68543;hb=a624efdf4ae3a309dd991ec148eaa4c4ec565b93;hpb=d998766540ffc4332d6212a76a38a2242419ffa5 diff --git a/doc/yacasl2.html b/doc/yacasl2.html index e203e8f..3a486fe 100644 --- a/doc/yacasl2.html +++ b/doc/yacasl2.html @@ -1,13 +1,13 @@
-YACASL2ã¯ãUNIXï¼Linuxã®ã³ãã³ãã©ã¤ã³ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§åä½ãããªã¼ãã³ã½ã¼ã¹ã®CASL IIå¦çã·ã¹ãã ã§ããCASL IIã¯æ å ±å¦ç試é¨ã§ç¨ããããã¢ã»ã³ãã©è¨èªã§ã次ã®è³æã«ããä»æ§ãå ¬éããã¦ãã¾ãã +
YACASL2ã¯ãUNIXï¼Linuxã®ã³ãã³ãã©ã¤ã³ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§åä½ãããªã¼ãã³ã½ã¼ã¹ã®CASL IIå¦çã·ã¹ãã ã§ããCASL IIã¯æ å ±å¦ç試é¨ã§ç¨ããããã¢ã»ã³ãã©è¨èªã§ã次ã®è³æã«ããä»æ§ãå ¬éããã¦ãã¾ãã
試é¨ã§ä½¿ç¨ããæ å ±å¦çç¨èªã»ããã°ã©ã è¨èªãªã©ï¼2008å¹´10æçï¼ï¼»PDFãã¡ã¤ã«ï¼½ @@ -246,13 +307,13 @@ YACASL2ã®åä½ã¯CASL IIã®ä»æ§ã«æºæ ãã¦ãããããæ å ±å¦ç試å®è¡æã®ã¡ã¢ãªã®å 容 - åºåãããåä½å 容ã¯ãGNU/Linuxã®ãã¾ãã¾ãªãã¼ã«ããã¨ãã°catãlessãgrepãwcãªã©ã使ã£ã¦è§£æã§ãã¾ãã +
åºåãããåä½å 容ã¯ãGNU/Linuxã®ãã¾ãã¾ãªãã¼ã«ããã¨ãã°ãcat less grep wcãªã©ã使ã£ã¦è§£æã§ãã¾ãã
YACASL2ã®æä½ã¯ã端æ«ãéãã¦ã³ãã³ããå ¥åã»å®è¡ãããã¨ã§è¡ãã¾ãã
è¦ä»¶
-YACASL2ã¯ãLinuxãMac OS Xãªã©ãUNIXç³»ã®OSä¸ã§åä½ãã¾ããç¾å¨åä½ã確èªãã¦ããã®ã¯ã次ã®ç°å¢ã§ãã +
YACASL2ã¯ãLinuxãMac OS Xãªã©ãUNIXç³»ã®OSä¸ã§åä½ãã¾ããç¾å¨åä½ã確èªãã¦ããã®ã¯ã次ã®ç°å¢ã§ãã
-
- Ubuntu Linux 10.04 @@ -262,348 +323,453 @@ YACASL2ã®åä½ã¯CASL IIã®ä»æ§ã«æºæ ãã¦ãããããæ å ±å¦ç試
- Mac OS X 10.6.5
ã¤ã³ã¹ãã¼ã«æã«ãtarãgccãmakeãå¿ è¦ã§ããLinuxã®å ´åã¯ãæ¨æºã§ã¤ã³ã¹ãã¼ã«ããã¦ãããã¨ãå¤ãã¨æãã¾ããMac OS Xã®å ´åã
Xcode
ãã¤ã³ã¹ãã¼ã«ãã¦ãã ããã +ã¤ã³ã¹ãã¼ã«æã«ãtar gcc makeãå¿ è¦ã§ããLinuxã§ã¯å¤ãã®å ´åãæ¨æºã§ã¤ã³ã¹ãã¼ã«ããã¦ãã¾ããMac OS Xã®å ´åã
Xcode
ãã¤ã³ã¹ãã¼ã«ããã¨ãã£ããã«ã¤ã³ã¹ãã¼ã«ããã¾ãã -2 YACASL2ã®ã¤ã³ã¹ãã¼ã«
-YACASL2ãã¤ã³ã¹ãã¼ã«ããã«ã¯ãLinuxä¸ã§æ¬¡ã®ä½æ¥ããã¾ãã +
YACASL2ãã¤ã³ã¹ãã¼ã«ããã«ã¯ãLinuxä¸ã§æ¬¡ã®ä½æ¥ããã¾ãã -
-2.1 YACASL2ãã¡ã¤ã«ã®ãã¦ã³ãã¼ã
++ +-
+Next: Verify, +Previous: Install, +Up: Install -次ã®å ´æããææ°çã®tar.gzãã¡ã¤ã«ããã¦ã³ãã¼ããã¾ãã +
-
+- yacasl2.tar.gz - YACASL2ã®ãã¡ã¤ã«ä¸å¼ãtar.gzå½¢å¼ã§å§ç¸®ãããã® +
2.1 YACASL2ãã¡ã¤ã«ã®ãã¦ã³ãã¼ã
-- yacasl2.tar.gz.md5sum - yacasl2.tar.gzã®MD5ããã·ã¥å¤ -
YACASL2ã®ãµã¤ãã¾ãã¯githubã®ãã¦ã³ãã¼ããã¼ã¸ããææ°çã®tar.gzãã¡ã¤ã«ããã¦ã³ãã¼ããã¾ãã -
ã¾ãã¯ãgithubã®ãã¦ã³ãã¼ããã¼ã¸ãããã¦ã³ãã¼ãã +
2.2 YACASL2ãã¡ã¤ã«ã®æ¤è¨¼
-ãã¦ã³ãã¼ããå®äºããããmd5sumã¨diffã§æ£ãããã¡ã¤ã«ããã¦ã³ãã¼ããã§ãã¦ããããæ¤è¨¼ãã¾ãã +
ãã¦ã³ãã¼ããå®äºããããmd5sumã¨diffã§æ£ãããã¡ã¤ã«ããã¦ã³ãã¼ããã§ãã¦ããããæ¤è¨¼ãã¾ãã -
$ openssl md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum - - Files yacasl2.tar.gz.md5sum and - are identical +-$ openssl md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum - +Files yacasl2.tar.gz.md5sum and - are identical-2.3 YACASL2ãã¡ã¤ã«ã®å±é
-YACASL2ãã¡ã¤ã«ããã¦ã³ãã¼ããããã次ã®ã³ãã³ãã§å±éãã¾ãã +
YACASL2ãã¡ã¤ã«ããã¦ã³ãã¼ããããã次ã®ã³ãã³ãã§å±éãã¾ãã -
$ tar xvzf yacasl2.tar.gz +$ tar xvzf yacasl2.tar.gz-2.4 casl2ãcomet2ãdumpwordã®ãã«ã
- -å±éãããã次ã®ã³ãã³ãã§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â + + +2.4 casl2 comet2 dumpwordã®ãã«ã
+ +å±éãããã次ã®ã³ãã³ãã§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â-2.5 casl2ã®å®è¡ãã¹ã
-ãã«ããããã次ã®ã³ãã³ããæ£å¸¸ã«å®è¡ã§ãããã確èªãã¾ãã +
ãã«ããããã次ã®ã³ãã³ããæ£å¸¸ã«å®è¡ã§ãããã確èªãã¾ãã æ£å¸¸ã«å®è¡ãããå ´åã¯ããHello, World!ãã¨è¡¨ç¤ºããã¾ãã -
$ ./casl2 as/hello.casl - Hello, World! +$ ./casl2 as/hello.casl +Hello, World!-2.6 詳細ãªãã¹ã
-次ã®ã³ãã³ããå®è¡ããã¨ãæ£å¸¸ã«ãã«ãã§ãã¦ãããã©ããã詳細ã«ãã¹ãã§ãã¾ãã - -
$ make check - 195 / 195 tests passed. Details in /home/username/yacasl2/test/integra - tion/casl2/Test.log - All tests are succeded. - 149 / 149 tests passed. Details in /home/username/yacasl2/test/integra - tion/comet2/Test.log - All tests are succeded. - 4 / 4 tests passed. Details in /home/username/yacasl2/test/integration - /dumpword/Test.log - All tests are succeded. +次ã®ã³ãã³ããå®è¡ããã¨ãæ£å¸¸ã«ãã«ãã§ãã¦ãããã©ããã詳細ã«ãã¹ãã§ãã¾ãã + +
$ make check +195 / 195 tests passed. Details in /home/username/yacasl2/test/integra +tion/casl2/Test.log +All tests are succeded. +149 / 149 tests passed. Details in /home/username/yacasl2/test/integra +tion/comet2/Test.log +All tests are succeded. +4 / 4 tests passed. Details in /home/username/yacasl2/test/integration +/dumpword/Test.log +All tests are succeded.-2.7 ç°å¢å¤æ°ã®è¨å®
-ç°å¢å¤æ°ãè¨å®ãããã¨ã§ãYACASL2ã使ãããããªãã¾ããç°å¢å¤æ°ã®è¨å®ã¯ãã·ã§ã«ã®åæè¨å®ãã¡ã¤ã«ã«è¿½å ãããã¨ã§ãã°ã¤ã³ãããã¨èªåçã«åæ ããã¾ãã -ããã¨ãã¯ã -ç°å¢å¤æ°
PATH
ã«YACASL2ã®ãã£ã¬ã¯ããªã追å ããã¨ãã©ã®ãã£ã¬ã¯ããªã§ãcasl2ãcomet2ãdumpwordãå®è¡ã§ãã¾ããã¾ãã +ç°å¢å¤æ°
PATH
ãCASL2LIB
ãè¨å®ãããã¨ã§ãYACASL2ã使ãããããªãã¾ããç°å¢å¤æ°ã¯ã使ã£ã¦ããã·ã§ã«ã確èªãã¦ããè¨å®ãã¾ããã·ã§ã«ã®ç¢ºèª
-ç°å¢å¤æ°ã®è¨å®æ¹æ³ã¯ä½¿ã£ã¦ããã·ã§ã«ã«ãã£ã¦ç°ãªãã¾ããã·ã§ã«ã¯ã次ã®ã³ãã³ãã§ç¢ºèªã§ãã¾ãã +
ç°å¢å¤æ°ã®è¨å®æ¹æ³ã¯ä½¿ã£ã¦ããã·ã§ã«ã«ãã£ã¦ç°ãªãã¾ããã·ã§ã«ã¯ã次ã®ã³ãã³ãã§ç¢ºèªã§ãã¾ãã -
$ echo $SHELL - /bin/bash +$ echo $SHELL +/bin/bash-ç¾å¨ãã£ã¨ãå¤ã使ããã¦ããã·ã§ã«ã¯ãBASHã§ãããã以ä¸ãBASHã§ã®è¨å®æ¹æ³ãè¨è¼ãã¾ãã +
ç¾å¨ãã£ã¨ãå¤ã使ããã¦ããã·ã§ã«ã¯ãBASHã§ãããã以ä¸ãBASHã§ã®è¨å®æ¹æ³ã説æãã¾ãã
-
PATH
ã«YACASL2ã®ãã£ã¬ã¯ããªã追å
PATH
ã«YACASL2ã®ãã£ã¬ã¯ããªã追å ããã¨ãã©ã®ãã£ã¬ã¯ããªã§ããã£ã¬ã¯ããªãæå®ããã«casl2ãcomet2ãdumpwordãå®è¡ã§ãã¾ããYACASL2ããã¼ã ãã£ã¬ã¯ããª~
ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã +
PATH
ã«YACASL2ã®ãã£ã¬ã¯ããªã追å ããã¨ãã©ã®ãã£ã¬ã¯ããªã§ããã£ã¬ã¯ããªãæå®ããã«casl2ãcomet2ãdumpwordãå®è¡ã§ãã¾ããYACASL2ããã¼ã ãã£ã¬ã¯ããª~
ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã -$ PATH=$PATH:~/yacasl2 && export PATH +$ PATH=$PATH:~/yacasl2 && export PATH-BASHã§ã¯ãã¼ã ãã£ã¬ã¯ããªã«ãã.bashrcãåæè¨å®ãã¡ã¤ã«ã§ãã次ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã +
ç°å¢å¤æ°ã®è¨å®ã¯ãã·ã§ã«ã®åæè¨å®ãã¡ã¤ã«ã«è¿½å ãããã¨ã§ãã°ã¤ã³ãããã¨èªåçã«åæ ãããããã«ãªãã¾ããBASHã§ã¯ãã¼ã ãã£ã¬ã¯ããªã«ãã.bashrcãåæè¨å®ãã¡ã¤ã«ã§ãã次ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã -
$ echo âPATH=$PATH:~/yacasl2 && export PATHâ >>~/.bashrc +$ echo âPATH=$PATH:~/yacasl2 && export PATHâ >>~/.bashrc-
CASL2LIB
ã®è¨å®ç°å¢å¤æ°
CASL2LIB
ãè¨å®ãã¦ããã°ãå¾è¿°ããCASL2LIBãå©ç¨ããã¨ãã®æéãå°ãããªãã¾ããYACASL2ããã¼ã ãã£ã¬ã¯ããª~
ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã +ç°å¢å¤æ°
CASL2LIB
ãè¨å®ãã¦ããã°ãå¾è¿°ããCASL2LIBãå©ç¨ããã¨ãã®æéãå°ãããªãã¾ããYACASL2ããã¼ã ãã£ã¬ã¯ããª~
ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã -$ CASL2LIB=~/yacasl2/as/casl2lib && export CASL2LIB +$ CASL2LIB=~/yacasl2/as/casl2lib && export CASL2LIBBASHã®åæè¨å®ãã¡ã¤ã«.bashrcã«ã¯ã次ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã -
$ echo 'CASL2LIB=~/yacasl2/as/casl2lib && export CASL2LIB' >>~/.bashrc +$ echo 'CASL2LIB=~/yacasl2/as/casl2lib && export CASL2LIB' >>~/.bashrc-3 YACASL2ã®ä½¿ãæ¹
-YACASL2 ã¯ãããã¹ããã¡ã¤ã«ã«è¨è¿°ãããCASLããã°ã©ã ãå¦çãã¾ãã以ä¸ã®ä¾ã§ç¨ããããCASLããã°ã©ã ã®ãã¡ã¤ã«ã¯ãããã¹ãã¨ãã£ã¿ãªã©ã§ä½æãã¦ãã ãããã¾ããã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªã®ä¸ã«ããasãã£ã¬ã¯ããªããã³ãã¼ãã¦ä½æãããã¨ãã§ãã¾ãã +
YACASL2 ã¯ãããã¹ããã¡ã¤ã«ã«è¨è¿°ãããCASLããã°ã©ã ãå¦çãã¾ãã以ä¸ã®ä¾ã§ç¨ããããCASLããã°ã©ã ã®ãã¡ã¤ã«ã¯ãããã¹ãã¨ãã£ã¿ãªã©ã§ä½æãã¦ãã ãããã¾ããã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªã®ä¸ã«ããasãã£ã¬ã¯ããªããã³ãã¼ãã¦ä½æãããã¨ãã§ãã¾ãã + +
3.1 å®è¡çµæã®åºåã ãã表示
-ã¤ã³ã¹ãã¼ã«æã«ã³ãã³ãå®è¡ã®ç¢ºèªã«ä½¿ã£ãhello.caslã¯ã次ã®ãããªå 容ã§ããCASL IIã®ãã¯ãå½ä»¤OUTã¯ãæååãåºåãã¾ãã +
ã¤ã³ã¹ãã¼ã«æã«ã³ãã³ãå®è¡ã®ç¢ºèªã«ä½¿ã£ãhello.caslã¯ã次ã®ãããªå 容ã§ããCASL IIã®ãã¯ãå½ä»¤OUTã¯ãæååãåºåãã¾ãã -
$ cat hello.casl - MAIN START - OUT OBUF,LEN - RET - OBUF DC 'Hello, World!' - LEN DC 13 - END ++$ 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! +$ 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 +$ 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 - $ +$ casl2 addl.casl +$å®è¡å 容ã確èªããã«ã¯ãå¾è¿°ã®ããã«CPU å ã«ããã¬ã¸ã¹ã¿ãã¡ã¢ãªã®å 容ã表示ããããçµæãåºåããããã®å¦çã追å ããå¿ è¦ãããã¾ãã -
3.2 ã¢ã»ã³ãã«çµæã®ç¢ºèª
-casl2ã®å¦çéä¸ã§è¡ãããã¢ã»ã³ãã«ã®çµæã表示ããã«ã¯ããªãã·ã§ã³-aãæå®ãã¾ããã¾ããã©ãã«ã¨ã¢ãã¬ã¹ã®å¯¾å¿è¡¨ã表示ããã«ã¯ããªãã·ã§ã³-lãæå®ãã¾ãã +
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! +$ 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 +$ 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 ã§ã®å®è¡ã¯è¡ããã¾ããã -
3.3 å®è¡æã®ã¬ã¸ã¹ã¿ã¨ã¡ã¢ãªã表示
-YACASL2ã§ã¯å®è¡ä¸ã®CPUã®ã¬ã¸ã¹ã¿ã¨ã¡ã¢ãªã®å 容ãããããã-tã¨-dãæå®ãããã¨ã§è¡¨ç¤ºã§ãã¾ãã +
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 ++ +$ 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-3.3.1 ç¹å®ã®ã¬ã¸ã¹ã¿ã表示
-addl.caslã®ã¬ã¸ã¹ã¿ãã¡ã¢ãªã®ä¸ã§ãå®è¡ä¸ã«å¤ãå¤åãã¦ããã®ã¯GR1ã ãã§ããããããå ´åã¯ãgrepã使ã£ã¦è¡¨ç¤ºãããå 容ãçµãè¾¼ããã¨ã§åä½ãæ¤è¨¼ãããããªãã¾ãã +
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 +$ casl2 -t addl.casl | grep 'GR1:' +#0000: GR1: 0 = #0000 = 0000000000000000 +#0002: GR1: 3 = #0003 = 0000000000000011 +#0004: GR1: 4 = #0004 = 0000000000000100ãã®å 容ããå ã«åºåããã¢ã»ã³ãã«çµæã¨å¼ãæ¯ã¹ã¦ãã ããã 次ã®è¡¨ã®ããã«ãPRã¨GR1ãå½ä»¤è¡ã対å¿ãã¦ãããã¨ããããã¾ãã @@ -619,108 +785,141 @@ YACASL2ã®åä½ã¯CASL IIã®ä»æ§ã«æºæ ãã¦ãããããæ å ±å¦ç試
- ADDL GR1,B
3.3.2 ããã°ã©ã çµäºæã®å¤ã表示
-grepã¨tailãçµã¿åãããã°ãããã°ã©ã çµäºæã®å¤ã表示ã§ãã¾ãã +
grepã¨tailãçµã¿åãããã°ãããã°ã©ã çµäºæã®å¤ã表示ã§ãã¾ãã
addl.caslã§ããã°ã©ã çµäºæã®å¤ã確èªããã«ã¯ã次ã®ããã«ãã¾ãã -
$ casl2 -t addl.casl | grep 'GR1:' | tail -1 - #0004: GR1: 4 = #0004 = 0000000000000100 +$ casl2 -t addl.casl | grep 'GR1:' | tail -1 +#0004: GR1: 4 = #0004 = 0000000000000100sum_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 +$ 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 ; å ¬å·® + ENDsum_10.caslã§ãã¡ã¤ã«çµäºæã®å¤ã確èªããã«ã¯ã次ã®ããã«ãã¾ãã -
$ casl2 -t sum_10.casl | grep 'GR0:' | tail -1 - #0010: GR0: 55 = #0037 = 0000000000110111 = '7' +$ casl2 -t sum_10.casl | grep 'GR0:' | tail -1 +#0010: GR0: 55 = #0037 = 0000000000110111 = '7'-3.3.3 ããã°ã©ã ã®ã¹ãããæ°ã表示
-grepã¨wcãçµã¿åãããã°ãããã°ã©ã ã®ã¹ãããæ°ã表示ã§ãã¾ãã +
grepã¨wcãçµã¿åãããã°ãããã°ã©ã ã®ã¹ãããæ°ã表示ã§ãã¾ãã -
$ casl2 -t hello.casl | grep 'GR1:' | wc -l - 11 +$ casl2 -t hello.casl | grep 'GR1:' | wc -l +11-$ casl2 -t addl.casl | grep 'GR1:' | wc -l - 3 +$ casl2 -t addl.casl | grep 'GR1:' | wc -l +3sum_10.caslã¯ããã°ã©ã å ã«ã«ã¼ãããããããã¹ãããæ°ã大ãããªãã¾ãã -
$ casl2 -t sum_10.casl | grep 'GR0:' | wc -l - 54 +$ casl2 -t sum_10.casl | grep 'GR0:' | wc -l +54-3.4 ã¢ã»ã³ãã«ã¨å®è¡ãå¥ã«è¡ã
-casl2ã«-Oãã¡ã¤ã«åãæå®ããã¨ããªãã¸ã§ã¯ããã¡ã¤ã«ãä½æã§ãã¾ãã +
casl2ã«-Oãã¡ã¤ã«åãæå®ããã¨ããªãã¸ã§ã¯ããã¡ã¤ã«ãä½æã§ãã¾ãã -
$ casl2 -Ohello.o hello.casl +$ 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 +$ 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! +$ comet2 hello.o +Hello, World!-3.5 1èªã®è§£æ
-CASL IIã§ã¯ã1èªï¼16ãããï¼ãåä½ã¨ãã¦ãã¼ã¿ãå¦çããã¾ãã +
CASL IIã§ã¯ã1èªï¼16ãããï¼ãåä½ã¨ãã¦ãã¼ã¿ãå¦çããã¾ãã dumpwordã¯ãæå®ãã1èªã10é²æ°ã16é²æ°ã2é²æ°ã§è¡¨ç¤ºãã¾ãã -
$ dumpword 72 - 72: 72 = #0048 = 0000000001001000 = 'H' +$ dumpword 72 + 72: 72 = #0048 = 0000000001001000 = 'H'ãã¤ãã¹ã®æ°ã¯ã次ã®ããã«--ãä»ãã¦æå®ãã¾ãã -
$ dumpword -- -72 - -72: -72 = #FFB8 = 1111111110111000 +$ dumpword -- -72 + -72: -72 = #FFB8 = 111111111011100016é²æ°ã¯ã次ã®ããã«æ¬¡ã®ããã«'ã§å²ã¿#ãä»ãã¦æå®ãã¾ãã -
$ dumpword '#0048' - #0048: 72 = #0048 = 0000000001001000 = 'H' +$ dumpword '#0048' + #0048: 72 = #0048 = 0000000001001000 = 'H'-3.6 CASL2ã©ã¤ãã©ãªã®ä½¿ç¨
-YACASL2ã®as/casl2libãã£ã¬ã¯ããªã«ã¯ãCASL IIã§è¨è¿°ãããã©ã¤ãã©ãªãã¡ã¤ã«ãæ ¼ç´ããã¦ãã¾ãã +
YACASL2ã®as/casl2libãã£ã¬ã¯ããªã«ã¯ãCASL IIã§è¨è¿°ãããã©ã¤ãã©ãªãã¡ã¤ã«ãæ ¼ç´ããã¦ãã¾ãã
ãã®ãã©ã«ãã«ã¯ããã¨ãã°æ¬¡ã®ãããªããã°ã©ã ãå«ã¾ãã¦ãã¾ãã @@ -736,53 +935,73 @@ YACASL2ã®åä½ã¯CASL IIã®ä»æ§ã«æºæ ãã¦ãããããæ å ±å¦ç試
3.6.1 æ°å¤ãåºåãã
-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 +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 +$ casl2 addl_outl.casl ~/yacasl2/as/casl2lib/outl.casl +4-4 YACASL2ã³ãã³ãããã¥ã¢ã«
-YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ãã -
4.1 casl2
-casl2ã¯ãå¼æ°ã¨ãã¦æå®ãããCASLãã¡ã¤ã«ãã¢ã»ã³ãã«ããä»®æ³ãã·ã³COMET IIä¸ã§å®è¡ãã¾ããCASLãã¡ã¤ã«ã¯ãã¢ã»ã³ãã©è¨èªCASL IIã§è¨è¿°ãããããã¹ããã¡ã¤ã«ã§ããå¼æ°ãæå®ãããªãå ´åã¯ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãã¦çµäºãã¾ãã -
$ casl2 hello.casl +$ casl2 hello.caslè¤æ°ã®CASLãã¡ã¤ã«ãæå®ãããã¨ã§ãå¯ããã°ã©ã ãå¼ã³åºãã¾ãã -
$ casl2 addl_outl.casl ~/yacasl2/as/casl2lib/outl.casl +$ casl2 addl_outl.casl ~/yacasl2/as/casl2lib/outl.caslãªãã·ã§ã³
-casl2ã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã +
casl2ã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã
-
- -s
- --source
- CASLãã¡ã¤ã«ã®å 容ã表示ãã¾ãã
- -l
- --label
- ã©ãã«ã®ä¸è¦§ã次ã®å½¢å¼ã§è¡¨ç¤ºãã¾ãã表示å¾ãã»ãã®ä½æ¥ãç¶è¡ãã¾ãã -
<ããã°ã©ã å>.<ã©ãã«å> ---> <ã¢ãã¬ã¹ã®16é²æ°è¡¨ç¾> +<ããã°ã©ã å>.<ã©ãã«å> ---> <ã¢ãã¬ã¹ã®16é²æ°è¡¨ç¾>- -L
- --labelonly
- -lã¨åãå½¢å¼ã§ã©ãã«ã®ä¸è¦§ã表示ãã¾ãã表示å¾ãã»ãã®ä½æ¥ã¯ç¶è¡ãããçµäºãã¾ãã @@ -796,8 +1015,8 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ãã
- -t
- --trace
- --tracearithmetic
- ããã°ã©ã å®è¡ä¸ã®ã¬ã¸ã¹ã¿ã®å¤ã次ã®å½¢å¼ã§è¡¨ç¤ºãã¾ãã -
<PRå¤ã®16é²æ°è¡¨ç¾>: <ã¬ã¸ã¹ã¿>: <å¤ã®10é²æ°è¡¨ç¾> = - <å¤ã®16é²æ°è¡¨ç¾> = <å¤ã®2é²æ°è¡¨ç¾>[ ='æå'] +<PRå¤ã®16é²æ°è¡¨ç¾>: <ã¬ã¸ã¹ã¿>: <å¤ã®10é²æ°è¡¨ç¾> = + <å¤ã®16é²æ°è¡¨ç¾> = <å¤ã®2é²æ°è¡¨ç¾>[ ='æå']
<PRå¤ã®16é²æ°è¡¨ç¾>
ã¨<ã¬ã¸ã¹ã¿>
ã<å¤ã®16é²æ°è¡¨ç¾>
ã¯ã4ããã®16é²æ°ã§è¡¨ããã¾ãã<PRå¤ã®16é²æ°è¡¨ç¾>
ã¨<å¤ã®16é²æ°è¡¨ç¾>
ã«ã¯ãå é ã«#
ãä»ãã¾ããç¯å²ã¯#0000
ãã#FFFF
ã§ã @@ -823,7 +1042,7 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ããä¾ãã°ã次ã®ããã«è¡¨ç¤ºããã¾ãã -
#0002: GR1: 3 = #0003 = 0000000000000011 +#0002: GR1: 3 = #0003 = 0000000000000011- -T
- --tracelogical
- -tã¨åãããã«ãããã°ã©ã å®è¡ä¸ã®ã¬ã¸ã¹ã¿ã®å¤ã表示ãã¾ãããã ãã-tã¨ç°ãªãã
<å¤ã®10é²æ°è¡¨ç¾>
ã¯ç¬¦å·ã®ä»ããªã10é²æ°ã§ããå¤ã®ç¯å²ã¯0ãã65535ã§ãã @@ -836,25 +1055,32 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ãã- -h
- --help
- casl2ã®ä½¿ç¨æ¹æ³ã表示ãã¦çµäºãã¾ãã
4.2 comet2
-comet2ã¯ãå¼æ°ã¨ãã¦æå®ããããªãã¸ã§ã¯ããã¡ã¤ã«ãä»®æ³ãã·ã³COMET IIä¸ã§å®è¡ãã¾ãããªãã¸ã§ã¯ããã¡ã¤ã«ã¯ãcaslã«-oã¾ãã¯-Oãæå®ãã¦åºåãã¾ãã -
$ comet2 hello.o +$ comet2 hello.oå¼æ°ã§æå®ã§ãããªãã¸ã§ã¯ããã¡ã¤ã«ã¯1ã¤ã ãã§ããå¼æ°ãæå®ãããªãå ´åã¯ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãã¦çµäºãã¾ããè¤æ°ã®å¼æ°ãæå®ããå ´åã2çªç®ä»¥éã®å¼æ°ã¯ç¡è¦ããã¾ãã
ãªãã·ã§ã³
-comet2ã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã +
comet2ã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã
-
- -t
- --trace
- --tracearithmetic
- ããã°ã©ã å®è¡ä¸ã®ã¬ã¸ã¹ã¿ã®å¤ã次ã®å½¢å¼ã§è¡¨ç¤ºãã¾ãã
<å¤ã®10é²æ°è¡¨ç¾>
ã¯ç¬¦å·ã®ä»ãã10é²æ°ã§ããç¯å²ã¯-32768ãã32767ã§ãã -<PRå¤ã®16é²æ°è¡¨ç¾>: <ã¬ã¸ã¹ã¿>: <å¤ã®10é²æ°è¡¨ç¾> = <å¤ã®16é²æ°è¡¨ç¾> = <å¤ã®2é²æ°è¡¨ç¾>[ ='æå'] +<PRå¤ã®16é²æ°è¡¨ç¾>: <ã¬ã¸ã¹ã¿>: <å¤ã®10é²æ°è¡¨ç¾> = <å¤ã®16é²æ°è¡¨ç¾> = <å¤ã®2é²æ°è¡¨ç¾>[ ='æå']
<PRå¤ã®16é²æ°è¡¨ç¾>
ã¨<å¤ã®16é²æ°è¡¨ç¾>
ã¯ãå é ã«#
ãä»ãã4ããã®16é²æ°ã§è¡¨ããã¾ããç¯å²ã¯ã#0000
ãã#FFFF
ã§ã @@ -866,7 +1092,7 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ããä¾ãã°ã次ã®ããã«è¡¨ç¤ºããã¾ãã -
#0002: GR1: 3 = #0003 = 0000000000000011 +#0002: GR1: 3 = #0003 = 0000000000000011表示ãããã¬ã¸ã¹ã¿ã«ã¯ã次ã®ç¨®é¡ãããã¾ãã @@ -891,20 +1117,26 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ãã
- -h
- --help
- comet2ã®ä½¿ç¨æ¹æ³ã表示ãã¦çµäºãã¾ãã
4.3 dumpword
-dumpwordã¯ãå¼æ°ã¨ãã¦æå®ãããæ°å¤ããæ´æ°ã#0000ã#FFFFã®ç¯å²ã®16é²æ°ã2é²æ°ã§è¡¨ç¤ºãã¾ããæåã®çµã«è©²å½ããå ´åã¯ãã = ãã®ãããã«æåã表示ããã¾ããå¼æ°ã¯ã10é²æ°ã¾ãã¯å é ã«ã#ãã®ä»ãã16é²æ°ã§æå®ãã¾ãã表示ãããæ´æ°ã¯ããªãã·ã§ã³ã«ãã符å·ä»ãã符å·ãªãããæå®ãã¾ãããªãã·ã§ã³ãªãã®å ´åã¯ç¬¦å·ä»ãã§ããæ´æ°ã®ç¯å²ã¯ã符å·ä»ãã®å ´åã¯-32768ãã32767ã符å·ãªãã®å ´åã¯0ãã65535ã§ãã -
$ dumpword 10 +$ dumpword 10å¼æ°ã§æå®ã§ãã1ã¤ã ãã§ããå¼æ°ãæå®ãããªãå ´åã¯ã使ãæ¹ã表示ãã¦çµäºãã¾ããè¤æ°ã®å¼æ°ãæå®ããå ´åã2çªç®ä»¥éã®å¼æ°ã¯ç¡è¦ããã¾ãã
ãªãã·ã§ã³
-dumpwordã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã +
dumpwordã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã
-
- -a
- --arithmetic
- åºåãããæ´æ°ã®ç¯å²ã-32,768ã32,767ã«ãã¾ãããªãã·ã§ã³ãªãã®å ´åã¨åãã§ãã @@ -914,15 +1146,46 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ãã
- -h
- --help
- dumpwordã®ä½¿ç¨æ¹æ³ã表示ãã¦çµäºãã¾ãã
5 CASL2LIBããã¥ã¢ã«
- + +5.1 ABS - abs.casl
-GR1ã符å·ä»ãæ´æ°ã¨ã¿ãªãã絶対å¤ã«å¤æ +
GR1ã符å·ä»ãæ´æ°ã¨ã¿ãªãã絶対å¤ã«å¤æ
å ¥å
@@ -942,28 +1205,35 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ããä¾åããå¯ããã°ã©ã
-ãªã +
ãªã
使ç¨ä¾
-;;; CASL2LIB > ABSãå¼ã³åºãã-1ã®çµ¶å¯¾å¤ã表示 - MAIN START - LD GR1,A - CALL ABS - CALL OUTA - RET - A DC -1 - END +-;;; CASL2LIB > ABSãå¼ã³åºãã-1ã®çµ¶å¯¾å¤ã表示 +MAIN START + LD GR1,A + CALL ABS + CALL OUTA + RET +A DC -1 + END$ casl2 call_abs.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/outa.casl \ - $CASL2LIBDIR/divl.casl $CASL2LIBDIR/rev.casl - 1 +$ casl2 call_abs.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/outa.casl \ + $CASL2LIBDIR/divl.casl $CASL2LIBDIR/rev.casl +1-5.2 DIVA - diva.casl
-符å·ä»ãæ´æ°ã®å²ç®ãçç®æ¹å¼ã§è¡ã +
符å·ä»ãæ´æ°ã®å²ç®ãçç®æ¹å¼ã§è¡ã
å ¥å
@@ -1002,35 +1272,42 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ãã使ç¨ä¾
-;; CASL2LIB > DIVAãå¼ã³åºãã-32767 / 255 ã®åã¨å°ä½ã表示 - MAIN START - BEGIN LD GR1,A - LD GR2,B - CALL DIVA - JOV ERR - LD GR1,GR0 - CALL OUTA - LD GR1,GR3 - CALL OUTA - JUMP FIN - ERR OUT EMSG,ELEN - FIN RET - A DC -32767 - B DC 255 - EMSG DC 'error' - ELEN DC 5 - END +-;; CASL2LIB > DIVAãå¼ã³åºãã-32767 / 255 ã®åã¨å°ä½ã表示 +MAIN START +BEGIN LD GR1,A + LD GR2,B + CALL DIVA + JOV ERR + LD GR1,GR0 + CALL OUTA + LD GR1,GR3 + CALL OUTA + JUMP FIN +ERR OUT EMSG,ELEN +FIN RET +A DC -32767 +B DC 255 +EMSG DC 'error' +ELEN DC 5 + END$ casl2 call_diva.casl $CASL2LIBDIR/diva.casl $CASL2LIBDIR/divl.casl \ - $CASL2LIBDIR/outa.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/rev.casl - -128 - -127 +$ casl2 call_diva.casl $CASL2LIBDIR/diva.casl $CASL2LIBDIR/divl.casl \ + $CASL2LIBDIR/outa.casl $CASL2LIBDIR/abs.casl $CASL2LIBDIR/rev.casl +-128 +-127-5.3 DIVL - divl.casl
-符å·ãªãæ´æ°ã®å²ç®ãçç®æ¹å¼ã§è¡ã +
符å·ãªãæ´æ°ã®å²ç®ãçç®æ¹å¼ã§è¡ã
å ¥å
@@ -1056,39 +1333,46 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ããä¾åããå¯ããã°ã©ã
-ãªã +
ãªã
使ç¨ä¾
-;; CASL2LIB > DIVLãå¼ã³åºãã65534 / 255 ã®åã¨å°ä½ã表示 - MAIN START - BEGIN LD GR1,A - LD GR2,B - CALL DIVL - JOV ERR - LD GR1,GR0 - CALL OUTL - LD GR1,GR3 - CALL OUTL - JUMP FIN - ERR OUT EMSG,ELEN - FIN RET - A DC 65534 - B DC 255 - EMSG DC 'error' - ELEN DC 5 - END +-;; CASL2LIB > DIVLãå¼ã³åºãã65534 / 255 ã®åã¨å°ä½ã表示 +MAIN START +BEGIN LD GR1,A + LD GR2,B + CALL DIVL + JOV ERR + LD GR1,GR0 + CALL OUTL + LD GR1,GR3 + CALL OUTL + JUMP FIN +ERR OUT EMSG,ELEN +FIN RET +A DC 65534 +B DC 255 +EMSG DC 'error' +ELEN DC 5 + END$ casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl \ - $CASL2LIBDIR/rev.casl - 256 - 254 +$ casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl \ + $CASL2LIBDIR/rev.casl +256 +254-5.4 INL - inl.casl
-符å·ãªãæ´æ°ã®å ¥åãåãä»ãã +
符å·ãªãæ´æ°ã®å ¥åãåãä»ãã
å ¥å
@@ -1112,35 +1396,42 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ãã使ç¨ä¾
-;; CASL2LIB > DIVLãå¼ã³åºãã65534 / 255 ã®åã¨å°ä½ã表示 - MAIN START - BEGIN LD GR1,A - LD GR2,B - CALL DIVL - JOV ERR - LD GR1,GR0 - CALL OUTL - LD GR1,GR3 - CALL OUTL - JUMP FIN - ERR OUT EMSG,ELEN - FIN RET - A DC 65534 - B DC 255 - EMSG DC 'error' - ELEN DC 5 - END +-;; CASL2LIB > DIVLãå¼ã³åºãã65534 / 255 ã®åã¨å°ä½ã表示 +MAIN START +BEGIN LD GR1,A + LD GR2,B + CALL DIVL + JOV ERR + LD GR1,GR0 + CALL OUTL + LD GR1,GR3 + CALL OUTL + JUMP FIN +ERR OUT EMSG,ELEN +FIN RET +A DC 65534 +B DC 255 +EMSG DC 'error' +ELEN DC 5 + END$ casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl \ - $CASL2LIBDIR/rev.casl - 256 - 254 +$ casl2 call_divl.casl $CASL2LIBDIR/divl.casl $CASL2LIBDIR/outl.casl \ + $CASL2LIBDIR/rev.casl +256 +254-5.5 L2STR - l2str.casl
-符å·ãªãæ´æ°ãæååã«å¤æãã +
符å·ãªãæ´æ°ãæååã«å¤æãã
å ¥å
@@ -1162,11 +1453,18 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ããDIVL
-5.6 MAX - max.casl
-é£ç¶ããè¤æ°ã®WORDã符å·ä»ãæ´æ°ã¨ã¿ãªãã¦æ大å¤ãè¿ã +
é£ç¶ããè¤æ°ã®WORDã符å·ä»ãæ´æ°ã¨ã¿ãªãã¦æ大å¤ãè¿ã
å ¥å
@@ -1184,13 +1482,20 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ããä¾åããå¯ããã°ã©ã
-ãªã +
ãªã -
5.7 MINIM - minim.casl
-é£ç¶ããè¤æ°ã®WORDã符å·ä»ãæ´æ°ã¨ã¿ãªãã¦æå°å¤ãè¿ã +
é£ç¶ããè¤æ°ã®WORDã符å·ä»ãæ´æ°ã¨ã¿ãªãã¦æå°å¤ãè¿ã
å ¥å
@@ -1208,38 +1513,93 @@ YACASL2ã®ã³ãã³ãã¨ãªãã·ã§ã³ã«ã¤ãã¦è§£èª¬ãã¾ããä¾åããå¯ããã°ã©ã
-ãªã +
ãªã + +
5.8 MULA - mula.casl
-5.9 MULL - mull.casl
-5.10 OUTA - outa.casl
-5.11 OUTB - outb.casl
-5.12 OUTD_Q15 - outd_q15.casl
-5.13 OUTL - outl.casl
-5.14 REV - rev.casl
-5.15 STR2L - str2l.casl