From 33d5f89bc9adc2e46407182f6bfa8032b87ad245 Mon Sep 17 00:00:00 2001 From: j8takagi <j8takagi@nifty.com> Date: Fri, 2 Nov 2012 00:22:24 +0900 Subject: [PATCH] =?utf8?q?=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1=E3=83=B3?= =?utf8?q?=E3=83=88=E3=82=92=E3=82=A4=E3=83=B3=E3=82=B9=E3=83=88=E3=83=BC?= =?utf8?q?=E3=83=AB=E3=81=AE=E8=AA=AC=E6=98=8E=E3=81=A8=E3=83=9E=E3=83=8B?= =?utf8?q?=E3=83=A5=E3=82=A2=E3=83=AB=E3=81=AB=E5=88=86=E5=89=B2=E3=81=97?= =?utf8?q?=E3=80=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- INSTALL | 246 +++++++++ Makefile | 5 +- README | 2 +- doc/Makefile | 70 +-- doc/casl2_spec.html | 341 ------------- doc/install.texi | 98 +++- doc/manual.texi | 2 +- doc/yacasl2.info | 1182 ------------------------------------------- 8 files changed, 357 insertions(+), 1589 deletions(-) create mode 100644 INSTALL delete mode 100644 doc/casl2_spec.html delete mode 100644 doc/yacasl2.info diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..612947f --- /dev/null +++ b/INSTALL @@ -0,0 +1,246 @@ +1 YACASL2ã®ã¤ã³ã¹ãã¼ã« +****************************** + +Table of Contents +***************** + +1 YACASL2ã®ã¤ã³ã¹ãã¼ã« + è¦ä»¶ + 1.1 YACASL2ãã¡ã¤ã«ã®ãã¦ã³ãã¼ã + 1.2 YACASL2ãã¡ã¤ã«ã®æ¤è¨¼ + 1.2.1 GnuPGåé¢ç½²åã§ã®æ¤è¨¼ + 1.2.2 MD5ããã·ã¥å¤ã§ã®æ¤è¨¼ + 1.3 YACASL2ãã¡ã¤ã«ã®å±é + 1.4 `casl2' `comet2' `dumpword'ã®ãã«ã + 1.5 `casl2'ã®å®è¡ãã¹ã + 1.6 詳細ãªãã¹ã + 1.7 ã¤ã³ã¹ãã¼ã« + 1.8 ç°å¢å¤æ°ã®è¨å® + ã·ã§ã«ã®ç¢ºèª + 1.8.1 `PATH'ã®è¨å® + 1.8.2 `INFOPATH'ã®è¨å® + 1.8.3 `CASL2LIB'ã®è¨å® + + +è¦ä»¶ +====== + + YACASL2ã¯ãLinuxãMac OS +Xãªã©ãUNIXç³»ã®OSä¸ã§åä½ãã¾ããç¾å¨åä½ã確èªãã¦ããã®ã¯ãUbuntu +Linuxã¨Vine LinuxãMac OS Xã§ãã + + ã¤ã³ã¹ãã¼ã«æã«ã`tar' `gcc' +`make'ãå¿ è¦ã§ããLinuxã§ã¯å¤ãã®å ´åãæ¨æºã§ã¤ã³ã¹ãã¼ã«ããã¦ãã¾ããMac +OS Xã®å ´åãXcodeã®ãCommand Line Toolsãã«å«ã¾ãã¾ãã + +1.1 YACASL2ãã¡ã¤ã«ã®ãã¦ã³ãã¼ã +============================================ + + YACASL2ã®ãµã¤ã +(http://www.j8takagi.net/yacasl2/)ããã`tar.gz'ã¾ãã¯`tar.xz'ãã¡ã¤ã«ã¨ã対å¿ããæ¤è¨¼ç¨ãã¡ã¤ã«ããã¦ã³ãã¼ããã¾ããgithubã®ãã¦ã³ãã¼ããã¼ã¸ +(http://github.com/j8takagi/YACASL2/downloads/)ãã`tar.gz'ãªã©ã®ãã¡ã¤ã«ããã¦ã³ãã¼ããããã¨ãã§ãã¾ãã + +1.2 YACASL2ãã¡ã¤ã«ã®æ¤è¨¼ +================================ + + ãã¦ã³ãã¼ããå®äºããããå§ç¸®ãã¡ã¤ã«ãæ¹ç«ããã¦ããªããæ¤è¨¼ãã¾ããæ¤è¨¼ã«ã¯GnuPGåé¢ç½²åããMD5ããã·ã¥å¤ã使ãã¾ãã + +1.2.1 GnuPGåé¢ç½²åã§ã®æ¤è¨¼ +----------------------------------- + + GnuPGã®`gpg'ã§å§ç¸®ãã¡ã¤ã«ãæ¤è¨¼ãã¾ãããã®æ¤è¨¼ãè¡ãã«ã¯ãGnuPGãã¤ã³ã¹ãã¼ã«ãããèªåã®ç§å¯éµã¨å ¬ééµã®ãã¢ã使ããã¦ããå¿ è¦ãããã¾ãã + + $ gpg --verify yacasl2.tar.xz.asc + gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1 + gpg: Can't check signature: public key not found + $ gpg --recv-keys 25B62DD1 + gpg: requesting key 25B62DD1 from hkp server keys.gnupg.net + gpg: key 25B62DD1: public key "j8takagi <j8takagi@nifty.com>" imported + gpg: Total number processed: 1 + gpg: imported: 1 (RSA: 1) + + $ gpg --lsign-key 25B62DD1 + + pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC + trust: unknown validity: full + sub 2048R/92E25C29 created: 2012-09-29 expires: never usage: E + [ full ] (1). j8takagi <j8takagi@nifty.com> + + + pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC + trust: unknown validity: full + Primary key fingerprint: ... + + .* <.*@.*> + + Are you sure that you want to sign this key with your + key ".* <.*@.*>" + + The signature will be marked as non-exportable. + + Really sign? (y/N) y + + You need a passphrase to unlock the secret key for + user: ".* <.*@.*>" + 2048-bit RSA key, ID ........, created 20..-..-.. + + <input password> password + + $ gpg --verify yacasl2.tar.xz.asc + gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1 + gpg: checking the trustdb + gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model + gpg: depth: 0 valid: 1 signed: 4 trust: 0-, 0q, 0n, 0m, 0f, 1u + gpg: depth: 1 valid: 4 signed: 0 trust: 4-, 0q, 0n, 0m, 0f, 0u + gpg: Good signature from "j8takagi <j8takagi@nifty.com>" + +1.2.2 MD5ããã·ã¥å¤ã§ã®æ¤è¨¼ +------------------------------------ + + `openssl'ã¨`diff'ã§å§ç¸®ãã¡ã¤ã«ãæ¤è¨¼ãã¾ãã + + $ openssl md5 yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum - + Files yacasl2.tar.gz.md5sum and - are identical + +1.3 YACASL2ãã¡ã¤ã«ã®å±é +================================ + + YACASL2ãã¡ã¤ã«ããã¦ã³ãã¼ããããã`tar'ã³ãã³ãã§å±éãã¾ãã + + $ tar xvzf yacasl2.tar.gz + +1.4 `casl2' `comet2' `dumpword'ã®ãã«ã +=========================================== + + å±éãããã`make'ã³ãã³ãã§`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â + +1.5 `casl2'ã®å®è¡ãã¹ã +============================= + + ãã«ãããããæ¬¡ã®ã³ãã³ããæ£å¸¸ã«å®è¡ã§ãããã確èªãã¾ãã +æ£å¸¸ã«å®è¡ãããå ´åã¯ããHello, World!ãã¨è¡¨ç¤ºããã¾ãã + + $ ./casl2 as/hello.casl + Hello, World! + +1.6 詳細ãªãã¹ã +====================== + + `make +check'ã³ãã³ããå®è¡ããã¨ãæ£å¸¸ã«ãã«ãã§ãã¦ãããã©ããã詳細ã«ãã¹ãã§ãã¾ãã +ãã¹ãã«ã¯ããã°ããæéããããã¾ãã + + $ 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. + +1.7 ã¤ã³ã¹ãã¼ã« +====================== + + ãã«ããæåãããã`make +install'ã³ãã³ãã§å¿ è¦ãªãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ã§ãã¾ãã +åæè¨å®ã§ã¯ããã¼ã ãã£ã¬ã¯ããªã¼ä»¥ä¸ã«YACASL2ã®ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ããã¾ãã + + $ make install + + ã³ãã³ãå®è¡æã«ãªãã·ã§ã³ãæå®ãããã¨ã§ãã¤ã³ã¹ãã¼ã«å ã®ãã£ã¬ã¯ããªã¼ã夿´ã§ãã¾ãã +ä¾ãã°ã`/usr/local'以ä¸ã«ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ããã«ã¯ã +次ã®ããã«ã³ãã³ããå®è¡ãã¾ãã + + $ sudo make install prefix=/usr/local + + ãªãã·ã§ã³ã®è©³ç´°ã¯æ¬¡ã®ã¨ããã§ãã + +ãªãã·ã§ã³ 説æ åæè¨å® +--------------------------------------------------------------------------- +PREFIX ã¤ã³ã¹ãã¼ã«æã®ã«ã¼ããã¡ã¤ã« `~' +BINDIR å®è¡ãã¡ã¤ã«ã®ã¤ã³ã¹ãã¼ã«å `$prefix/bin' +INFODIR infoãã¡ã¤ã«ã®ã¤ã³ã¹ãã¼ã«å `$prefix/info' +CASL2LIBDIR CASL II `$prefix/lib/yacasl2' + ã©ã¤ãã©ãªãã¡ã¤ã«ã®ã¤ã³ã¹ãã¼ã«å + +1.8 ç°å¢å¤æ°ã®è¨å® +========================= + + ç°å¢å¤æ°`PATH'ã`CASL2LIB'ãè¨å®ãããã¨ã§ãYACASL2ã使ãããããªãã¾ããç°å¢å¤æ°ã¯ã使ã£ã¦ããã·ã§ã«ã確èªãã¦ããè¨å®ãã¾ãã + +ã·ã§ã«ã®ç¢ºèª +------------------ + + ç°å¢å¤æ°ã®è¨å®æ¹æ³ã¯ä½¿ã£ã¦ããã·ã§ã«ã«ãã£ã¦ç°ãªãã¾ããã·ã§ã«ã¯ã次ã®ã³ãã³ãã§ç¢ºèªã§ãã¾ãã + + $ echo $SHELL + /bin/bash + + ç¾å¨ãã£ã¨ãå¤ã使ããã¦ããã·ã§ã«ã¯ãBASHã§ãããã以ä¸ãBASHã§ã®è¨å®æ¹æ³ã説æãã¾ãã + +1.8.1 `PATH'ã®è¨å® +--------------------- + + `PATH'ã«YACASL2ã®å®è¡ãã¡ã¤ã«ã®ã¤ã³ã¹ãã¼ã«å ã追å ããã¨ããã£ã¬ã¯ããªã¼ã®æå®ãçç¥ãã¦`casl2' +`comet2' +`dumpword'ãå®è¡ã§ãã¾ããä¾ãã°ãåæè¨å®ã®ã¾ã¾å®è¡ãã¡ã¤ã«ã`~/bin'ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã + + $ PATH=$PATH:~/bin && export PATH + + ç°å¢å¤æ°ã®è¨å®ã¯ãã·ã§ã«ã®åæè¨å®ãã¡ã¤ã«ã«è¿½å ãããã¨ã§ãã°ã¤ã³ãããã¨èªåçã«åæ ãããããã«ãªãã¾ããBASHã§ã¯`~/.bashrc'ãåæè¨å®ãã¡ã¤ã«ã§ããæ¬¡ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã + + $ echo âPATH=$PATH:~/bin && export PATHâ >>~/.bashrc + +1.8.2 `INFOPATH'ã®è¨å® +------------------------- + + `INFOPATH'ã«YACASL2ã®Infoãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªã¼ã追å ããã¨ããã£ã¬ã¯ããªã¼ã®æå®ãçç¥ãã¦`casl2' +`comet2' +`dumpword'ãå®è¡ã§ãã¾ããä¾ãã°ãåæè¨å®ã®ã¾ã¾Infoãã¡ã¤ã«ã`~/share/info'ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã + + $ INFOPATH=$INFOPATH:~/share && export INFOPATH + + `~/.bashrc'ã«ã¯æ¬¡ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã + + $ echo 'INFOPATH=$INFOPATH:~/share/info && export INFOPATH' >>~/.bashrc + +1.8.3 `CASL2LIB'ã®è¨å® +------------------------- + + ç°å¢å¤æ°`CASL2LIB'ãè¨å®ãã¦ããã°ãCASL +IIããã°ã©ã 使æã«å ±éã©ã¤ãã©ãªãå¼ã³åºãæéãå°ãããªãã¾ããä¾ãã°ãCASL2LIBã`~/yacasl2/casl2lib'ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã + + $ CASL2LIB=~/yacasl2/casl2lib && export CASL2LIB + + `~/.bashrc'ã«ã¯æ¬¡ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã + + $ echo 'CASL2LIB=~/yacasl2/casl2lib && export CASL2LIB' >>~/.bashrc + diff --git a/Makefile b/Makefile index 5d57356..f3cf097 100644 --- a/Makefile +++ b/Makefile @@ -10,11 +10,10 @@ CAT ?= cat prefix ?= ~ bindir ?= $(prefix)/bin -casl2libdir ?= $(prefix)/lib/casl2 VERSIONFILES = include/package.h test/system/casl2/opt_v/0.txt test/system/comet2/opt_v/0.txt test/system/dumpword/opt_v/0.txt -all: build info html gtags +all: build docall gtags build: $(MAKE) -C src all @@ -22,7 +21,7 @@ build: gtags: @$(WHICH) $(GTAGS) >/dev/null && $(GTAGS) || $(ECHO) "$(GTAGS): not found" -docall: doc +docall: $(MAKE) -C doc all info: diff --git a/README b/README index 661d2c6..5605561 100644 --- a/README +++ b/README @@ -16,7 +16,7 @@ CASL IIã¯ãæ å ±å¦ç試é¨ã§ç¨ããããã¢ã»ã³ãã©è¨èªã§ã次 ****************** YACASL2ã®ã¤ã³ã¹ãã¼ã«æ¹æ³ã¯ãINSTALLãåç §ãã¦ãã ããã -YACASL2ã®ä½¿ãæ¹ã¯ãdoc/index.htmlãåç §ãã¦ãã ããã +YACASL2ã®ä½¿ãæ¹ã¯ãdoc/manual.htmlãåç §ãã¦ãã ããã Webãµã¤ã diff --git a/doc/Makefile b/doc/Makefile index c118e45..ac78fc3 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,14 +1,13 @@ MANUAL = manual INSTALLDOC = install -MANUALSRC = $(MANUAL).texi -MANUALINFO = yacasl2.info -INSTALLDOCSRC = $(INSTALLDOC).texi +CASL2SPEC = casl2_spec +MANUAL_SYSINFO = yacasl2.info CSS = style.css -MANUALHTMLDIR = manual_html MV ?= mv CP ?= cp MKDIR ?= mkdir +RMF = rm -f RMRF ?= rm -rf PTEX ?= ptex TEXI2DVI ?= texi2dvi @@ -17,64 +16,67 @@ MAKEINFO ?= gmakeinfo INSTALL ?= install INSTALL-INFO ?= ginstall-info GZIP = gzip +SED = sed prefix ?= ~ infodir ?= $(prefix)/share/info -.PHONY: all info html install-info uninstall-info clean clean-manual clean-installdoc clean-textmp +.PHONY: all info html htmls pdf install-info uninstall-info clean clean-textmp -.INTERMEDIATE: $(MANUAL).dvi +.INTERMEDIATE: *.dvi -all: info html $(MANUAL).pdf ../INSTALL +base: ../INSTALL $(MANUAL_SYSINFO) $(MANUAL).html -info: $(MANUALINFO) +all: info html htmls pdf ../INSTALL $(MANUAL_SYSINFO) -$(MANUALINFO): $(MANUALSRC) - $(MAKEINFO) -o $(MANUALINFO) $(MANUALSRC) +info: $(MANUAL_SYSINFO) $(INSTALLDOC).info -html: $(MANUAL).html $(MANUALHTMLDIR) $(INSTALLDOC).html +html: $(MANUAL).html $(INSTALLDOC).html -$(MANUAL).html: $(MANUALSRC) $(CSS) +htmls: $(MANUAL)_html + +pdf: $(INSTALLDOC).pdf $(MANUAL).pdf + +$(MANUAL_SYSINFO): $(MANUAL).info + $(CP) $< $@ + $(SED) -i -e "s/@setfilename manual/@setfilename $(MANUAL_SYSINFO)/" $@ + +%.html: %.texi $(CSS) $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $< -$(MANUALHTMLDIR): $(MANUALSRC) $(CSS) +%_html: %.texi $(CSS) $(INSTALL) -d $@ $(INSTALL) $(CSS) $@/ $(MAKEINFO) -o $@ --html --css-ref=$(CSS) $< -$(MANUAL).pdf: $(MANUAL).dvi +%.pdf: %.dvi $(DVI2PDF) $< -$(MANUAL).dvi: $(MANUALSRC) +%.dvi: %.texi TEX=$(PTEX) $(TEXI2DVI) -q --texinfo=@afourpaper -o $@ $< @$(MAKE) clean-textmp -$(MANUAL).txt: $(MANUALSRC) - $(MAKEINFO) --no-headers --disable-encoding -o $@ $(MANUALSRC) +%.txt: %.texi + $(MAKEINFO) --no-headers --disable-encoding -o $@ $< -install-info: $(MANUAL).info +install-info: $(MANUAL_SYSINFO) $(INSTALL) -d $(infodir) - $(INSTALL) $(MANUALINFO) $(infodir)/ - $(INSTALL-INFO) $(infodir)/$(MANUALINFO) $(infodir)/dir - $(GZIP) -f $(infodir)/$(MANUALINFO) + $(INSTALL) $(MANUAL_SYSINFO) $(infodir)/ + $(INSTALL-INFO) $(infodir)/$(MANUAL_SYSINFO) $(infodir)/dir + $(GZIP) -f $(infodir)/$(MANUAL_SYSINFO) uninstall-info: $(MANUAL).info - $(INSTALL-INFO) --delete $(infodir)/$(MANUAL) $(infodir)/dir - $(RM) $(infodir)/$(MANUAL)* + $(INSTALL-INFO) --delete $(infodir)/$(MANUAL_SYSINFO) $(infodir)/dir + $(RMF) $(infodir)/$(MANUAL_SYSINFO)* -$(INSTALLDOC).html: $(INSTALLDOCSRC) $(CSS) +$(INSTALLDOC).html: $(INSTALLDOC).texi $(CSS) $(MAKEINFO) -o $@ --no-split --html --css-include=$(CSS) $< -../INSTALL: $(INSTALLDOCSRC) - $(MAKEINFO) -o $@ --no-headers --disable-encoding $< +../INSTALL: $(INSTALLDOC).txt + $(CP) $< $@ -clean: clean-manual clean-installdoc clean-textmp - -clean-manual: - @$(RMRF) html $(MANUALHTMLDIR) $(MANUAL).info $(MANUAL).pdf $(MANUAL).html $(MANUAL).txt +clean: clean-textmp + @$(RMRF) *_html *.info *.html *.pdf *.dvi *.txt clean-textmp: - @$(RMRF) $(MANUAL).aux $(MANUAL).cp $(MANUAL).cps $(MANUAL).fn $(MANUAL).ky $(MANUAL).log $(MANUAL).pg $(MANUAL).pgs $(MANUAL).tmp $(MANUAL).toc $(MANUAL).tp $(MANUAL).vr - -clean-installdoc: - @$(RMRF) install.html ../INSTALL + @$(RMF) *.aux *.cp *.cps *.fn *.ky *.log *.pg *.pgs *.tmp *.toc *.tp *.vr diff --git a/doc/casl2_spec.html b/doc/casl2_spec.html deleted file mode 100644 index 9863678..0000000 --- a/doc/casl2_spec.html +++ /dev/null @@ -1,341 +0,0 @@ -<html lang="en"> -<head> -<title>ã¢ã»ã³ãã©è¨èªã®ä»æ§</title> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<meta name="description" content="ã¢ã»ã³ãã©è¨èªã®ä»æ§"> -<meta name="generator" content="makeinfo 4.13"> -<link title="Top" rel="top" href="#Top"> -<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> -<!-- -Copyright (C) Information-technology Promotion Agency, Japan. All rights reserved 2012--> -<meta http-equiv="Content-Style-Type" content="text/css"> -<style type="text/css"><!-- - pre.display { font-family:inherit } - pre.format { font-family:inherit } - pre.smalldisplay { font-family:inherit; font-size:smaller } - pre.smallformat { font-family:inherit; font-size:smaller } - pre.smallexample { font-size:smaller } - pre.smalllisp { font-size:smaller } - span.sc { font-variant:small-caps } - span.roman { font-family:serif; font-weight:normal; } - span.sansserif { font-family:sans-serif; font-weight:normal; } -body { - margin-left: 6em; - margin-right: 12em; - color: black; - background-color: #EEE; -} - -h1, h2 { - margin-left: -2em; -} - -.node{ - margin-left: -3em; - color: inherit; - background-color: #DDF; -} - -.menu, .node { - color: inherit; - background-color: #DDF; -} - -h2 { - padding: 0.25em; - color: white; - background-color: navy; -} - -.contents { - background-color: #DDF; - border: 4px double #000; -} - -.contents h2 { - margin-left: 0; - color: black; - background-color: #DDF; -} - -.shortcontents { - background-color: #DDF; - border: 4px double #000; - } - -.shortcontents h2{ - display: none; -} - -.shortcontents a { - margin-right: 1em; -} - -h3, h4, h5 { - color: navy; - margin-left: -1em; -} - -h5 { - font-size: 100%; -} - -p { - line-height: 1.25em; - margin-top: 0; - margin-bottom: 0.5em; -} - -a:hover { - color: red; - text-decoration: underline; -} - -pre.example { - padding: 0.5em 1em 0.5em 1em; - color: #CCC; - background: black; - font-size: 90%; -} - -a { - text-decoration: none; -} - -blockquote { - line-height: 1.25em; - border: 1px solid #00F; -} - -kbd { - font-family: monospace; -} - -kbd, code, .file { - margin-left:0.5em; - margin-right: 0.5em; -} - -table, th, td { - border: 1px solid #CCC; - border-collapse: collapse; /* æ ç·ã®è¡¨ç¤ºæ¹æ³ */ -} - -table.cartouche, table.cartouche th, table.cartouche td { - border: none; -} - -pre.example .command, pre.example .option, pre.example kbd { - font-weight: bold; - font-family: monospace; - background-color: inherit; - color: white; - margin-left:0; - margin-right: 0; -} - -pre.example strong { - font: inherit; - border: 2px solid green; -} - -dt { - font-weight: bold; -} - -dfn { - font-style: normal; -}--></style> -</head> -<body> -<h1 class="settitle">ã¢ã»ã³ãã©è¨èªã®ä»æ§</h1> -<h2 class="chapter"><a name="TOC0"></a>1 ã·ã¹ãã COMETIIã®ä»æ§</h2> - -<h3 class="section"><a name="TOC1"></a>1.1 ãã¼ãã¦ã§ã¢ã®ä»æ§</h3> - - <ol type=1 start=1> -<li>1èªã¯16ãããã§ããã®ãããæ§æã¯ã次ã®ã¨ããã§ããã - - <pre class="verbatim"> ä¸ä½8ããã ä¸ä½8ããã - | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |ï¼ãããçªå·ï¼ - â - 符å·ï¼è² :1ãéè² :0ï¼ -</pre> - - <li>ä¸»è¨æ¶ã®å®¹éã¯65536èªã§ããã®ã¢ãã¬ã¹ã¯0ï½65535çªå°ã§ããã - - <li>æ°å¤ã¯ã16ãããã®2鲿°ã§è¡¨ç¾ãããè² æ°ã¯ã2ã®è£æ°ã§è¡¨ç¾ããã - - <li>å¶å¾¡æ¹å¼ã¯é次å¶å¾¡ã§ãå½ä»¤èªã¯1èªé·åã¯2èªé·ã§ããã - - <li>ã¬ã¸ã¹ã¿ã¨ãã¦ã<code>GR</code>ï¼16ãããï¼ã<code>SP</code>ï¼16ãããï¼ã<code>PR</code>ï¼16ãããï¼ã<code>FR</code>ï¼3ãããï¼ã® 4 種é¡ãããã - - <p><code>GR</code>ï¼æ±ç¨ã¬ã¸ã¹ã¿ãGeneral Registerï¼ã¯ã<code>GR0</code>ï½<code>GR7</code>ã®8åãããã -ç®è¡ãè«çãæ¯è¼ãã·ãããªã©ã®æ¼ç®ã«ç¨ããã -ãã®ãã¡ã<code>GR1</code>ï½<code>GR7</code>ã®ã¬ã¸ã¹ã¿ã¯ãææ¨ã¬ã¸ã¹ã¿ï¼index registerï¼ -ã¨ãã¦ã¢ãã¬ã¹ã®ä¿®é£¾ã«ãç¨ããã - - <p><code>SP</code>ï¼ã¹ã¿ãã¯ãã¤ã³ã¿ãStack Pointerï¼ã¯ã -ã¹ã¿ãã¯ã®æä¸æ®µã®ã¢ãã¬ã¹ãä¿æãã¦ããã - - <p><code>PR</code>ï¼ããã°ã©ã ã¬ã¸ã¹ã¿ãProgram Registerï¼ã¯ã -次ã«å®è¡ãã¹ãå½ä»¤èªã®å é ã¢ãã¬ã¹ãä¿æãã¦ããã - - <p><code>FR</code>ï¼ãã©ã°ã¬ã¸ã¹ã¿ãFlag Registerï¼ã¯ã -<code>OF</code>ï¼Overflow Flagï¼ã<code>SF</code>ï¼Sign Flagï¼ã<code>ZF</code>ï¼Zero Flagï¼ã¨å¼ã¶ -3åã®ããããããªããæ¼ç®å½ä»¤ãªã©ã®å®è¡ã«ãã£ã¦æ¬¡ã®å¤ãè¨å®ãããã -ãããã®å¤ã¯ãæ¡ä»¶ä»ãåå²å½ä»¤ã§åç §ãããã - - <dl> -<dt><code>OF</code><dd>ç®è¡æ¼ç®å½ä»¤ã®å ´åã¯ãæ¼ç®çµæã-32768ï½32767ã«åã¾ããªããªã£ãã¨ã1ã«ãªãã -ãã以å¤ã®ã¨ã0ã«ãªãã -è«çæ¼ç®å½ä»¤ã®å ´åã¯ãæ¼ç®çµæã0ï½65535ã«åã¾ããªããªã£ãã¨ã1ã«ãªãã -ãã以å¤ã®ã¨ã0ã«ãªãã - - <br><dt><code>SF</code><dd>æ¼ç®çµæã®ç¬¦å·ãè² ï¼ãããçªå·15ã1ï¼ã®ã¨ã1ããã以å¤ã®ã¨ã0ã«ãªãã - - <br><dt><code>ZF</code><dd>æ¼ç®çµæãé¶ï¼å ¨é¨ã®ãããã0ï¼ã®ã¨ã1ããã以å¤ã®ã¨ã0ã«ãªãã -</dl> - - <li>è«çå ç®åã¯è«çæ¸ç®ã¯ã被æ¼ç®ãã¼ã¿ã符å·ã®ãªãæ°å¤ã¨ã¿ãªãã¦ã -å ç®åã¯æ¸ç®ããã - </ol> - -<h3 class="section"><a name="TOC2"></a>1.2 å½ä»¤</h3> - - <p>å½ä»¤ã®å½¢å¼åã³ãã®æ©è½ã示ãã -ããã§ãä¸ã¤ã®å½ä»¤ã³ã¼ãã«å¯¾ã2種é¡ã®ãªãã©ã³ããããå ´åã -䏿®µã¯ã¬ã¸ã¹ã¿éã®å½ä»¤ã䏿®µã¯ã¬ã¸ã¹ã¿ã¨ä¸»è¨æ¶éã®å½ä»¤ã表ãã - - <ol type=1 start=1> -<li>ãã¼ããã¹ãã¢ããã¼ãã¢ãã¬ã¹å½ä»¤ - <p><table summary=""><tr align="left"><th valign="top" width="25%">å½ä»¤ </th><th valign="top" width="10%">æ¸ãæ¹ <br> å½ä»¤ã³ã¼ã </th><th valign="top" width="15%">æ¸ãæ¹ <br> ãªãã©ã³ã </th><th valign="top" width="30%">å½ä»¤ã®èª¬æ </th><th valign="top" width="20%">FRã®è¨å® -<br></th></tr><tr align="left"><td valign="top" width="25%">ãã¼ã <br> LoaD </td><td valign="top" width="10%"><code>LD</code> </td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>r1 â (r2)</code> <br> —— <br> <code>r â (å®å¹ã¢ãã¬ã¹)</code> </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯<code>0</code>ãè¨å®ãããã -<br></td></tr><tr align="left"><td valign="top" width="25%">ã¹ã㢠<br> STore </td><td valign="top" width="10%"><code>ST</code> </td><td valign="top" width="15%"><code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>å®å¹ã¢ãã¬ã¹ â (r)</code> </td><td valign="top" width="20%">– -<br></td></tr><tr align="left"><td valign="top" width="25%">ãã¼ãã¢ãã¬ã¹ <br> Load ADdress </td><td valign="top" width="10%"><code>LAD</code> </td><td valign="top" width="15%"><code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>r â å®å¹ã¢ãã¬ã¹</code> </td><td valign="top" width="20%">– - <br></td></tr></table> - - <li>ç®è¡ãè«çæ¼ç®å½ä»¤ - <p><table summary=""><tr align="left"><th valign="top" width="25%">å½ä»¤ </th><th valign="top" width="10%">æ¸ãæ¹ <br> å½ä»¤ã³ã¼ã </th><th valign="top" width="15%">æ¸ãæ¹ <br> ãªãã©ã³ã </th><th valign="top" width="30%">å½ä»¤ã®èª¬æ </th><th valign="top" width="20%">FRã®è¨å® -<br></th></tr><tr align="left"><td valign="top" width="25%">ç®è¡å ç® <br> ADD Arithmetic </td><td valign="top" width="10%"><code>ADDA</code> </td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>r1 â (r1) + (r2)</code> <br> —— <br> <code>r â (r) + (å®å¹ã¢ãã¬ã¹)</code> </td><td valign="top" width="20%">â -<br></td></tr><tr align="left"><td valign="top" width="25%">è«çå ç® <br> ADD Logical </td><td valign="top" width="10%"><code>ADDL</code> </td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>r1 â (r1) +L (r2)</code> <br> —— <br> <code>r â (r) +L (å®å¹ã¢ãã¬ã¹)</code> </td><td valign="top" width="20%">â -<br></td></tr><tr align="left"><td valign="top" width="25%">ç®è¡æ¸ç® <br> SUBtract Arithmetic </td><td valign="top" width="10%"><code>SUBA</code> </td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>r1 â (r1) - (r2)</code> <br> —— <br> <code>r â (r) - (å®å¹ã¢ãã¬ã¹)</code> </td><td valign="top" width="20%">â -<br></td></tr><tr align="left"><td valign="top" width="25%">è«çæ¸ç® <br> SUBtract Logical </td><td valign="top" width="10%"><code>SUBL</code> </td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>r1 â (r1) - L(r2)</code> <br> —— <br> <code>r â (r) - L(å®å¹ã¢ãã¬ã¹)</code> </td><td valign="top" width="20%">â -<br></td></tr><tr align="left"><td valign="top" width="25%">è«çç© <br> AND </td><td valign="top" width="10%"><code>AND</code> </td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>r1 â (r1) AND (r2)</code> <br> —— <br> <code>r â (r) AND (å®å¹ã¢ãã¬ã¹)</code> </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯<code>0</code>ãè¨å®ãããã -<br></td></tr><tr align="left"><td valign="top" width="25%">è«çå <br> OR </td><td valign="top" width="10%"><code>OR</code> </td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>r1 â (r1) OR (r2)</code> <br> —— <br> <code>r â (r) OR (å®å¹ã¢ãã¬ã¹)</code> </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯<code>0</code>ãè¨å®ãããã -<br></td></tr><tr align="left"><td valign="top" width="25%">æä»çè«çå <br> eXclusive OR </td><td valign="top" width="10%"><code>XOR</code> </td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>r1 â (r1) XOR (r2)</code> <br> —— <br> <code>r â (r) XOR (å®å¹ã¢ãã¬ã¹)</code> </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯<code>0</code>ãè¨å®ãããã - <br></td></tr></table> - - <li>æ¯è¼æ¼ç®å½ä»¤ - <p><table summary=""><tr align="left"><th valign="top" width="25%">å½ä»¤ </th><th valign="top" width="10%">æ¸ãæ¹ <br> å½ä»¤ã³ã¼ã </th><th valign="top" width="15%">æ¸ãæ¹ <br> ãªãã©ã³ã </th><th valign="top" width="30%">å½ä»¤ã®èª¬æ </th><th valign="top" width="20%">FRã®è¨å® -<br></th></tr><tr align="left"><td valign="top" width="25%">ç®è¡æ¯è¼ <br> ComPare Arithmetic </td><td valign="top" width="10%"><code>CPA</code></td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>(r1)</code>ã¨<code>(r2)</code>ãåã¯<code>(r)</code>ã¨<code>(å®å¹ã¢ãã¬ã¹)</code>ã®ç®è¡æ¯è¼ãè¡ããæ¯è¼çµæã«ãã£ã¦ã<code>FR</code>ã«æ¬¡ã®å¤ãè¨å®ããã - <dl> -<dt><dfn>æ¯è¼çµæ</dfn><dd>FRã®å¤ -<br><dt><code>(r1) > (r2)</code><dfn> å㯠</dfn><code>(r) > (å®å¹ã¢ãã¬ã¹)</code><dd><code>SF:0, ZF:0</code> -<br><dt><code>(r1) = (r2)</code><dfn> å㯠</dfn><code>(r) = (å®å¹ã¢ãã¬ã¹)</code><dd><code>SF:0, ZF:1</code> -<br><dt><code>(r1) < (r2)</code><dfn> å㯠</dfn><code>(r) < (å®å¹ã¢ãã¬ã¹)</code><dd><code>SF:1, ZF:0</code> -</dl> - </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯<code>0</code>ãè¨å®ãããã -<br></td></tr><tr align="left"><td valign="top" width="25%">è«çæ¯è¼ <br> ComPare Logical </td><td valign="top" width="10%"><code>CPL</code> </td><td valign="top" width="15%"><code>r1,r2</code> <br> —— <br> <code>r,adr[,x]</code> </td><td valign="top" width="30%"><code>(r1)</code>ã¨<code>(r2)</code>ãåã¯<code>(r)</code>ã¨<code>(å®å¹ã¢ãã¬ã¹)</code>ã®è«çæ¯è¼ãè¡ããæ¯è¼çµæã«ãã£ã¦ã<code>FR</code>ã«æ¬¡ã®å¤ãè¨å®ããã - <dl> -<dt><dfn>æ¯è¼çµæ</dfn><dd>FRã®å¤ -<br><dt><code>(r1) > (r2)</code><dfn> å㯠</dfn><code>(r) > (å®å¹ã¢ãã¬ã¹)</code><dd><code>SF:0</code>, <code>ZF:0</code> -<br><dt><code>(r1) = (r2)</code><dfn> å㯠</dfn><code>(r) = (å®å¹ã¢ãã¬ã¹)</code><dd><code>SF:0</code>, <code>ZF:1</code> -<br><dt><code>(r1) < (r2)</code><dfn> å㯠</dfn><code>(r) < (å®å¹ã¢ãã¬ã¹)</code><dd><code>SF:1</code>, <code>ZF:0</code> -</dl> - </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯<code>0</code>ãè¨å®ãããã - <br></td></tr></table> - - <li>ã·ããæ¼ç®å½ä»¤ - <p><table summary=""><tr align="left"><th valign="top" width="25%">å½ä»¤ </th><th valign="top" width="10%">æ¸ãæ¹ <br> å½ä»¤ã³ã¼ã </th><th valign="top" width="15%">æ¸ãæ¹ <br> ãªãã©ã³ã </th><th valign="top" width="30%">å½ä»¤ã®èª¬æ </th><th valign="top" width="20%">FRã®è¨å® -<br></th></tr><tr align="left"><td valign="top" width="25%">ç®è¡å·¦ã·ãã <br> Shift Left Arithmetic </td><td valign="top" width="10%"><code>SLA</code> </td><td valign="top" width="15%"><code>r,adr[,x]</code> </td><td valign="top" width="30%">符å·ãé¤ã<code>(r)</code>ãå®å¹ã¢ãã¬ã¹ã§æå®ãããããæ°ã ãå·¦ã«ã·ãããããã·ããã®çµæã空ãããããä½ç½®ã«ã¯ã<code>0</code>ãå ¥ãã </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯ã¬ã¸ã¹ã¿ããæå¾ã«éãåºããããããã®å¤ãè¨å®ãããã -<br></td></tr><tr align="left"><td valign="top" width="25%">ç®è¡å³ã·ãã <br> Shift Right Arithmetic </td><td valign="top" width="10%"><code>SRA</code> </td><td valign="top" width="15%"><code>r,adr[,x]</code> </td><td valign="top" width="30%">符å·ãé¤ã<code>(r)</code>ãå®å¹ã¢ãã¬ã¹ã§æå®ãããããæ°ã ãå³ã«ã·ãããããã·ããã®çµæã空ãããããä½ç½®ã«ã¯ã符å·ã¨åããã®ãå ¥ãã </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯ã¬ã¸ã¹ã¿ããæå¾ã«éãåºããããããã®å¤ãè¨å®ãããã -<br></td></tr><tr align="left"><td valign="top" width="25%">è«çå·¦ã·ãã <br> Shift Left Logical </td><td valign="top" width="10%"><code>SLL</code> </td><td valign="top" width="15%"><code>r,adr[,x]</code> </td><td valign="top" width="30%">符å·ãå«ã¿<code>(r)</code>ãå®å¹ã¢ãã¬ã¹ã§æå®ãããããæ°ã ãå·¦ã«ã·ãããããã·ããã®çµæ,空ãããããä½ç½®ã«ã¯<code>0</code>ãå ¥ãã </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯ã¬ã¸ã¹ã¿ããæå¾ã«éãåºããããããã®å¤ãè¨å®ãããã -<br></td></tr><tr align="left"><td valign="top" width="25%">è«çå³ã·ãã <br> Shift Right Logical </td><td valign="top" width="10%"><code>SRL</code> </td><td valign="top" width="15%"><code>r,adr[,x]</code> </td><td valign="top" width="30%">符å·ãå«ã¿<code>(r)</code>ãå®å¹ã¢ãã¬ã¹ã§æå®ãããããæ°ã ãå³ã«ã·ãããããã·ããã®çµæã空ãããããä½ç½®ã«ã¯<code>0</code>ãå ¥ãã </td><td valign="top" width="20%">â <br> ãã ãã<code>OF</code>ã«ã¯ã¬ã¸ã¹ã¿ããæå¾ã«éãåºããããããã®å¤ãè¨å®ãããã - <br></td></tr></table> - - <li>åå²å½ä»¤ - <p><table summary=""><tr align="left"><th valign="top" width="25%">å½ä»¤ </th><th valign="top" width="10%">æ¸ãæ¹ <br> å½ä»¤ã³ã¼ã </th><th valign="top" width="15%">æ¸ãæ¹ <br> ãªãã©ã³ã </th><th valign="top" width="30%">å½ä»¤ã®èª¬æ </th><th valign="top" width="20%">FRã®è¨å® -<br></th></tr><tr align="left"><td valign="top" width="25%">æ£åå² <br> Jump on Plus </td><td valign="top" width="10%"><code>JPL</code> </td><td valign="top" width="15%"><code>adr[,x]</code> </td><td valign="top" width="30%"><code>FR</code>ã®å¤ã«ãã£ã¦ãå®å¹ã¢ãã¬ã¹ã«åå²ãããåå²ããªãã¨ãã¯ã次ã®å½ä»¤ã«é²ãã - <dl> -<dt><dfn>åå²ããã¨ãã®</dfn><code>FR</code><dfn>ã®å¤</dfn><dd><code>SF:0, ZF:0</code> -</dl> - </td><td valign="top" width="20%">– -<br></td></tr><tr align="left"><td valign="top" width="25%">è² åå² <br> Jump on MINUS </td><td valign="top" width="10%"><code>JMI</code> </td><td valign="top" width="15%"><code>adr[,x]</code> </td><td valign="top" width="30%"><code>FR</code>ã®å¤ã«ãã£ã¦ãå®å¹ã¢ãã¬ã¹ã«åå²ãããåå²ããªãã¨ãã¯ã次ã®å½ä»¤ã«é²ãã - <dl> -<dt><dfn>åå²ããã¨ãã®</dfn><code>FR</code><dfn>ã®å¤</dfn><dd><code>SF:1</code> -</dl> - </td><td valign="top" width="20%">– -<br></td></tr><tr align="left"><td valign="top" width="25%">éé¶åå² <br> Jump on Non Zero </td><td valign="top" width="10%"><code>JNZ</code> </td><td valign="top" width="15%"><code>adr[,x]</code> </td><td valign="top" width="30%"><code>FR</code>ã®å¤ã«ãã£ã¦ãå®å¹ã¢ãã¬ã¹ã«åå²ãããåå²ããªãã¨ãã¯ã次ã®å½ä»¤ã«é²ãã - <dl> -<dt><dfn>åå²ããã¨ãã®</dfn><code>FR</code><dfn>ã®å¤</dfn><dd><code>ZF:0</code> -</dl> - </td><td valign="top" width="20%">– -<br></td></tr><tr align="left"><td valign="top" width="25%">é¶åå² <br> Jump on ZEro </td><td valign="top" width="10%"><code>JZE</code> </td><td valign="top" width="15%"><code>adr[,x]</code> </td><td valign="top" width="30%"><code>FR</code>ã®å¤ã«ãã£ã¦ãå®å¹ã¢ãã¬ã¹ã«åå²ãããåå²ããªãã¨ãã¯ã次ã®å½ä»¤ã«é²ãã - <dl> -<dt><dfn>åå²ããã¨ãã®</dfn><code>FR</code><dfn>ã®å¤</dfn><dd><code>ZF:1</code> -</dl> - </td><td valign="top" width="20%">– -<br></td></tr><tr align="left"><td valign="top" width="25%">ãªã¼ãã¼ããã¼åå² <br> Jump on OVerflow </td><td valign="top" width="10%"><code>JOV</code> </td><td valign="top" width="15%"><code>adr[,x]</code> </td><td valign="top" width="30%"><code>FR</code>ã®å¤ã«ãã£ã¦ãå®å¹ã¢ãã¬ã¹ã«åå²ãããåå²ããªãã¨ãã¯ã次ã®å½ä»¤ã«é²ãã - <dl> -<dt><dfn>åå²ããã¨ãã®</dfn><code>FR</code><dfn>ã®å¤</dfn><dd><code>OF:1</code> -</dl> - </td><td valign="top" width="20%">– -<br></td></tr><tr align="left"><td valign="top" width="25%">ç¡æ¡ä»¶åå² <br> unconditional Jump </td><td valign="top" width="10%"><code>JUMP</code> </td><td valign="top" width="15%"><code>adr[,x]</code> </td><td valign="top" width="30%">ç¡æ¡ä»¶ã«å®å¹ã¢ãã¬ã¹ã«åå²ããã </td><td valign="top" width="20%">– - <br></td></tr></table> - - <li>ã¹ã¿ãã¯æä½å½ä»¤ - <p><table summary=""><tr align="left"><th valign="top" width="25%">å½ä»¤ </th><th valign="top" width="10%">æ¸ãæ¹ <br> å½ä»¤ã³ã¼ã </th><th valign="top" width="15%">æ¸ãæ¹ <br> ãªãã©ã³ã </th><th valign="top" width="30%">å½ä»¤ã®èª¬æ </th><th valign="top" width="20%">FRã®è¨å® -<br></th></tr><tr align="left"><td valign="top" width="25%">ããã·ã¥ <br> PUSH </td><td valign="top" width="10%"><code>PUSH</code> </td><td valign="top" width="15%"><code>adr[,x]</code> </td><td valign="top" width="30%"><code>SP â (SP)-L1</code>, <br> <code>(SP)â (å®å¹ã¢ãã¬ã¹)</code> </td><td valign="top" width="20%">– -<br></td></tr><tr align="left"><td valign="top" width="25%">ããã <br> POP </td><td valign="top" width="10%"><code>POP</code> </td><td valign="top" width="15%"><code>r</code> </td><td valign="top" width="30%"><code>r â ( (SP) )</code>, <br> <code>SP â (SP) +L 1</code> </td><td valign="top" width="20%">– - <br></td></tr></table> - - <li>ã³ã¼ã«ããªã¿ã¼ã³å½ä»¤ - <p><table summary=""><tr align="left"><th valign="top" width="25%">å½ä»¤ </th><th valign="top" width="10%">æ¸ãæ¹ <br> å½ä»¤ã³ã¼ã </th><th valign="top" width="15%">æ¸ãæ¹ <br> ãªãã©ã³ã </th><th valign="top" width="30%">å½ä»¤ã®èª¬æ </th><th valign="top" width="20%">FRã®è¨å® -<br></th></tr><tr align="left"><td valign="top" width="25%">ã³ã¼ã« <br> CALL subroutine </td><td valign="top" width="10%"><code>CALL</code> </td><td valign="top" width="15%"><code>adr[,x]</code> </td><td valign="top" width="30%"><code>SP â (SP)-L 1</code>, <br> <code>(SP) â (PR)</code>, <br> <code>PR â å®å¹ã¢ãã¬ã¹</code> </td><td valign="top" width="20%">– -<br></td></tr><tr align="left"><td valign="top" width="25%">ãªã¿ã¼ã³ <br> RETrun form subroutine </td><td valign="top" width="10%"><code>RET</code> </td><td valign="top" width="15%"></td><td valign="top" width="30%"><code>PR â ( (SP) )</code>, <br> <code>SP â (SP) +L 1</code> </td><td valign="top" width="20%">– - <br></td></tr></table> - - <li>ãã®ä» - <p><table summary=""><tr align="left"><th valign="top" width="25%">å½ä»¤ </th><th valign="top" width="10%">æ¸ãæ¹ <br> å½ä»¤ã³ã¼ã </th><th valign="top" width="15%">æ¸ãæ¹ <br> ãªãã©ã³ã </th><th valign="top" width="30%">å½ä»¤ã®èª¬æ </th><th valign="top" width="20%">FRã®è¨å® -<br></th></tr><tr align="left"><td valign="top" width="25%">ã¹ã¼ãã¼ãã¤ã¶ã³ã¼ã« <br> SuperVisor CALL </td><td valign="top" width="10%"><code>SVC</code> </td><td valign="top" width="15%"><code>adr[,x]</code> </td><td valign="top" width="30%">å®å¹ã¢ãã¬ã¹ã弿°ã¨ãã¦å²åºããè¡ããå®è¡å¾ã®<code>GR</code>ã¨<code>FR</code>ã¯ä¸å®ã¨ãªãã </td><td valign="top" width="20%">– -<br></td></tr><tr align="left"><td valign="top" width="25%">ãã¼ãªãã¬ã¼ã·ã§ã³ <br> No operation </td><td valign="top" width="10%"><code>NOP</code> </td><td valign="top" width="15%"></td><td valign="top" width="30%">ä½ãããªãã </td><td valign="top" width="20%">– - <br></td></tr></table> - </ol> - - <ul> -<li>注 - <dl> -<dt><code>r</code><dfn>, </dfn><code>r1</code><dfn>, </dfn><code>r2</code><dd>ãããã <code>GR</code>ã示ããæå®ã§ãã<code>GR</code>ã¯<code>GR0</code>ï½<code>GR7</code> - - <br><dt><code>adr</code><dd>ã¢ãã¬ã¹ã示ããæå®ã§ããå¤ã®ç¯å²ã¯<code>0</code>ï½<code>65535</code> - - <br><dt><code>x</code><dd>ææ¨ã¬ã¸ã¹ã¿ã¨ãã¦ç¨ãã<code>GR</code>ã示ããæå®ã§ãã<code>GR</code>ã¯<code>GR1</code>ï½<code>GR7</code> - - <br><dt><code>[ ]</code><dd>[ ]å ã®æå®ã¯çç¥ã§ãããã¨ã示ãã - - <br><dt><code>( )</code><dd>( )å ã®ã¬ã¸ã¹ã¿åã¯ã¢ãã¬ã¹ã«æ ¼ç´ããã¦ããå 容ã示ãã - - <br><dt><code>å®å¹ã¢ãã¬ã¹</code><dd><code>adr</code>ã¨<code>x</code>ã®å 容ã¨ã®è«çå ç®å¤åã¯ãã®å¤ã示ãçªå° - - <br><dt><code>â</code><dd>æ¼ç®çµæãã左辺ã®ã¬ã¸ã¹ã¿åã¯ã¢ãã¬ã¹ã«æ ¼ç´ãããã¨ã示ãã - - <br><dt><code>+L</code><dfn>, </dfn><code>-L</code><dd>è«çå ç®ãè«çæ¸ç®ã示ãã - - <br><dt><code>FR</code><dfn>ã®è¨å®</dfn><dd> - <ul> -<li>â: è¨å®ããããã¨ã示ãã -<li>ã¼: å®è¡åã®å¤ãä¿æããããã¨ã示ãã -</ul> - </dl> - </ul> - -</body></html> - -<!-- - -Local Variables: -coding: utf-8 -End: - ---> diff --git a/doc/install.texi b/doc/install.texi index 07aa820..074c03c 100644 --- a/doc/install.texi +++ b/doc/install.texi @@ -24,38 +24,40 @@ Copyright @copyright{} 2010-2012 j8takagi @end titlepage @node Top, Require, (dir), (dir) +@chapter YACASL2ã®ã¤ã³ã¹ãã¼ã« @menu -* Require:: è¦ä»¶ -* Download:: YACASL2ãã¡ã¤ã«ã®ãã¦ã³ãã¼ã -* Verify:: YACASL2ãã¡ã¤ã«ã®æ¤è¨¼ -* Expand:: YACASL2ãã¡ã¤ã«ã®å±é -* Build:: @file{casl2} @file{comet2} @file{dumpword}ã®ãã«ã -* Simple Test:: @file{casl2}ã®å®è¡ãã¹ã -* Detail Test:: 詳細ãªãã¹ã -* Environment:: ç°å¢å¤æ°ã®è¨å® +* Require:: è¦ä»¶ +* Download:: YACASL2ãã¡ã¤ã«ã®ãã¦ã³ãã¼ã +* Verify:: YACASL2ãã¡ã¤ã«ã®æ¤è¨¼ +* Expand:: YACASL2ãã¡ã¤ã«ã®å±é +* Build:: @file{casl2} @file{comet2} @file{dumpword}ã®ãã«ã +* Simple Test:: @file{casl2}ã®å®è¡ãã¹ã +* Detail Test:: 詳細ãªãã¹ã +* Install:: ã¤ã³ã¹ãã¼ã« +* Environment:: ç°å¢å¤æ°ã®è¨å® @end menu @contents @node Require, Download, Top, Top -@chapter è¦ä»¶ +@unnumberedsec è¦ä»¶ YACASL2ã¯ãLinuxãMac OS Xãªã©ãUNIXç³»ã®OSä¸ã§åä½ãã¾ããç¾å¨åä½ã確èªãã¦ããã®ã¯ãUbuntu Linuxã¨Vine LinuxãMac OS Xã§ãã ã¤ã³ã¹ãã¼ã«æã«ã@command{tar} @command{gcc} @command{make}ãå¿ è¦ã§ããLinuxã§ã¯å¤ãã®å ´åãæ¨æºã§ã¤ã³ã¹ãã¼ã«ããã¦ãã¾ããMac OS Xã®å ´åãXcodeã®ãCommand Line Toolsãã«å«ã¾ãã¾ãã @node Download, Verify, Require, Top -@chapter YACASL2ãã¡ã¤ã«ã®ãã¦ã³ãã¼ã +@section YACASL2ãã¡ã¤ã«ã®ãã¦ã³ãã¼ã @uref{http://www.j8takagi.net/yacasl2/, YACASL2ã®ãµã¤ã}ããã@file{tar.gz}ã¾ãã¯@file{tar.xz}ãã¡ã¤ã«ã¨ã対å¿ããæ¤è¨¼ç¨ãã¡ã¤ã«ããã¦ã³ãã¼ããã¾ãã@uref{http://github.com/j8takagi/YACASL2/downloads/, githubã®ãã¦ã³ãã¼ããã¼ã¸}ãã@file{tar.gz}ãªã©ã®ãã¡ã¤ã«ããã¦ã³ãã¼ããããã¨ãã§ãã¾ãã @node Verify, Expand, Download, Top -@chapter YACASL2ãã¡ã¤ã«ã®æ¤è¨¼ +@section YACASL2ãã¡ã¤ã«ã®æ¤è¨¼ ãã¦ã³ãã¼ããå®äºããããå§ç¸®ãã¡ã¤ã«ãæ¹ç«ããã¦ããªããæ¤è¨¼ãã¾ããæ¤è¨¼ã«ã¯GnuPGåé¢ç½²åããMD5ããã·ã¥å¤ã使ãã¾ãã -@section GnuPGåé¢ç½²åã§ã®æ¤è¨¼ +@subsection GnuPGåé¢ç½²åã§ã®æ¤è¨¼ GnuPGã®@command{gpg}ã§å§ç¸®ãã¡ã¤ã«ãæ¤è¨¼ãã¾ãããã®æ¤è¨¼ãè¡ãã«ã¯ãGnuPGãã¤ã³ã¹ãã¼ã«ãããèªåã®ç§å¯éµã¨å ¬ééµã®ãã¢ã使ããã¦ããå¿ è¦ãããã¾ãã @@ -105,7 +107,7 @@ gpg: depth: 1 valid: 4 signed: 0 trust: 4-, 0q, 0n, 0m, 0f, 0u gpg: Good signature from "j8takagi <j8takagi@@nifty.com>" @end example -@section MD5ããã·ã¥å¤ã§ã®æ¤è¨¼ +@subsection MD5ããã·ã¥å¤ã§ã®æ¤è¨¼ @command{openssl}ã¨@command{diff}ã§å§ç¸®ãã¡ã¤ã«ãæ¤è¨¼ãã¾ãã @@ -115,7 +117,7 @@ Files yacasl2.tar.gz.md5sum and - are identical @end example @node Expand, Build, Verify, Top -@chapter YACASL2ãã¡ã¤ã«ã®å±é +@section YACASL2ãã¡ã¤ã«ã®å±é YACASL2ãã¡ã¤ã«ããã¦ã³ãã¼ããããã@command{tar}ã³ãã³ãã§å±éãã¾ãã @@ -124,7 +126,7 @@ $ @kbd{tar xvzf yacasl2.tar.gz} @end example @node Build, Simple Test, Expand, Top -@chapter @file{casl2} @file{comet2} @file{dumpword}ã®ãã«ã +@section @file{casl2} @file{comet2} @file{dumpword}ã®ãã«ã å±éãããã@command{make}ã³ãã³ãã§@file{casl2} @file{comet2} @file{dumpword}ããã«ããã¾ãã @@ -156,7 +158,7 @@ make[1]: Leaving directory â/home/kazubito/yacasl2/srcâ @end example @node Simple Test, Detail Test, Build, Top -@chapter @file{casl2}ã®å®è¡ãã¹ã +@section @file{casl2}ã®å®è¡ãã¹ã ãã«ãããããæ¬¡ã®ã³ãã³ããæ£å¸¸ã«å®è¡ã§ãããã確èªãã¾ãã æ£å¸¸ã«å®è¡ãããå ´åã¯ããHello, World!ãã¨è¡¨ç¤ºããã¾ãã @@ -166,10 +168,11 @@ $ @kbd{./casl2 as/hello.casl} Hello, World! @end example -@node Detail Test, Environment, Simple Test, Top -@chapter 詳細ãªãã¹ã +@node Detail Test, Install, Simple Test, Top +@section 詳細ãªãã¹ã -次ã®ã³ãã³ããå®è¡ããã¨ãæ£å¸¸ã«ãã«ãã§ãã¦ãããã©ããã詳細ã«ãã¹ãã§ãã¾ãã +@command{make check}ã³ãã³ããå®è¡ããã¨ãæ£å¸¸ã«ãã«ãã§ãã¦ãããã©ããã詳細ã«ãã¹ãã§ãã¾ãã +ãã¹ãã«ã¯ããã°ããæéããããã¾ãã @example $ @kbd{make check} @@ -184,12 +187,40 @@ All tests are succeded. All tests are succeded. @end example -@node Environment, , Detail Test, Top -@chapter ç°å¢å¤æ°ã®è¨å® +@node Install, Environment, Detail Test, Top +@section ã¤ã³ã¹ãã¼ã« + +ãã«ããæåãããã@command{make install}ã³ãã³ãã§å¿ è¦ãªãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ã§ãã¾ãã +åæè¨å®ã§ã¯ããã¼ã ãã£ã¬ã¯ããªã¼ä»¥ä¸ã«YACASL2ã®ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ããã¾ãã + +@example +$ @kbd{make install} +@end example + +ã³ãã³ãå®è¡æã«ãªãã·ã§ã³ãæå®ãããã¨ã§ãã¤ã³ã¹ãã¼ã«å ã®ãã£ã¬ã¯ããªã¼ã夿´ã§ãã¾ãã +ä¾ãã°ã@file{/usr/local}以ä¸ã«ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ããã«ã¯ã +次ã®ããã«ã³ãã³ããå®è¡ãã¾ãã + +@example +$ @kbd{sudo make install prefix=/usr/local} +@end example + +ãªãã·ã§ã³ã®è©³ç´°ã¯æ¬¡ã®ã¨ããã§ãã + +@multitable @columnfractions .20 .50 .30 +@headitem ãªãã·ã§ã³ @tab 説æ @tab åæè¨å® +@item @var{prefix} @tab ã¤ã³ã¹ãã¼ã«æã®ã«ã¼ããã¡ã¤ã« @tab @file{~} +@item @var{bindir} @tab å®è¡ãã¡ã¤ã«ã®ã¤ã³ã¹ãã¼ã«å @tab @file{$prefix/bin} +@item @var{infodir} @tab infoãã¡ã¤ã«ã®ã¤ã³ã¹ãã¼ã«å @tab @file{$prefix/info} +@item @var{casl2libdir} @tab CASL II ã©ã¤ãã©ãªãã¡ã¤ã«ã®ã¤ã³ã¹ãã¼ã«å @tab @file{$prefix/lib/yacasl2} +@end multitable + +@node Environment, , Install, Top +@section ç°å¢å¤æ°ã®è¨å® ç°å¢å¤æ°@code{PATH}ã@code{CASL2LIB}ãè¨å®ãããã¨ã§ãYACASL2ã使ãããããªãã¾ããç°å¢å¤æ°ã¯ã使ã£ã¦ããã·ã§ã«ã確èªãã¦ããè¨å®ãã¾ãã -@section ã·ã§ã«ã®ç¢ºèª +@unnumberedsubsec ã·ã§ã«ã®ç¢ºèª ç°å¢å¤æ°ã®è¨å®æ¹æ³ã¯ä½¿ã£ã¦ããã·ã§ã«ã«ãã£ã¦ç°ãªãã¾ããã·ã§ã«ã¯ã次ã®ã³ãã³ãã§ç¢ºèªã§ãã¾ãã @@ -200,22 +231,35 @@ $ @kbd{echo $SHELL} ç¾å¨ãã£ã¨ãå¤ã使ããã¦ããã·ã§ã«ã¯ãBASHã§ãããã以ä¸ãBASHã§ã®è¨å®æ¹æ³ã説æãã¾ãã -@section @code{PATH}ã«YACASL2ã®ãã£ã¬ã¯ããªã追å +@subsection @code{PATH}ã®è¨å® -@code{PATH}ã«YACASL2å®è¡ãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªã追å ããã¨ããã£ã¬ã¯ããªã®æå®ãçç¥ãã¦@command{casl2} @command{comet2} @command{dumpword}ãå®è¡ã§ãã¾ããä¾ãã°ãå®è¡ãã¡ã¤ã«ã@file{~/bin}ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã +@code{PATH}ã«YACASL2ã®å®è¡ãã¡ã¤ã«ã®ã¤ã³ã¹ãã¼ã«å ã追å ããã¨ããã£ã¬ã¯ããªã¼ã®æå®ãçç¥ãã¦@command{casl2} @command{comet2} @command{dumpword}ãå®è¡ã§ãã¾ããä¾ãã°ãåæè¨å®ã®ã¾ã¾å®è¡ãã¡ã¤ã«ã@file{~/bin}ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã @example $ @kbd{PATH=$PATH:~/bin && export PATH} @end example -ç°å¢å¤æ°ã®è¨å®ã¯ãã·ã§ã«ã®åæè¨å®ãã¡ã¤ã«ã«è¿½å ãããã¨ã§ãã°ã¤ã³ãããã¨èªåçã«åæ ãããããã«ãªãã¾ããBASHã§ã¯ãã¼ã ãã£ã¬ã¯ããªã«ãã@file{.bashrc}ãåæè¨å®ãã¡ã¤ã«ã§ããæ¬¡ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã +ç°å¢å¤æ°ã®è¨å®ã¯ãã·ã§ã«ã®åæè¨å®ãã¡ã¤ã«ã«è¿½å ãããã¨ã§ãã°ã¤ã³ãããã¨èªåçã«åæ ãããããã«ãªãã¾ããBASHã§ã¯@file{~/.bashrc}ãåæè¨å®ãã¡ã¤ã«ã§ããæ¬¡ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã @example $ @kbd{echo âPATH=$PATH:~/bin && export PATHâ >>~/.bashrc} @end example +@subsection @code{INFOPATH}ã®è¨å® + +@code{INFOPATH}ã«YACASL2ã®Infoãã¡ã¤ã«ãã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªã¼ã追å ããã¨ããã£ã¬ã¯ããªã¼ã®æå®ãçç¥ãã¦@command{casl2} @command{comet2} @command{dumpword}ãå®è¡ã§ãã¾ããä¾ãã°ãåæè¨å®ã®ã¾ã¾Infoãã¡ã¤ã«ã@file{~/share/info}ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã + +@example +$ @kbd{INFOPATH=$INFOPATH:~/share && export INFOPATH} +@end example + +@file{~/.bashrc}ã«ã¯æ¬¡ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã + +@example +$ @kbd{echo 'INFOPATH=$INFOPATH:~/share/info && export INFOPATH' >>~/.bashrc} +@end example -@section @code{CASL2LIB}ã®è¨å® +@subsection @code{CASL2LIB}ã®è¨å® ç°å¢å¤æ°@code{CASL2LIB}ãè¨å®ãã¦ããã°ãCASL IIããã°ã©ã 使æã«å ±éã©ã¤ãã©ãªãå¼ã³åºãæéãå°ãããªãã¾ããä¾ãã°ãCASL2LIBã@code{~/yacasl2/casl2lib}ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã¯ã次ã®ã³ãã³ãã§è¨å®ã§ãã¾ãã @@ -223,7 +267,7 @@ $ @kbd{echo âPATH=$PATH:~/bin && export PATHâ >>~/.bashrc} $ @kbd{CASL2LIB=~/yacasl2/casl2lib && export CASL2LIB} @end example -BASHã®åæè¨å®ãã¡ã¤ã«@file{.bashrc}ã«ã¯ã次ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã +@file{~/.bashrc}ã«ã¯æ¬¡ã®ã³ãã³ãã§è¿½å ã§ãã¾ãã @example $ @kbd{ echo 'CASL2LIB=~/yacasl2/casl2lib && export CASL2LIB' >>~/.bashrc} diff --git a/doc/manual.texi b/doc/manual.texi index 92298b0..9439f8a 100644 --- a/doc/manual.texi +++ b/doc/manual.texi @@ -3,7 +3,7 @@ @ifnottex @documentlanguage ja_JP @end ifnottex -@setfilename yacasl2 +@setfilename manual @documentencoding UTF-8 @settitle YACASL2 - CASL II å¦çã·ã¹ãã @firstparagraphindent insert diff --git a/doc/yacasl2.info b/doc/yacasl2.info deleted file mode 100644 index 264952b..0000000 --- a/doc/yacasl2.info +++ /dev/null @@ -1,1182 +0,0 @@ -This is yacasl2.info, produced by makeinfo version 4.13 from -manual.texi. - -Copyright (C) 2010-2012 j8takagi - -INFO-DIR-SECTION Programming -START-INFO-DIR-ENTRY -* YACASL2: (yacasl2). CASL II å¦çã·ã¹ãã -* casl2: (yacasl2)casl2 invocation. casl2ã®å¼ã³åºã -* comet2: (yacasl2)comet2 invocation. comet2ã®å¼ã³åºã -* dumpword: (yacasl2)dumpword invocation. dumpwordã®å¼ã³åºã -END-INFO-DIR-ENTRY - - -File: yacasl2.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir) - -* Menu: - -* Overview:: YACASL2ã®æ¦è¦ -* Sample usage:: YACASL2ã®ä½¿ç¨ä¾ -* casl2 invocation:: casl2ã®å¼ã³åºã -* comet2 invocation:: comet2ã®å¼ã³åºã -* dumpword invocation:: dumpwordã®å¼ã³åºã -* CASL2LIB Manual:: CASL2LIBããã¥ã¢ã« - - -File: yacasl2.info, Node: Overview, Next: Sample usage, Prev: Top, Up: Top - -1 YACASL2ã®æ¦è¦ -****************** - - YACASL2ã¯ãUNIXãLinuxã®ã³ãã³ãã©ã¤ã³ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§ -åä½ãããªã¼ãã³ã½ã¼ã¹ã®CASL IIå¦çã·ã¹ãã ã§ãã CASL -IIã¯æ å ±å¦ç試é¨ã§ç¨ããããã¢ã»ã³ãã©è¨èªã§ã -次ã®è³æã«ãã仿§ãå ¬éããã¦ãã¾ãã - - 試é¨ã§ä½¿ç¨ããæ å ±å¦çç¨èªã»ããã°ã©ã è¨èªãªã© Ver - 2.2ï¼å¹³æ24å¹´5æ22æ¥ï¼ - (http://www.jitec.jp/1_13download/shiken_yougo_ver2_2.pdf)ï¼»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ã®æä½ã¯ã端æ«ä¸ã®ã³ãã³ãã©ã¤ã³ã¤ã³ã¿ã¼ãã§ã¤ã¹ã§è¡ãã¾ãã - - -File: yacasl2.info, Node: Sample usage, Next: casl2 invocation, Prev: Overview, Up: Top - -2 YACASL2ã®ä½¿ç¨ä¾ -********************* - - YACASL2 ã¯ãããã¹ããã¡ã¤ã«ã«è¨è¿°ãããCASLããã°ã©ã ãå¦çãã¾ãã -以ä¸ã®ä¾ã§ç¨ããããCASLããã°ã©ã ã®ãã¡ã¤ã«ã¯ã -ããã¹ãã¨ãã£ã¿ãªã©ã§ä½æããããã¤ã³ã¹ãã¼ã«ãããã£ã¬ã¯ããªã® -ä¸ã«ãã`as'ãã£ã¬ã¯ããªããã³ãã¼ãã¦ãã ããã - -* Menu: - -* Simple output:: å®è¡çµæã®åºåã ãã表示 -* Assemble result:: ã¢ã»ã³ãã«çµæã®ç¢ºèª -* Register and memory:: å®è¡æã®ã¬ã¸ã¹ã¿ã¨ã¡ã¢ãªã表示 -* Only assemble:: ã¢ã»ã³ãã«ã¨å®è¡ãå¥ã«è¡ã -* Analyze word:: 1èªã®è§£æ -* Use CASL2LIB:: CASL2ã©ã¤ãã©ãªã®ä½¿ç¨ - - -File: yacasl2.info, Node: Simple output, Next: Assemble result, Prev: Sample usage, Up: Sample usage - -2.1 å®è¡çµæã®åºåã ãã表示 -======================================== - - ã¤ã³ã¹ãã¼ã«æã«ã³ãã³ãå®è¡ã®ç¢ºèªã«ä½¿ã£ã`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 -å ã«ããã¬ã¸ã¹ã¿ãã¡ã¢ãªã®å 容ã表示ããããçµæãåºåããããã®å¦çã追å ããå¿ è¦ãããã¾ãã - - -File: yacasl2.info, Node: Assemble result, Next: Register and memory, Prev: Simple output, Up: Sample usage - -2.2 ã¢ã»ã³ãã«çµæã®ç¢ºèª -================================== - - 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 ã§ã®å®è¡ã¯è¡ããã¾ããã - - -File: yacasl2.info, Node: Register and memory, Next: Only assemble, Prev: Assemble result, Up: Sample usage - -2.3 å®è¡æã®ã¬ã¸ã¹ã¿ã¨ã¡ã¢ãªã表示 -================================================= - - YACASL2ã§ã¯å®è¡ä¸ã®CPUã®ã¬ã¸ã¹ã¿ã¨ã¡ã¢ãªã®å 容ãããããã`-t'ã¨`-d'ãæå®ãããã¨ã§è¡¨ç¤ºã§ãã¾ãã - - ã¾ãã`-M'ã§ãä»®æ³ãã·ã³COMET II ã®ã¡ã¢ãªå®¹éãèª(16 -ããã)åä½ã§æå®ã§ãã¾ãã -å°ããããã°ã©ã ãå®è¡ããã¨ãã¯ãã¡ã¢ãªå®¹éãå°ããããã°çµæãè¦ããããªãã¾ãã - -* Menu: - -* Register specify:: ç¹å®ã®ã¬ã¸ã¹ã¿ã表示 -* End value:: -* Step count:: ããã°ã©ã ã®ã¹ãããæ°ã表示 - - `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 - - -File: yacasl2.info, Node: Register specify, Next: End value, Prev: Register and memory, Up: Register and memory - -2.3.1 ç¹å®ã®ã¬ã¸ã¹ã¿ã表示 ------------------------------------- - - `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' - - -File: yacasl2.info, Node: End value, Next: Step count, Prev: Register specify, Up: Register and memory - -2.3.2 ããã°ã©ã çµäºæã®å¤ã表示 ---------------------------------------------- - - `grep'ã¨`tail'ãçµã¿åãããã°ãããã°ã©ã çµäºæã®å¤ã表示ã§ãã¾ãã - - `addl.casl'ã§ããã°ã©ã çµäºæã®å¤ã確èªããã«ã¯ã次ã®ããã«ãã¾ãã - - $ casl2 -t addl.casl | grep 'GR1:' | tail -1 - #0004: GR1: 4 = #0004 = 0000000000000100 - - `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 - - `sum_10.casl'ã§ãã¡ã¤ã«çµäºæã®å¤ã確èªããã«ã¯ã次ã®ããã«ãã¾ãã - - $ casl2 -t sum_10.casl | grep 'GR0:' | tail -1 - #0010: GR0: 55 = #0037 = 0000000000110111 = '7' - - -File: yacasl2.info, Node: Step count, Prev: End value, Up: Register and memory - -2.3.3 ããã°ã©ã ã®ã¹ãããæ°ã表示 ------------------------------------------------- - - `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 - - -File: yacasl2.info, Node: Only assemble, Next: Analyze word, Prev: Register and memory, Up: Sample usage - -2.4 ã¢ã»ã³ãã«ã¨å®è¡ãå¥ã«è¡ã -=========================================== - - `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 - - ãªãã¸ã§ã¯ããã¡ã¤ã«ã®å®è¡ã«ã¯ã`casl2'ã使ãã¾ãã - - $ comet2 hello.o - Hello, World! - - -File: yacasl2.info, Node: Analyze word, Next: Use CASL2LIB, Prev: Only assemble, Up: Sample usage - -2.5 1èªã®è§£æ -================= - - CASL IIã§ã¯ã1èªï¼1 wordã16ãããï¼ãåä½ã¨ãã¦ãã¼ã¿ãå¦çããã¾ãã -`dumpword'ã¯ãæå®ãã1èªã10鲿°ã16鲿°ã2鲿°ã§è¡¨ç¤ºãã¾ãã - - $ dumpword 72 - 72: 72 = #0048 = 0000000001001000 = 'H' - - -File: yacasl2.info, Node: Use CASL2LIB, Prev: Analyze word, Up: Sample usage - -2.6 CASL2ã©ã¤ãã©ãªã®ä½¿ç¨ -================================= - - YACASL2ã®`as/casl2lib'ãã£ã¬ã¯ããªã«ã¯ãCASL -IIã§è¨è¿°ãããã©ã¤ãã©ãªãã¡ã¤ã«ãæ ¼ç´ããã¦ãã¾ãã - - ãã®ãã©ã«ãã«ã¯ããã¨ãã°æ¬¡ã®ãããªããã°ã©ã ãå«ã¾ãã¦ãã¾ãã - -`OUTL' - `outl.casl'ã - GR1ã«æ ¼ç´ãããå¤ãã0以ä¸65535以ä¸ã®æ´æ°ã¨ãã¦åºåãã¾ãã - -`OUTA' - `outa.casl'ã - GR1ã«æ ¼ç´ãããå¤ãã-32767以ä¸32767以ä¸ã®æ´æ°ã¨ãã¦åºåãã¾ãã - -`MULL' - `mull.casl'ã - GR1ã¨GR2ã«æ ¼ç´ãããå¤ã0以ä¸65535以ä¸ã®æ´æ°ã¨è¦ãªããç©ãGR3ã«æ ¼ç´ãã¾ãã - -`DIVL' - `divl.casl'ã - GR1ã¨GR2ã«æ ¼ç´ãããå¤ã0以ä¸65535以ä¸ã®æ´æ°ã¨è¦ãªããåãGR3ãå°ä½ãGR0ã«æ ¼ç´ãã¾ãã - -2.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 - - 夿´ããã`casl2'ããè¤æ°ã®ãã¡ã¤ã«ãæå®ãã¦å®è¡ãã¾ãã - - $ casl2 addl_outl.casl ~/yacasl2/as/casl2lib/outl.casl - 4 - - -File: yacasl2.info, Node: casl2 invocation, Next: comet2 invocation, Prev: Sample usage, Up: Top - -3 `casl2'ã®å¼ã³åºã -************************ - - `casl2'ã¯ã弿°ã¨ãã¦æå®ãããCASLãã¡ã¤ã«ãã¢ã»ã³ãã«ããä»®æ³ãã·ã³COMET -IIä¸ã§å®è¡ãã¾ãã CASLãã¡ã¤ã«ã¯ãã¢ã»ã³ãã©è¨èªCASL -IIã§è¨è¿°ãããããã¹ããã¡ã¤ã«ã§ãã -弿°ãæå®ãããªãå ´åã¯ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãã¦çµäºãã¾ãã - - $ casl2 hello.casl - - è¤æ°ã®CASLãã¡ã¤ã«ãæå®ãããã¨ã§ãå¯ããã°ã©ã ãå¼ã³åºããã¨ãã§ãã¾ãã - - $ casl2 addl_outl.casl ~/yacasl2/as/casl2lib/outl.casl - -ãªãã·ã§ã³ ---------------- - - `casl2'ã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã - -`-s' -`--source' - CASLãã¡ã¤ã«ã®å 容ã表示ãã¾ãã - -`-l' -`--label' - ã©ãã«ã®ä¸è¦§ã次ã®å½¢å¼ã§è¡¨ç¤ºãã¾ãã - 表示å¾ãã»ãã®ä½æ¥ãç¶è¡ãã¾ãã - - <ããã°ã©ã å>.<ã©ãã«å> ---> <ã¢ãã¬ã¹ã®16鲿°è¡¨ç¾> - -`-L' -`--labelonly' - `-l'ã¨åãå½¢å¼ã§ã©ãã«ã®ä¸è¦§ã表示ãã¾ãã - 表示å¾ãã»ãã®ä½æ¥ã¯ç¶è¡ãããçµäºãã¾ãã - -`-a' -`--assembledetail' - ã¢ã»ã³ãã«è©³ç´°çµæã表示ããã»ãã®ä½æ¥ãç¶è¡ãã¾ãã - -`-A' -`--assembledetailonly' - ã¢ã»ã³ãã«è©³ç´°çµæã表示ãã¦çµäºãã¾ãã - -`-o<OBJECTFILE>' -`--assembleout<OBJECTFILE>' - ã¢ã»ã³ãã«çµæããªãã¸ã§ã¯ããã¡ã¤ã«`<OBJECTFILE>'ã«åºåããã»ãã®ä½æ¥ãç¶è¡ãã¾ãã - åºåããããªãã¸ã§ã¯ããã¡ã¤ã«ã¯ã`comet2'ã§å®è¡ã§ãã¾ãã - ãªãã¸ã§ã¯ããã¡ã¤ã«ãæå®ããªãå ´åãåºåå ã¯`a.o'ã§ãã - ãªãã¸ã§ã¯ããã¡ã¤ã«ã¯1ã¤ã ãæå®ã§ãã¾ãã - -`-O[<OBJECTFILE>]' -`--assembleoutonly[<OBJECTFILE>]' - ã¢ã»ã³ãã«çµæããªãã¸ã§ã¯ããã¡ã¤ã«`<OBJECTFILE>'ã«åºåããçµäºãã¾ãã - åºåããããªãã¸ã§ã¯ããã¡ã¤ã«ã¯ã`comet2'ã§å®è¡ã§ãã¾ãã - ãªãã¸ã§ã¯ããã¡ã¤ã«ãæå®ããªãå ´åãåºåå ã¯`a.o'ã§ãã - ãªãã¸ã§ã¯ããã¡ã¤ã«ã¯1ã¤ã ãæå®ã§ãã¾ãã - -`-t' -`--trace' -`--tracearithmetic' - ããã°ã©ã å®è¡ä¸ã®ã¬ã¸ã¹ã¿ã®å¤ã次ã®å½¢å¼ã§è¡¨ç¤ºãã¾ãã - - <PRå¤ã®16鲿°è¡¨ç¾>: <ã¬ã¸ã¹ã¿>: <å¤ã®10鲿°è¡¨ç¾> = - <å¤ã®16鲿°è¡¨ç¾> = <å¤ã®2鲿°è¡¨ç¾>[ ='æå'] - - * - `<PRå¤ã®16鲿°è¡¨ç¾>'ã¨`<ã¬ã¸ã¹ã¿>'ã`<å¤ã®16鲿°è¡¨ç¾>'ã¯ã4ããã®16鲿°ã§è¡¨ããã¾ãã - `<PRå¤ã®16鲿°è¡¨ç¾>'ã¨`<å¤ã®16鲿°è¡¨ç¾>'ã«ã¯ãå é ã«`#'ãä»ãã¾ãã - ç¯å²ã¯`#0000'ãã`#FFFF'ã§ã - - * `<å¤ã®10鲿°è¡¨ç¾>'ã¯ç¬¦å·ã®ä»ãã10鲿°ã§ãã - ç¯å²ã¯-32768ãã32767ã§ãã - - * `<å¤ã®2鲿°è¡¨ç¾>'ã¯ã16ããã®2鲿°ã§è¡¨ããã¾ãã - ç¯å²ã¯ã`0000000000000000'ãã`1111111111111111'ã§ã - - * `[ - ='æå']'ã¯ãã¬ã¸ã¹ããªã®å¤ããæåã®çµãã®ç¯å²ã«å«ã¾ããå ´åã«è¡¨ç¤ºããã¾ãã - - 表示ãããã¬ã¸ã¹ã¿ã«ã¯ã次ã®ç¨®é¡ãããã¾ãã - - `GR0 GR1 GR2 GR3 GR4 GR5 GR6 GR7' - æ±ç¨ã¬ã¸ã¹ã¿ - - `SP' - ã¹ã¿ãã¯ãã¤ã³ã¿ - - `PR' - ããã°ã©ã ã¬ã¸ã¹ã¿ - - `FR' - ãã©ã°ã¬ã¸ã¹ã¿ - - ä¾ãã°ã次ã®ããã«è¡¨ç¤ºããã¾ãã - - #0002: GR1: 3 = #0003 = 0000000000000011 - -`-T' -`--tracelogical' - `-t'ã¨åãããã«ãããã°ã©ã å®è¡ä¸ã®ã¬ã¸ã¹ã¿ã®å¤ã表示ãã¾ãã - ãã ã`-t'ã¨ç°ãªãã`<å¤ã®10鲿°è¡¨ç¾>'ã¯ç¬¦å·ã®ä»ããªã10鲿°ã§ãã - å¤ã®ç¯å²ã¯0ãã65535ã§ãã - -`-d' -`--dump' - ã¡ã¢ãªã®å 容ããã¹ã¦è¡¨ç¤ºãã¾ãã - -`-M <MEMORYSIZE>' -`--memorysize <MEMORYSIZE>' - ã¢ã»ã³ãã«ããã³å®è¡æã®ã¡ã¢ãªãµã¤ãº`<MEMORYSIZE>'ã0ãã65535ã®ç¯å²ã§æå®ãã¾ãã - æå®ããªãå ´åã512ã§ãã - -`-C <CLOCKS>' -`--clocks <CLOCKS>' - å®è¡æã®ã¯ããã¯å¨æ³¢æ°`<CLOCKS>'ã0ãã大ããæ´æ°ã§æå®ãã¾ãã - æå®ããªãå ´åãã¯ããã¯å¨æ³¢æ°ã¯5000000ã§ãã - -`-v' -`--version' - `casl2'ã®ãã¼ã¸ã§ã³ã表示ãã¦çµäºãã¾ãã - -`-h' -`--help' - `casl2'ã®ä½¿ç¨æ¹æ³ã表示ãã¦çµäºãã¾ãã - - -File: yacasl2.info, Node: comet2 invocation, Next: dumpword invocation, Prev: casl2 invocation, Up: Top - -4 `comet2'ã®å¼ã³åºã -************************* - - `comet2'ã¯ã弿°ã¨ãã¦æå®ããããªãã¸ã§ã¯ããã¡ã¤ã«ãä»®æ³ãã·ã³COMET -IIä¸ã§å®è¡ãã¾ãã -ãªãã¸ã§ã¯ããã¡ã¤ã«ã¯ã`casl'ã«`-o'ã¾ãã¯`-O'ãæå®ãã¦åºåãã¾ãã - - $ comet2 hello.o - - 弿°ã§æå®ã§ãããªãã¸ã§ã¯ããã¡ã¤ã«ã¯1ã¤ã ãã§ãã -弿°ãæå®ãããªãå ´åã¯ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ãã¦çµäºãã¾ãã -è¤æ°ã®å¼æ°ãæå®ããå ´åã2çªç®ä»¥éã®å¼æ°ã¯ç¡è¦ããã¾ãã - -ãªãã·ã§ã³ ---------------- - - `comet2'ã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã - -`-t' -`--trace' -`--tracearithmetic' - ããã°ã©ã å®è¡ä¸ã®ã¬ã¸ã¹ã¿ã®å¤ã次ã®å½¢å¼ã§è¡¨ç¤ºãã¾ãã - `<å¤ã®10鲿°è¡¨ç¾>'ã¯ç¬¦å·ã®ä»ãã10鲿°ã§ãã - ç¯å²ã¯-32768ãã32767ã§ãã - - <PRå¤ã®16鲿°è¡¨ç¾>: <ã¬ã¸ã¹ã¿>: <å¤ã®10鲿°è¡¨ç¾> = <å¤ã®16鲿°è¡¨ç¾> = <å¤ã®2鲿°è¡¨ç¾>[ ='æå'] - - * - `<PRå¤ã®16鲿°è¡¨ç¾>'ã¨`<å¤ã®16鲿°è¡¨ç¾>'ã¯ãå é ã«`#'ãä»ãã4ããã®16鲿°ã§è¡¨ããã¾ãã - ç¯å²ã¯ã`#0000'ãã`#FFFF'ã§ã - - * `<å¤ã®2鲿°è¡¨ç¾>'ã¯ã16ããã®2鲿°ã§è¡¨ããã¾ãã - ç¯å²ã¯ã`0000000000000000'ãã`1111111111111111'ã§ã - - * `[ - ='æå']'ã¯ãã¬ã¸ã¹ããªã®å¤ããæåã®çµãã®ç¯å²ã«å«ã¾ããå ´åã«è¡¨ç¤ºããã¾ãã - - ä¾ãã°ã次ã®ããã«è¡¨ç¤ºããã¾ãã - - #0002: GR1: 3 = #0003 = 0000000000000011 - - 表示ãããã¬ã¸ã¹ã¿ã«ã¯ã次ã®ç¨®é¡ãããã¾ãã - - `GR0 GR1 GR2 GR3 GR4 GR5 GR6 GR7' - æ±ç¨ã¬ã¸ã¹ã¿ - - `SP' - ã¹ã¿ãã¯ãã¤ã³ã¿ - - `PR' - ããã°ã©ã ã¬ã¸ã¹ã¿ - - `FR' - ãã©ã°ã¬ã¸ã¹ã¿ - -`-T' -`--tracelogical' - `-t'ã¨åãããã«ãããã°ã©ã å®è¡ä¸ã®ã¬ã¸ã¹ã¿ã®å¤ã表示ãã¾ãã - ãã ãã`-t'ã¨ç°ãªãã`<å¤ã®10鲿°è¡¨ç¾>'ã¯ç¬¦å·ã®ä»ããªã10鲿°ã§ãã - å¤ã®ç¯å²ã¯0ãã65535ã§ãã - -`-d' -`--dump' - ã¡ã¢ãªã®å 容ããã¹ã¦è¡¨ç¤ºãã¾ãã - -`-M <MEMORYSIZE>' -`--memorysize <MEMORYSIZE>' - å®è¡æã®ã¡ã¢ãªãµã¤ãº`<MEMORYSIZE>'ã0ãã65535ã®ç¯å²ã§æå®ãã¾ãã - æå®ããªãå ´åã512ã§ãã - -`-C <CLOCKS>' -`--clocks <CLOCKS>' - å®è¡æã®ã¯ããã¯å¨æ³¢æ°`<CLOCKS>'ã0ãã大ããæ´æ°ã§æå®ãã¾ãã - æå®ããªãå ´åã5000000ã§ãã - -`-v' -`--version' - `comet2'ã®ãã¼ã¸ã§ã³ã表示ãã¦çµäºãã¾ãã - -`-h' -`--help' - `comet2'ã®ä½¿ç¨æ¹æ³ã表示ãã¦çµäºãã¾ãã - - -File: yacasl2.info, Node: dumpword invocation, Next: CASL2LIB Manual, Prev: comet2 invocation, Up: Top - -5 `dumpword'ã®å¼ã³åºã -*************************** - - `dumpword'ã¯å¼æ°ã¨ãã¦æå®ãããæ°å¤ããæ´æ°ã#0000ãã#FFFFã¾ã§ã®ç¯å²ã®16鲿°ã2鲿°ã§è¡¨ç¤ºãã¾ãã -æåã®çµã«è©²å½ããå ´åã¯ãã = ãã®ãããã«æåã表示ããã¾ãã -弿°ã¯ã10鲿°ã¾ãã¯å é ã«ã#ãã®ä»ãã16鲿°ã§æå®ãã¾ãã -表示ãããæ´æ°ã¯ããªãã·ã§ã³ã«ãã符å·ä»ãã符å·ãªãããæå®ãã¾ãã -ãªãã·ã§ã³ãªãã®å ´åã¯ç¬¦å·ä»ãã§ãã -æ´æ°ã®ç¯å²ã¯ã符å·ä»ãã®å ´åã¯-32768以ä¸32767以ä¸ã符å·ãªãã®å ´åã¯0以ä¸65535以ä¸ã§ãã - - $ dumpword 10 - 10: 10 = #000A = 0000000000001010 = '\n' - - 弿°ãæå®ãããªãå ´åã¯ãä½¿ãæ¹ã表示ãã¦çµäºãã¾ãã -è¤æ°ã®å¼æ°ãæå®ããå ´åã1ã¤ç®ã®å¼æ°ã ãã表示ããã2ã¤ç®ä»¥éã®å¼æ°ã¯ç¡è¦ããã¾ãã - -注æ ------- - - ãã¤ãã¹ã®æ°ã16鲿°ã¯ã·ã§ã«ã®ä»æ§ã«ããããã®ã¾ã¾ã§ã¯æå®ã§ãã¾ããã - - ãã¤ãã¹ã®æ°ãæå®ããã¨ãã¯ã次ã®ããã«`--'ãä»ãã¾ãã - - $ dumpword -- -72 - -72: -72 = #FFB8 = 1111111110111000 - - å é ã«ã#ããä»ãã¦16鲿°ãæå®ããã¨ãã¯ã次ã®ããã«ã'ãã§å²ã¿ã¾ãã - - $ dumpword '#0048' - #0048: 72 = #0048 = 0000000001001000 = 'H' - -ãªãã·ã§ã³ ---------------- - - `dumpword'ã¯ã次ã®ãªãã·ã§ã³ãæå®ã§ãã¾ãã - -`-a' -`--arithmetic' - åºåãããæ´æ°ã®ç¯å²ã-32,768以ä¸32,767以ä¸ã«ãã¾ãã - ãªãã·ã§ã³ãªãã®å ´åã¨åãã§ãã - -`-l' -`--logical' - åºåãããæ´æ°ã®ç¯å²ã0以ä¸65,535以ä¸ã«ãã¾ãã - -`-v' -`--version' - `dumpword'ã®ãã¼ã¸ã§ã³ã表示ãã¦çµäºãã¾ãã - -`-h' -`--help' - `dumpword'ã®ä½¿ç¨æ¹æ³ã表示ãã¦çµäºãã¾ãã - - -File: yacasl2.info, Node: CASL2LIB Manual, Prev: dumpword invocation, Up: Top - -6 CASL2LIBããã¥ã¢ã« -************************* - -* Menu: - -* ABS:: ABS - `abs.casl' -* DIVA:: DIVA - `diva.casl' -* DIVL:: DIVL - `divl.casl' -* INL:: INL - `inl.casl' -* L2STR:: L2STR - `l2str.casl' -* MAX:: MAX - `max.casl' -* MINIM:: MINIM - `minim.casl' -* MULA:: MULA - `mula.casl' -* MULL:: MULL - `mull.casl' -* OUTA:: OUTA - `outa.casl' -* OUTB:: OUTB - `outb.casl' -* OUTD_Q15:: OUTD_Q15 - `outd_q15.casl' -* OUTL:: OUTL - `outl.casl' -* REV:: REV - `rev.casl' -* STR2L:: STR2L - `str2l.casl' - - -File: yacasl2.info, Node: ABS, Next: DIVA, Prev: CASL2LIB Manual, Up: CASL2LIB Manual - -6.1 `ABS' - `abs.casl' -====================== - - GR1ã符å·ä»ãæ´æ°ã¨ã¿ãªãã絶対å¤ã«å¤æ - -å ¥å ------- - -`GR1' - 符å·ä»ãæ´æ° - -åºå ------- - -`GR1' - å ¥åãããå¤ã®çµ¶å¯¾å¤ - -`OF' - å ¥åãããå¤ã-32768ã®å ´åã1 - -`SF' - å ¥åãããå¤ãè² æ°ï¼-32767ãã-1ï¼ã®å ´åã1 - -ä¾åããå¯ããã°ã©ã ------------------------------- - - ãªã - -使ç¨ä¾ ---------- - - ;;; CASL2LIB > ABSãå¼ã³åºãã-1ã®çµ¶å¯¾å¤ã表示 - MAIN START - LD GR1,A - CALL ABS - CALL OUTA - RET - A DC -1 - END - - $ casl2 call_abs.casl $CASL2LIB/abs.casl $CASL2LIB/outa.casl \ - $CASL2LIB/divl.casl $CASL2LIB/rev.casl - 1 - - -File: yacasl2.info, Node: DIVA, Next: DIVL, Prev: ABS, Up: CASL2LIB Manual - -6.2 `DIVA' - `diva.casl' -======================== - - 符å·ä»ãæ´æ°ã®å²ç®ãçç®æ¹å¼ã§è¡ã - -å ¥å ------- - -`GR1' - è¢«é¤æ° - -`GR2' - 餿° - -åºå ------- - -`GR0' - å - -`GR3' - å°ä½ - -`OF' - 次ã®å ´åã1 - * GR2ã0 - - * GR1ã-32768 - - * GR2ã-32768 - -`SF' - åãè² æ°(-32767ãã-1)ã®å ´åã1 - -`ZF' - åã0ã®å ´åã1 - -ä¾åããå¯ããã°ã©ã ------------------------------- - - * `DIVL' - -使ç¨ä¾ ---------- - - ;; 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 $CASL2LIB/diva.casl $CASL2LIB/divl.casl \ - $CASL2LIB/outa.casl $CASL2LIB/abs.casl $CASL2LIB/rev.casl - -128 - -127 - - -File: yacasl2.info, Node: DIVL, Next: INL, Prev: DIVA, Up: CASL2LIB Manual - -6.3 `DIVL' - `divl.casl' -======================== - - 符å·ãªãæ´æ°ã®å²ç®ãçç®æ¹å¼ã§è¡ã - -å ¥å ------- - -`GR1' - è¢«é¤æ° - -`GR2' - 餿° - -åºå ------- - -`GR0' - å - -`GR3' - å°ä½ - -`OF' - GR2ã0ã®å ´åã1 - -`SF' - åã32768ãã65535ã®å ´åã1 - -`ZF' - åã0ã®å ´åã1 - -ä¾åããå¯ããã°ã©ã ------------------------------- - - ãªã - -使ç¨ä¾ ---------- - - ;; 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 $CASL2LIB/divl.casl $CASL2LIB/outl.casl \ - $CASL2LIB/rev.casl - 256 - 254 - - -File: yacasl2.info, Node: INL, Next: L2STR, Prev: DIVL, Up: CASL2LIB Manual - -6.4 `INL' - `inl.casl' -====================== - - 符å·ãªãæ´æ°ã®å ¥åãåãä»ãã - -å ¥å ------- - -`æ¨æºå ¥å' - 符å·ãªãæ´æ° - -åºå ------- - -`GR1' - å ¥åããã符å·ãªãæ´æ° - -`GR0' - æååã®é·ãã æ°å以å¤ãå ¥åãããå ´åã¯`#FFFF' - -ä¾åããå¯ããã°ã©ã ------------------------------- - - * `STR2L' - -使ç¨ä¾ ---------- - - 次ã®ã³ãã³ããå®è¡ããã¨ãæ°å¤ã®å ¥åãåãä»ããããå ¥åãããæ°å¤ã表示ãããã - - ;;; casl2 -M1024 call_inl.casl $CASL2LIB/inl.casl $CASL2LIB/str2l.casl $CASL2LIB/mull.casl \ - ;;; $CASL2LIB/outl.casl $CASL2LIB/divl.casl $CASL2LIB/rev.casl - MAIN START - LOOP CALL INL ; GR1ã«æ°å¤ãGR0ã«æååã®é·ã - JOV OV - AND GR0,GR0 - JZE FIN - CPL GR0,=#FFFF - JZE NAN - CALL OUTL - JUMP LOOP - OV CPL GR0,=#FFFF - JZE LENOV - OUT OVMSG,MLEN1 - JUMP LOOP - NAN OUT NANMSG,MLEN2 - JUMP LOOP - LENOV OUT LENOVMSG,MLEN3 - FIN RET - OVMSG DC 'Over 65535' - MLEN1 DC 10 - NANMSG DC 'Not integer' - MLEN2 DC 11 - LENOVMSG DC 'Str too long. Stop' - MLEN3 DC 18 - END - - $ casl2 -M1024 call_inl.casl $CASL2LIB/inl.casl $CASL2LIB/str2l.casl $CASL2LIB/mull.casl \ - $CASL2LIB/outl.casl $CASL2LIB/divl.casl $CASL2LIB/rev.casl - - -File: yacasl2.info, Node: L2STR, Next: MAX, Prev: INL, Up: CASL2LIB Manual - -6.5 `L2STR' - `l2str.casl' -========================== - - 符å·ãªãæ´æ°ãæååã«å¤æãã - -å ¥å ------- - -`GR1' - 符å·ãªãæ´æ° - -`GR2' - 夿ããæååãæ ¼ç´ããã¢ãã¬ã¹ - -åºå ------- - -`GR0' - æååã®é·ã - -ä¾åããå¯ããã°ã©ã ------------------------------- - - * `DIVL' - - -File: yacasl2.info, Node: MAX, Next: MINIM, Prev: L2STR, Up: CASL2LIB Manual - -6.6 `MAX' - `max.casl' -====================== - - é£ç¶ããè¤æ°ã®WORDã符å·ä»ãæ´æ°ã¨ã¿ãªãã¦æå¤§å¤ãè¿ã - -å ¥å ------- - -`GR1' - WORDå¤ãæ ¼ç´ããã¢ãã¬ã¹ - -`GR2' - å¤ã®åæ° - -åºå ------- - -`GR0' - æå¤§å¤ - -ä¾åããå¯ããã°ã©ã ------------------------------- - - ãªã - - -File: yacasl2.info, Node: MINIM, Next: MULA, Prev: MAX, Up: CASL2LIB Manual - -6.7 `MINIM' - `minim.casl' -========================== - - é£ç¶ããè¤æ°ã®WORDã符å·ä»ãæ´æ°ã¨ã¿ãªãã¦æå°å¤ãè¿ã - -å ¥å ------- - -`GR1' - WORDå¤ãæ ¼ç´ããã¢ãã¬ã¹ - -`GR2' - å¤ã®åæ° - -åºå ------- - -`GR0' - æå°å¤ - -ä¾åããå¯ããã°ã©ã ------------------------------- - - ãªã - - -File: yacasl2.info, Node: MULA, Next: MULL, Prev: MINIM, Up: CASL2LIB Manual - -6.8 `MULA' - `mula.casl' -======================== - - -File: yacasl2.info, Node: MULL, Next: OUTA, Prev: MULA, Up: CASL2LIB Manual - -6.9 `MULL' - `mull.casl' -======================== - - -File: yacasl2.info, Node: OUTA, Next: OUTB, Prev: MULL, Up: CASL2LIB Manual - -6.10 `OUTA' - `outa.casl' -========================= - - -File: yacasl2.info, Node: OUTB, Next: OUTD_Q15, Prev: OUTA, Up: CASL2LIB Manual - -6.11 `OUTB' - `outb.casl' -========================= - - -File: yacasl2.info, Node: OUTD_Q15, Next: OUTL, Prev: OUTB, Up: CASL2LIB Manual - -6.12 `OUTD_Q15' - `outd_q15.casl' -================================= - - -File: yacasl2.info, Node: OUTL, Next: REV, Prev: OUTD_Q15, Up: CASL2LIB Manual - -6.13 `OUTL' - `outl.casl' -========================= - - -File: yacasl2.info, Node: REV, Next: STR2L, Prev: OUTL, Up: CASL2LIB Manual - -6.14 `REV' - `rev.casl' -======================= - - -File: yacasl2.info, Node: STR2L, Prev: REV, Up: CASL2LIB Manual - -6.15 `STR2L' - `str2l.casl' -=========================== - - - -Tag Table: -Node: Top441 -Node: Overview847 -Node: Sample usage2911 -Node: Simple output3789 -Node: Assemble result5169 -Node: Register and memory8091 -Node: Register specify11230 -Node: End value12267 -Node: Step count13817 -Node: Only assemble14383 -Node: Analyze word15311 -Node: Use CASL2LIB15712 -Node: casl2 invocation17247 -Node: comet2 invocation21748 -Node: dumpword invocation24607 -Node: CASL2LIB Manual26628 -Node: ABS27546 -Node: DIVA28410 -Node: DIVL29644 -Node: INL30755 -Node: L2STR32398 -Node: MAX32812 -Node: MINIM33221 -Node: MULA33637 -Node: MULL33772 -Node: OUTA33906 -Node: OUTB34042 -Node: OUTD_Q1534182 -Node: OUTL34338 -Node: REV34477 -Node: STR2L34609 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: -- 2.18.0