Mar 1, 2002 FORCE CPU-50T、Solaris 8 用 ccドライバのデバッグ (リスト処理可能なバージョンのキットを使った最終的なテスト) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (http://www-online.kek.jp/~inoue/CAMAC/ onl50t-sol8/Desktop/kit-test-50t-list.txt) 高エネルギー加速器研究機構 素粒子原子核研究所 物理、オンライングループ 井上 栄二 (1). 現状確認 (A). Solaris8 6/00 が届いた。 (B). "SOLARIS 8 INSTALLATION 6/00" でインストール時にエラー。 (C). "SOLARIS 8 SOFTWARE 1,2" のメディアを使ってインストールした。 インストール時の指定ミスにより、"couldn't set locale correctly"の メッセージがブート時等にコンソールに表示されてしまう。 (D). "SOLARIS 8 SOFTWARE 1,2" のメディアを使って再インストールした。 (E). /etc の下の各設定、および /export/home の作成をやった。 (F). CPU-50TにSolaris8用の VMEドライバ、FRCvme-2.5 をインストールした、 直後にシステムが起動できなくなった。 (G). "SOLARIS 8 SOFTWARE 1,2" のメディアを使って再インストールした (その2)。 (H). /etc の下の各設定、および /export/home の作成をやった(その2)。 (I). CPU-50TにSolaris8用の VMEドライバ、FRCvme-2.5 をインストールした。 (J). onl50t に ccドライバをインストールした(その2)。 (K). 基本処理の動作は正常にできることを確認した。 -------------------- リスト処理 (A). 公開版のcamacドライバ、"FORCE-50T-sol7-list" を使ってリスト処理の テストを始める。 (B). KEKリスト処理で camacシングルアクション read/write、LAM割り込み 処理、DMA camacブロック転送の現状確認をした。 (C). Kineticリスト処理で camacシングルアクション read の現状確認をした。 (D). KEKリスト処理、Kineticリスト処理両方をとおしてソースプログラム上で 明らかに問題と思われる部分を修正した。 (E). KEKリスト処理でシングルアクション read/write が正常に実行できて いることを確認した。 (F). KEKリスト処理で DMA camacブロック転送 read が正常に実行できて いることを確認した。 (G). KEKリスト処理で LAM割り込み処理が が正常に実行できていることを確認 した。 (H). KEKリスト処理全般に関連する関数の動作を確認した。 (I). Kineticリストで camacにアクセスする関数が正常に動作するのを確認 した。 (J). Kineticリスト処理で リスト・ファイルのセーブおよびロードができる ことを確認した。 さらに KEKリスト処理の中からKineticリスト処理を 実行できることを確認した。 (K). 配布キットを作成した。 (2). ここでやるべきこと onl50t、デスクトップ・システム上で、リスト処理可能バージョンの配布キット を使って最終的なテストをやる。 (3). onl50t 上でデバッグした cc.cファイル一式を入手、再コンパイル、リロード (3-1). CAMACドライバ・キット FORCE-50T-sol8-list を online.kek.jp から入手 onl50t[41]% pwd /export/home/onl50t/inoue/Kit-test-list onl50t[42]% ls -l 合計 0 onl50t[43]% ftp online.kek.jp Connected to onlax2.kek.jp. 220 onlax2.kek.jp FTP server (Compaq Tru64 UNIX Version 5.60) ready. Name (online.kek.jp:inoue): anonymous 331 Guest login ok, send ident as password. Password: 230 Guest login ok, access restrictions apply. ftp> cd pub/kek/camac 250 CWD command successful. ftp> dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls (130.87.219.209,32870). total 4014 -rw-r--r-- 1 0 10 1173 Apr 19 1995 122d_to_e.tar.gz -rw-r--r-- 1 0 10 1153 Mar 16 2001 8vt-sol2.6-driver.html -rw-r--r-- 1 0 10 89611 Oct 20 2000 FORCE-50T-sol2.6-list.tar.Z -rw-r--r-- 1 0 10 48627 Oct 20 2000 FORCE-50T-sol2.6-list.tar.gz -rw-r--r-- 1 0 10 24125 Jul 26 1999 FORCE-50T-sol2.6.tar.gz -rw-r--r-- 1 0 10 98495 Jan 31 16:22 FORCE-50T-sol7-list.tar.Z -rw-r--r-- 1 0 10 53177 Jan 31 16:22 FORCE-50T-sol7-list.tar.gz -rw-r--r-- 1 0 10 68469 Feb 7 2001 FORCE-50T-sol7.tar.Z -rw-r--r-- 1 0 10 39636 Feb 7 2001 FORCE-50T-sol7.tar.gz -rw-r--r-- 1 0 10 98553 Feb 28 10:07 FORCE-50T-sol8-list.tar.Z -rw-r--r-- 1 0 10 53168 Feb 28 10:07 FORCE-50T-sol8-list.tar.gz -rw-r--r-- 1 0 10 22160 Nov 19 1997 FORCE-5V-sol2.5.tar.gz -rw-r--r-- 1 0 10 76149 Mar 22 2001 FORCE-5V-sol7-list.tar.Z -rw-r--r-- 1 0 10 39333 Mar 22 2001 FORCE-5V-sol7-list.tar.gz -rw-r--r-- 1 0 10 2494 Dec 2 1994 README -rw-r--r-- 1 0 10 48076 Jan 21 11:18 SPARC-status.html -rw-r--r-- 1 0 10 21435 Dec 13 1994 camac.sol2-1.30.tar.gz -rw-r--r-- 1 0 10 169539 Aug 18 1993 camac.sparc-1.22b.tar.Z -rw-r--r-- 1 0 10 91662 Aug 18 1993 camac.sparc-1.22b.tar.gz -rw-r--r-- 1 0 10 198417 Aug 19 1993 camac.sparc-1.22c.tar.Z -rw-r--r-- 1 0 10 110755 Aug 19 1993 camac.sparc-1.22c.tar.gz -rw-r--r-- 1 0 10 199103 Sep 4 1993 camac.sparc-1.22d.tar.Z -rw-r--r-- 1 0 10 110752 Sep 4 1993 camac.sparc-1.22d.tar.gz -rw-r--r-- 1 0 10 287493 Apr 20 1995 camacv1.01_decs.tar.Z -rw-r--r-- 1 0 10 231505 Dec 2 1994 camacv1.01_hprt.tar.Z -rw-r--r-- 1 0 10 132002 Dec 2 1994 camacv1.01_hprt.tar.gz -rw-r--r-- 1 0 10 283202 Dec 2 1994 camacv1.0_decs.tar.Z -rw-r--r-- 1 0 10 159495 Dec 2 1994 camacv1.0_decs.tar.gz -rw-r--r-- 1 0 10 216777 Sep 13 1994 camacv1.0_hprt.tar.Z -rw-r--r-- 1 0 10 122114 Sep 13 1994 camacv1.0_hprt.tar.gz -rw-r--r-- 1 0 10 87379 Nov 30 1994 camlib-docs-1.0.tar.Z -rw-r--r-- 1 0 10 51118 Nov 30 1994 camlib-docs-1.0.tar.gz drwxr-xr-x 2 0 10 512 Jul 24 2000 doc -rw-r--r-- 1 0 10 13589 Jan 17 1995 sparc-3ce.tar.gz -rw-r--r-- 1 0 10 233395 Aug 18 1993 tdaq-1.00.tar.Z -rw-r--r-- 1 0 10 121288 Apr 2 1992 tdaq-1.00.tar.gz -rw-r--r-- 1 0 10 277799 Jan 20 1995 vme-3CE.tar.gz 226 Transfer complete. 2853 bytes received in 0.37 seconds (7.58 Kbytes/s) ftp> binary 200 Type set to I. ftp> get FORCE-50T-sol8-list.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for FORCE-50T-sol8-list.tar.gz (130.87.219.209,32871) (53168 bytes). 226 Transfer complete. local: FORCE-50T-sol8-list.tar.gz remote: FORCE-50T-sol8-list.tar.gz 53168 bytes received in 0.033 seconds (1587.82 Kbytes/s) ftp> quit 221 Goodbye. onl50t[44]% ls -l 合計 104 -rw-r--r-- 1 inoue kek 53168 2月 28日 16:32 FORCE-50T-sol8-list.tar.gz onl50t[45]% gzip -d FORCE-50T-sol8-list.tar.gz onl50t[46]% ls -l 合計 656 -rw-r--r-- 1 inoue kek 322560 2月 28日 10:00 FORCE-50T-sol8-list.tar onl50t[47]% tar xvf FORCE-50T-sol8-list.tar x FORCE-50T-sol8-list, 0 bytes, 0 テープブロック x FORCE-50T-sol8-list/Makefile, 2102 bytes, 5 テープブロック x FORCE-50T-sol8-list/README, 4742 bytes, 10 テープブロック x FORCE-50T-sol8-list/cam1.c, 1170 bytes, 3 テープブロック x FORCE-50T-sol8-list/cam2.f, 2336 bytes, 5 テープブロック x FORCE-50T-sol8-list/cam3.c, 2055 bytes, 5 テープブロック x FORCE-50T-sol8-list/camlib.c, 9740 bytes, 20 テープブロック x FORCE-50T-sol8-list/camlib.h, 1415 bytes, 3 テープブロック x FORCE-50T-sol8-list/cc.c, 81531 bytes, 160 テープブロック x FORCE-50T-sol8-list/cc64.c, 93234 bytes, 183 テープブロック x FORCE-50T-sol8-list/cc.conf, 288 bytes, 1 テープブロック x FORCE-50T-sol8-list/cc.h, 2930 bytes, 6 テープブロック x FORCE-50T-sol8-list/cc_common.h, 2288 bytes, 5 テープブロック x FORCE-50T-sol8-list/cc_config.h, 876 bytes, 2 テープブロック x FORCE-50T-sol8-list/forlib.c, 3289 bytes, 7 テープブロック x FORCE-50T-sol8-list/k2917.h, 4058 bytes, 8 テープブロック x FORCE-50T-sol8-list/script, 0 bytes, 0 テープブロック x FORCE-50T-sol8-list/script/awk1.txt, 66 bytes, 1 テープブロック x FORCE-50T-sol8-list/script/awk2.txt, 37 bytes, 1 テープブロック x FORCE-50T-sol8-list/script/cc_build.gcc.sh, 233 bytes, 1 テープブロック x FORCE-50T-sol8-list/script/cc_build.sh, 470 bytes, 1 テープブロック x FORCE-50T-sol8-list/script/cc_link.sh, 1049 bytes, 3 テープブロック x FORCE-50T-sol8-list/script/cc_load.sh, 949 bytes, 2 テープブロック x FORCE-50T-sol8-list/script/cc_unload.sh, 404 bytes, 1 テープブロック x FORCE-50T-sol8-list/camasm, 0 bytes, 0 テープブロック x FORCE-50T-sol8-list/camasm/Makefile, 643 bytes, 2 テープブロック x FORCE-50T-sol8-list/camasm/asm_code.h, 11250 bytes, 22 テープブロック x FORCE-50T-sol8-list/camasm/err_code.h, 1646 bytes, 4 テープブロック x FORCE-50T-sol8-list/camasm/camasm.c, 24762 bytes, 49 テープブロック x FORCE-50T-sol8-list/camlist, 0 bytes, 0 テープブロック x FORCE-50T-sol8-list/camlist/Makefile, 1527 bytes, 3 テープブロック x FORCE-50T-sol8-list/camlist/camtest4c.c, 2151 bytes, 5 テープブロック x FORCE-50T-sol8-list/camlist/camtest4dma.asm, 812 bytes, 2 テープブロック x FORCE-50T-sol8-list/camlist/camtest4int.asm, 903 bytes, 2 テープブロック x FORCE-50T-sol8-list/camlist/camtest4single.asm, 603 bytes, 2 テープブロック x FORCE-50T-sol8-list/camlist/camtest5c.c, 2040 bytes, 4 テープブロック x FORCE-50T-sol8-list/camlist/camtest5c1.c, 2027 bytes, 4 テープブロック x FORCE-50T-sol8-list/camlist/camtest5c2.c, 1994 bytes, 4 テープブロック x FORCE-50T-sol8-list/camlist-kine, 0 bytes, 0 テープブロック x FORCE-50T-sol8-list/camlist-kine/Makefile, 1356 bytes, 3 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam6.asm, 708 bytes, 2 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam6.c, 1880 bytes, 4 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam6a.c, 1541 bytes, 4 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam6b.c, 2983 bytes, 6 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam7.c, 2021 bytes, 4 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam7A.c, 2582 bytes, 6 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam7B.c, 1753 bytes, 4 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam7a.asm, 322 bytes, 1 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam7aA.asm, 322 bytes, 1 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam7b.asm, 679 bytes, 2 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam7bA.asm, 812 bytes, 2 テープブロック x FORCE-50T-sol8-list/camlist-kine/cam7cA.asm, 353 bytes, 1 テープブロック onl50t[48]% (3-2). camac ドライバのキットをコンパイルし直す onl50t[48]% which cc /kek/compilers/ws5.0/SUNWspro/bin/cc onl50t[49]% cc -V cc: WorkShop Compilers 5.0 98/12/15 C 5.0 使用法: cc [オプション] ファイル # 詳細は 'cc -flags' を参照してください onl50t[50]% which f77 /kek/compilers/ws5.0/SUNWspro/bin/f77 onl50t[51]% f77 -V f77: WorkShop Compilers 5.0 98/12/15 FORTRAN 77 5.0 使用法: f77 [ オプション ] ファイル # 詳細は 'f77 -flags' を参照してください。 onl50t[52]% onl50t[52]% pwd /export/home/onl50t/inoue/Kit-test-list onl50t[53]% ls -lR .: 合計 658 drwxr-xr-x 6 inoue kek 512 2月 20日 10:04 FORCE-50T-sol8-list/ -rw-r--r-- 1 inoue kek 322560 2月 28日 10:00 FORCE-50T-sol8-list.tar ./FORCE-50T-sol8-list: 合計 440 -rw-r--r-- 1 inoue kek 2102 12月 18日 2000年 Makefile -rw-r--r-- 1 inoue kek 4742 2月 25日 17:09 README -rw-r--r-- 1 inoue kek 1170 11月 22日 2000年 cam1.c -rw-r--r-- 1 inoue kek 2336 11月 22日 2000年 cam2.f -rw-r--r-- 1 inoue kek 2055 11月 22日 2000年 cam3.c drwxr-xr-x 2 inoue kek 512 2月 13日 15:41 camasm/ -rw-r--r-- 1 inoue kek 9740 12月 18日 2000年 camlib.c -rw-r--r-- 1 inoue kek 1415 11月 22日 2000年 camlib.h drwxr-xr-x 2 inoue kek 512 2月 13日 15:47 camlist/ drwxr-xr-x 2 inoue kek 512 2月 13日 16:00 camlist-kine/ -rw-r--r-- 1 inoue kek 81531 2月 5日 2001年 cc.c -rw-r--r-- 1 inoue kek 288 11月 22日 2000年 cc.conf -rw-r--r-- 1 inoue kek 2930 2月 13日 16:56 cc.h -rw-r--r-- 1 inoue kek 93234 2月 18日 15:12 cc64.c -rw-r--r-- 1 inoue kek 2288 11月 22日 2000年 cc_common.h -rw-r--r-- 1 inoue kek 876 11月 22日 2000年 cc_config.h -rw-r--r-- 1 inoue kek 3289 11月 22日 2000年 forlib.c -rw-r--r-- 1 inoue kek 4058 11月 22日 2000年 k2917.h drwxr-xr-x 2 inoue kek 512 2月 13日 15:38 script/ ./FORCE-50T-sol8-list/camasm: 合計 78 -rw-r--r-- 1 inoue kek 643 7月 23日 2001年 Makefile -rw-r--r-- 1 inoue kek 11250 2月 21日 2001年 asm_code.h -rw-r--r-- 1 inoue kek 24762 2月 21日 2001年 camasm.c -rw-r--r-- 1 inoue kek 1646 2月 21日 2001年 err_code.h ./FORCE-50T-sol8-list/camlist: 合計 28 -rw-r--r-- 1 inoue kek 1527 7月 23日 2001年 Makefile -rw-r--r-- 1 inoue kek 2151 2月 21日 2001年 camtest4c.c -rw-r--r-- 1 inoue kek 812 12月 26日 15:42 camtest4dma.asm -rw-r--r-- 1 inoue kek 903 2月 21日 2001年 camtest4int.asm -rw-r--r-- 1 inoue kek 603 7月 26日 2001年 camtest4single.asm -rw-r--r-- 1 inoue kek 2040 2月 21日 2001年 camtest5c.c -rw-r--r-- 1 inoue kek 2027 2月 21日 2001年 camtest5c1.c -rw-r--r-- 1 inoue kek 1994 2月 21日 2001年 camtest5c2.c ./FORCE-50T-sol8-list/camlist-kine: 合計 44 -rw-r--r-- 1 inoue kek 1356 10月 26日 14:29 Makefile -rw-r--r-- 1 inoue kek 708 11月 20日 16:07 cam6.asm -rw-r--r-- 1 inoue kek 1880 10月 29日 10:03 cam6.c -rw-r--r-- 1 inoue kek 1541 11月 28日 11:02 cam6a.c -rw-r--r-- 1 inoue kek 2983 11月 28日 16:19 cam6b.c -rw-r--r-- 1 inoue kek 2021 12月 3日 11:04 cam7.c -rw-r--r-- 1 inoue kek 2582 12月 10日 14:41 cam7A.c -rw-r--r-- 1 inoue kek 1753 12月 10日 15:06 cam7B.c -rw-r--r-- 1 inoue kek 322 12月 3日 11:03 cam7a.asm -rw-r--r-- 1 inoue kek 322 12月 10日 14:41 cam7aA.asm -rw-r--r-- 1 inoue kek 679 12月 3日 11:04 cam7b.asm -rw-r--r-- 1 inoue kek 812 12月 10日 15:06 cam7bA.asm -rw-r--r-- 1 inoue kek 353 12月 10日 14:41 cam7cA.asm ./FORCE-50T-sol8-list/script: 合計 16 -rw-r--r-- 1 inoue kek 66 11月 22日 2000年 awk1.txt -rw-r--r-- 1 inoue kek 37 11月 22日 2000年 awk2.txt -rwxr-xr-x 1 inoue kek 233 11月 22日 2000年 cc_build.gcc.sh* -rwxr-xr-x 1 inoue kek 470 1月 18日 2001年 cc_build.sh* -rwxr-xr-x 1 inoue kek 1049 1月 31日 13:54 cc_link.sh* -rwxr-xr-x 1 inoue kek 949 11月 22日 2000年 cc_load.sh* -rwxr-xr-x 1 inoue kek 404 11月 22日 2000年 cc_unload.sh* onl50t[54]% onl50t[60]% ls -l 合計 658 drwxr-xr-x 6 inoue kek 512 2月 20日 10:04 FORCE-50T-sol8-list/ -rw-r--r-- 1 inoue kek 322560 2月 28日 10:00 FORCE-50T-sol8-list.tar onl50t[61]% cd FORCE-50T-sol8-list /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol8-list onl50t[62]% ls -l 合計 440 -rw-r--r-- 1 inoue kek 2102 12月 18日 2000年 Makefile -rw-r--r-- 1 inoue kek 4742 2月 25日 17:09 README -rw-r--r-- 1 inoue kek 1170 11月 22日 2000年 cam1.c -rw-r--r-- 1 inoue kek 2336 11月 22日 2000年 cam2.f -rw-r--r-- 1 inoue kek 2055 11月 22日 2000年 cam3.c drwxr-xr-x 2 inoue kek 512 2月 13日 15:41 camasm/ -rw-r--r-- 1 inoue kek 9740 12月 18日 2000年 camlib.c -rw-r--r-- 1 inoue kek 1415 11月 22日 2000年 camlib.h drwxr-xr-x 2 inoue kek 512 2月 13日 15:47 camlist/ drwxr-xr-x 2 inoue kek 512 2月 13日 16:00 camlist-kine/ -rw-r--r-- 1 inoue kek 81531 2月 5日 2001年 cc.c -rw-r--r-- 1 inoue kek 288 11月 22日 2000年 cc.conf -rw-r--r-- 1 inoue kek 2930 2月 13日 16:56 cc.h -rw-r--r-- 1 inoue kek 93234 2月 18日 15:12 cc64.c -rw-r--r-- 1 inoue kek 2288 11月 22日 2000年 cc_common.h -rw-r--r-- 1 inoue kek 876 11月 22日 2000年 cc_config.h -rw-r--r-- 1 inoue kek 3289 11月 22日 2000年 forlib.c -rw-r--r-- 1 inoue kek 4058 11月 22日 2000年 k2917.h drwxr-xr-x 2 inoue kek 512 2月 13日 15:38 script/ onl50t[63]% onl50t[63]% make clean \rm -f cc cc64 *.o libcamac.a cam1 cam2 cam2a cam3 *~ core onl50t[64]% make ./script/cc_build.sh [Building for sun4u] rm -f cc.o cc64.o cc -xarch=v9 -O -c camlib.c -o camlib.o -I. cc -xarch=v9 -O -c forlib.c -o forlib.o -I. rm -f libcamac.a ar rcv libcamac.a camlib.o forlib.o a - camlib.o a - forlib.o ar: writing libcamac.a cc -xarch=v9 -O cam1.c -o cam1 -I. -L. -lcamac f77 -xarch=v9 -fast -O3 -u cam2.f -o cam2 -I. -L. -lcamac cam2.f: MAIN: cc -xarch=v9 -O cam3.c -o cam3 -I. -L. -lcamac onl50t[65]% onl50t[65]% cd camasm /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol8-list/camasm onl50t[66]% make clean rm -f camasm camasm.o *.obj *.lis *~ *.o core onl50t[67]% make cc -xarch=v9 -O camasm.c -o camasm "./asm_code.h", 192 行目: 警告: 初期設定値が適合していないか範囲を超えています: -1 onl50t[68]% onl50t[68]% cd ../camlist /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol8-list/camlist onl50t[69]% make clean rm -f camtest4c camtest5c camtest5c1 camtest5c2 \ camtest4single.obj camtest4dma.obj camtest4int.obj \ core onl50t[70]% make cc -xarch=v9 -o camtest4c camtest4c.c -I.. -L.. -lcamac cc -xarch=v9 -o camtest5c camtest5c.c -I.. -L.. -lcamac cc -xarch=v9 -o camtest5c1 camtest5c1.c -I.. -L.. -lcamac cc -xarch=v9 -o camtest5c2 camtest5c2.c -I.. -L.. -lcamac ../camasm/camasm camtest4single.asm CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm camtest4dma.asm CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm camtest4int.asm CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 onl50t[71]% onl50t[71]% cd ../camlist-kine /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol8-list/camlist-kine onl50t[72]% make clean rm -f cam6 cam6a cam7 cam6b cam7A cam7B *.lis *.obj *~ *.o core *.klist onl50t[73]% make cc -xarch=v9 cam6.c -o cam6 -I.. -L.. -lcamac ../camasm/camasm cam6 a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 cc -xarch=v9 cam6a.c -o cam6a -I.. -L.. -lcamac cc -xarch=v9 cam7.c -o cam7 -I.. -L.. -lcamac ../camasm/camasm cam7a a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm cam7b a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 cc -xarch=v9 cam6b.c -o cam6b -I.. -L.. -lcamac cc -xarch=v9 cam7A.c -o cam7A -I.. -L.. -lcamac ../camasm/camasm cam7aA a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm cam7bA a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 ../camasm/camasm cam7cA a CAMASM macro assembler V0.1 --- KEK online group --- Modified by Y.T Oct-1991 cc -xarch=v9 cam7B.c -o cam7B -I.. -L.. -lcamac onl50t[74]% onl50t[74]% cd .. /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol8-list onl50t[75]% ls -lR .: 合計 1028 -rw-r--r-- 1 inoue kek 2102 12月 18日 2000年 Makefile -rw-r--r-- 1 inoue kek 4742 2月 25日 17:09 README -rwxr-xr-x 1 inoue kek 20296 2月 28日 16:45 cam1* -rw-r--r-- 1 inoue kek 1170 11月 22日 2000年 cam1.c -rwxr-xr-x 1 inoue kek 92896 2月 28日 16:45 cam2* -rw-r--r-- 1 inoue kek 2336 11月 22日 2000年 cam2.f -rwxr-xr-x 1 inoue kek 20512 2月 28日 16:45 cam3* -rw-r--r-- 1 inoue kek 2055 11月 22日 2000年 cam3.c drwxr-xr-x 2 inoue kek 512 2月 28日 17:26 camasm/ -rw-r--r-- 1 inoue kek 9740 12月 18日 2000年 camlib.c -rw-r--r-- 1 inoue kek 1415 11月 22日 2000年 camlib.h -rw-r--r-- 1 inoue kek 23216 2月 28日 16:45 camlib.o drwxr-xr-x 2 inoue kek 512 2月 28日 17:27 camlist/ drwxr-xr-x 2 inoue kek 1024 2月 28日 17:28 camlist-kine/ -rw-r--r-- 1 inoue kek 44856 2月 28日 16:45 cc -rw-r--r-- 1 inoue kek 81531 2月 5日 2001年 cc.c -rw-r--r-- 1 inoue kek 288 11月 22日 2000年 cc.conf -rw-r--r-- 1 inoue kek 2930 2月 13日 16:56 cc.h -rw-r--r-- 1 inoue kek 60920 2月 28日 16:45 cc64 -rw-r--r-- 1 inoue kek 93234 2月 18日 15:12 cc64.c -rw-r--r-- 1 inoue kek 2288 11月 22日 2000年 cc_common.h -rw-r--r-- 1 inoue kek 876 11月 22日 2000年 cc_config.h -rw-r--r-- 1 inoue kek 3289 11月 22日 2000年 forlib.c -rw-r--r-- 1 inoue kek 5144 2月 28日 16:45 forlib.o -rw-r--r-- 1 inoue kek 4058 11月 22日 2000年 k2917.h -rw-r--r-- 1 inoue kek 29220 2月 28日 16:45 libcamac.a drwxr-xr-x 2 inoue kek 512 2月 13日 15:38 script/ ./camasm: 合計 154 -rw-r--r-- 1 inoue kek 643 7月 23日 2001年 Makefile -rw-r--r-- 1 inoue kek 11250 2月 21日 2001年 asm_code.h -rwxr-xr-x 1 inoue kek 38000 2月 28日 17:26 camasm* -rw-r--r-- 1 inoue kek 24762 2月 21日 2001年 camasm.c -rw-r--r-- 1 inoue kek 1646 2月 21日 2001年 err_code.h ./camlist: 合計 204 -rw-r--r-- 1 inoue kek 1527 7月 23日 2001年 Makefile -rwxr-xr-x 1 inoue kek 21712 2月 28日 17:27 camtest4c* -rw-r--r-- 1 inoue kek 2151 2月 21日 2001年 camtest4c.c -rw-r--r-- 1 inoue kek 812 12月 26日 15:42 camtest4dma.asm -rw-r--r-- 1 inoue kek 427 2月 28日 17:27 camtest4dma.obj -rw-r--r-- 1 inoue kek 903 2月 21日 2001年 camtest4int.asm -rw-r--r-- 1 inoue kek 322 2月 28日 17:27 camtest4int.obj -rw-r--r-- 1 inoue kek 603 7月 26日 2001年 camtest4single.asm -rw-r--r-- 1 inoue kek 195 2月 28日 17:27 camtest4single.obj -rwxr-xr-x 1 inoue kek 21304 2月 28日 17:27 camtest5c* -rw-r--r-- 1 inoue kek 2040 2月 21日 2001年 camtest5c.c -rwxr-xr-x 1 inoue kek 21296 2月 28日 17:27 camtest5c1* -rw-r--r-- 1 inoue kek 2027 2月 21日 2001年 camtest5c1.c -rwxr-xr-x 1 inoue kek 21296 2月 28日 17:27 camtest5c2* -rw-r--r-- 1 inoue kek 1994 2月 21日 2001年 camtest5c2.c ./camlist-kine: 合計 328 -rw-r--r-- 1 inoue kek 1356 10月 26日 14:29 Makefile -rwxr-xr-x 1 inoue kek 20768 2月 28日 17:28 cam6* -rw-r--r-- 1 inoue kek 708 11月 20日 16:07 cam6.asm -rw-r--r-- 1 inoue kek 1880 10月 29日 10:03 cam6.c -rw-r--r-- 1 inoue kek 1518 2月 28日 17:28 cam6.lis -rw-r--r-- 1 inoue kek 258 2月 28日 17:28 cam6.obj -rwxr-xr-x 1 inoue kek 20368 2月 28日 17:28 cam6a* -rw-r--r-- 1 inoue kek 1541 11月 28日 11:02 cam6a.c -rwxr-xr-x 1 inoue kek 22920 2月 28日 17:28 cam6b* -rw-r--r-- 1 inoue kek 2983 11月 28日 16:19 cam6b.c -rwxr-xr-x 1 inoue kek 20968 2月 28日 17:28 cam7* -rw-r--r-- 1 inoue kek 2021 12月 3日 11:04 cam7.c -rwxr-xr-x 1 inoue kek 21448 2月 28日 17:28 cam7A* -rw-r--r-- 1 inoue kek 2582 12月 10日 14:41 cam7A.c -rwxr-xr-x 1 inoue kek 20616 2月 28日 17:28 cam7B* -rw-r--r-- 1 inoue kek 1753 12月 10日 15:06 cam7B.c -rw-r--r-- 1 inoue kek 322 12月 3日 11:03 cam7a.asm -rw-r--r-- 1 inoue kek 697 2月 28日 17:28 cam7a.lis -rw-r--r-- 1 inoue kek 27 2月 28日 17:28 cam7a.obj -rw-r--r-- 1 inoue kek 322 12月 10日 14:41 cam7aA.asm -rw-r--r-- 1 inoue kek 697 2月 28日 17:28 cam7aA.lis -rw-r--r-- 1 inoue kek 27 2月 28日 17:28 cam7aA.obj -rw-r--r-- 1 inoue kek 679 12月 3日 11:04 cam7b.asm -rw-r--r-- 1 inoue kek 1228 2月 28日 17:28 cam7b.lis -rw-r--r-- 1 inoue kek 90 2月 28日 17:28 cam7b.obj -rw-r--r-- 1 inoue kek 812 12月 10日 15:06 cam7bA.asm -rw-r--r-- 1 inoue kek 1419 2月 28日 17:28 cam7bA.lis -rw-r--r-- 1 inoue kek 111 2月 28日 17:28 cam7bA.obj -rw-r--r-- 1 inoue kek 353 12月 10日 14:41 cam7cA.asm -rw-r--r-- 1 inoue kek 757 2月 28日 17:28 cam7cA.lis -rw-r--r-- 1 inoue kek 48 2月 28日 17:28 cam7cA.obj ./script: 合計 16 -rw-r--r-- 1 inoue kek 66 11月 22日 2000年 awk1.txt -rw-r--r-- 1 inoue kek 37 11月 22日 2000年 awk2.txt -rwxr-xr-x 1 inoue kek 233 11月 22日 2000年 cc_build.gcc.sh* -rwxr-xr-x 1 inoue kek 470 1月 18日 2001年 cc_build.sh* -rwxr-xr-x 1 inoue kek 1049 1月 31日 13:54 cc_link.sh* -rwxr-xr-x 1 inoue kek 949 11月 22日 2000年 cc_load.sh* -rwxr-xr-x 1 inoue kek 404 11月 22日 2000年 cc_unload.sh* onl50t[76]% onl50t# pwd /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol8-list onl50t# make install /usr/ucb/install -d /usr/local/vme/camac/include /usr/ucb/install -d /usr/local/vme/camac/lib /usr/ucb/install -m 644 camlib.h cc_config.h cc_common.h cc.h \ k2917.h /usr/local/vme/camac/include /usr/ucb/install -m 644 libcamac.a /usr/local/vme/camac/lib onl50t# (3-3). camacドライバをロードし直す onl50t# make unload ./script/cc_unload.sh [Removing CAMAC device driver] [Removing CAMAC device driver from system] [Deleting CAMAC device files] onl50t# make load ./script/cc_load.sh [Installing CAMAC device driver] [Adding CAMAC device driver to system] [Configuring CAMAC device driver] [Making CAMAC device files] sun4u onl50t# Feb 28 17:33:03 onl50t cc: CAMAC device driver V4.1, 1991-2002 by Y.TAKEUCHI (T. I.T.) onl50t# ls -l /dev/cc lrwxrwxrwx 1 root other 37 2月 28日 17:33 /dev/cc -> /devices/pci@1f,0/vme@5/cc@2d,ff00:cc onl50t# (4). 例題プログラムの実行(その1: 基本処理) (4-1). cam1、シングル・アクション 24ビット camac read/write の実行 onl50t[45]% pwd /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol8-list onl50t[46]% cam1 5 Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:000000(Hex) 00000000(Dec) Input n a f (data)>3 0 16 5555 N=3 A=0 F=16 Q=1 X=1 Data:0015B3(Hex) 00005555(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:0015B3(Hex) 00005555(Dec) Input n a f (data)>3 0 16 777 N=3 A=0 F=16 Q=1 X=1 Data:000309(Hex) 00000777(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:000309(Hex) 00000777(Dec) onl50t[47]% onl50t[47]% onl50t[47]% cam1 Input n a f (data)>3 0 16 123 N=3 A=0 F=16 Q=1 X=1 Data:00007B(Hex) 00000123(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:00007B(Hex) 00000123(Dec) Input n a f (data)>3 0 16 8877 N=3 A=0 F=16 Q=1 X=1 Data:0022AD(Hex) 00008877(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:0022AD(Hex) 00008877(Dec) Input n a f (data)>3 0 16 567 N=3 A=0 F=16 Q=1 X=1 Data:000237(Hex) 00000567(Dec) Input n a f (data)>3 0 0 N=3 A=0 F=0 Q=1 X=1 Data:000237(Hex) 00000567(Dec) Input n a f (data)>^Conl50t[48]% onl50t[48]% ok. cam1、シングル・アクション 24ビット camac read/write は正常に 実行できた。 (4-2). cam3、camac LAM割り込み処理の実行 onl50t[48]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Interrupted !! count=2 Interrupted !! count=3 Interrupted !! count=4 Interrupted !! count=5 Interrupted !! count=6 Interrupted !! count=7 Interrupted !! count=8 Interrupted !! count=9 Interrupted !! count=10 *** cam3 nomal end. onl50t[49]% onl50t[49]% onl50t[49]% onl50t[49]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Interrupted !! count=1 Interrupted !! count=2 Interrupted !! count=3 Timeout !! count=4 <-- ここで、故意にタイムアウトを起こしてみた。 Timeout !! count=5 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=6 Interrupted !! count=7 Timeout !! count=8 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=9 Interrupted !! count=10 *** cam3 nomal end. onl50t[50]% onl50t[50]% onl50t[50]% onl50t[50]% cam3 *** Now waiting LAM ... N=3 Loop=10 Timeout=0 sec Timeout !! count=1 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=2 Timeout !! count=3 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=4 Timeout !! count=5 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=6 Interrupted !! count=7 Timeout !! count=8 <-- ここで、故意にタイムアウトを起こしてみた。 Interrupted !! count=9 Timeout !! count=10 <-- ここで、故意にタイムアウトを起こしてみた。 *** cam3 nomal end. onl50t[51]% ok. cam3、camac LAM割り込み処理は timeout処理も含めて正常に実行できた。 (4-3). cam2プログラムの実行 (4-3-1). cam2、ブロック転送 16ビット read/write の実行 onl50t[51]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 0 0x 0(Hex) Data( 2)= 0 0x 0(Hex) Data( 3)= 0 0x 0(Hex) Data( 4)= 0 0x 0(Hex) Data( 5)= 0 0x 0(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >1234 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 1234 0x 4D2(Hex) Data( 2)= 1234 0x 4D2(Hex) Data( 3)= 1234 0x 4D2(Hex) Data( 4)= 1234 0x 4D2(Hex) Data( 5)= 1234 0x 4D2(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 1234 0x 4D2(Hex) Data( 2)= 1234 0x 4D2(Hex) Data( 3)= 1234 0x 4D2(Hex) Data( 4)= 1234 0x 4D2(Hex) Data( 5)= 1234 0x 4D2(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >9876 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 9876 0x 2694(Hex) Data( 2)= 9876 0x 2694(Hex) Data( 3)= 9876 0x 2694(Hex) Data( 4)= 9876 0x 2694(Hex) Data( 5)= 9876 0x 2694(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 9876 0x 2694(Hex) Data( 2)= 9876 0x 2694(Hex) Data( 3)= 9876 0x 2694(Hex) Data( 4)= 9876 0x 2694(Hex) Data( 5)= 9876 0x 2694(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[52]% onl50t[52]% onl50t[52]% onl50t[52]% onl50t[52]% cam2 Input transfer mode (1:word 2:long word) >1 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 16 Input data >6587 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 6587 0x 19BB(Hex) Data( 2)= 6587 0x 19BB(Hex) Data( 3)= 6587 0x 19BB(Hex) Data( 4)= 6587 0x 19BB(Hex) Data( 5)= 6587 0x 19BB(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 6587 0x 19BB(Hex) Data( 2)= 6587 0x 19BB(Hex) Data( 3)= 6587 0x 19BB(Hex) Data( 4)= 6587 0x 19BB(Hex) Data( 5)= 6587 0x 19BB(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >777 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 777 0x 309(Hex) Data( 2)= 777 0x 309(Hex) Data( 3)= 777 0x 309(Hex) Data( 4)= 777 0x 309(Hex) Data( 5)= 777 0x 309(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >8888 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 8888 0x 22B8(Hex) Data( 2)= 8888 0x 22B8(Hex) Data( 3)= 8888 0x 22B8(Hex) Data( 4)= 8888 0x 22B8(Hex) Data( 5)= 8888 0x 22B8(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 8888 0x 22B8(Hex) Data( 2)= 8888 0x 22B8(Hex) Data( 3)= 8888 0x 22B8(Hex) Data( 4)= 8888 0x 22B8(Hex) Data( 5)= 8888 0x 22B8(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[53]% ok. cam2、ブロック転送 16ビット read/write は正常に実行できた。 (4-3-2). cam2、ブロック転送 24ビット read/write の実行 onl50t[53]% cam2 Input transfer mode (1:word 2:long word) >2 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16777216 0x FF000000(Hex) Data( 2)= -16777216 0x FF000000(Hex) Data( 3)= -16777216 0x FF000000(Hex) Data( 4)= -16777216 0x FF000000(Hex) Data( 5)= -16777216 0x FF000000(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >6636321 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 6636321 0x 654321(Hex) Data( 2)= 6636321 0x 654321(Hex) Data( 3)= 6636321 0x 654321(Hex) Data( 4)= 6636321 0x 654321(Hex) Data( 5)= 6636321 0x 654321(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -10140895 0x FF654321(Hex) Data( 2)= -10140895 0x FF654321(Hex) Data( 3)= -10140895 0x FF654321(Hex) Data( 4)= -10140895 0x FF654321(Hex) Data( 5)= -10140895 0x FF654321(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >66666 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 66666 0x 1046A(Hex) Data( 2)= 66666 0x 1046A(Hex) Data( 3)= 66666 0x 1046A(Hex) Data( 4)= 66666 0x 1046A(Hex) Data( 5)= 66666 0x 1046A(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16710550 0x FF01046A(Hex) Data( 2)= -16710550 0x FF01046A(Hex) Data( 3)= -16710550 0x FF01046A(Hex) Data( 4)= -16710550 0x FF01046A(Hex) Data( 5)= -16710550 0x FF01046A(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[54]% onl50t[54]% onl50t[54]% onl50t[54]% onl50t[54]% cam2 Input transfer mode (1:word 2:long word) >2 Input loop >5 Input mode (0:QSTOP 1:QIGNORE 2:QREPEAT 3:QSCAN) >1 Input data counts >5 Input n a f >3 0 16 Input data >77777 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 77777 0x 12FD1(Hex) Data( 2)= 77777 0x 12FD1(Hex) Data( 3)= 77777 0x 12FD1(Hex) Data( 4)= 77777 0x 12FD1(Hex) Data( 5)= 77777 0x 12FD1(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16699439 0x FF012FD1(Hex) Data( 2)= -16699439 0x FF012FD1(Hex) Data( 3)= -16699439 0x FF012FD1(Hex) Data( 4)= -16699439 0x FF012FD1(Hex) Data( 5)= -16699439 0x FF012FD1(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16699439 0x FF012FD1(Hex) Data( 2)= -16699439 0x FF012FD1(Hex) Data( 3)= -16699439 0x FF012FD1(Hex) Data( 4)= -16699439 0x FF012FD1(Hex) Data( 5)= -16699439 0x FF012FD1(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 16 Input data >777 MODE=1 N= 3 A= 0 F=16 len= 5 lenr= 5 error= 0(Hex) Data( 1)= 777 0x 309(Hex) Data( 2)= 777 0x 309(Hex) Data( 3)= 777 0x 309(Hex) Data( 4)= 777 0x 309(Hex) Data( 5)= 777 0x 309(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Input n a f >3 0 0 MODE=1 N= 3 A= 0 F= 0 len= 5 lenr= 5 error= 0(Hex) Data( 1)= -16776439 0x FF000309(Hex) Data( 2)= -16776439 0x FF000309(Hex) Data( 3)= -16776439 0x FF000309(Hex) Data( 4)= -16776439 0x FF000309(Hex) Data( 5)= -16776439 0x FF000309(Hex) Data( 6)= 0 0x 0(Hex) Data( 7)= 0 0x 0(Hex) Data( 8)= 0 0x 0(Hex) Data( 9)= 0 0x 0(Hex) Data(10)= 0 0x 0(Hex) Note: Nonstandard floating-point mode enabled See the Numerical Computation Guide, ieee_sun(3M) onl50t[55]% ok. cam2、ブロック転送 24ビット read/write は正常に実行できた。 配布キット "FORCE-50T-sol8-list"を使ってonl50t 上で camacの例題 プログラムのテストを行った。 o cam1、シングル・アクション 24ビット camac read/write の実行 o cam3、camac LAM割り込み処理の実行 o cam2、ブロック転送 16ビット read/write の実行 o cam2、ブロック転送 24ビット read/write の実行 は、すべて正常に実行できた。 続いて、リスト処理の例題プログラムの テストを行う。 (5). 例題プログラムの実行(その2: KEKリスト処理) onl50t[59]% pwd /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol8-list/camlist onl50t[60]% ls Makefile camtest4int.asm camtest5c.c camtest4c* camtest4int.obj camtest5c1* camtest4c.c camtest4single.asm camtest5c1.c camtest4dma.asm camtest4single.obj camtest5c2* camtest4dma.obj camtest5c* camtest5c2.c onl50t[61]% (5-1). KEKリスト処理でシングルアクション(16ビット/24ビット)read/write を実行 onl50t[61]% cat camtest4single.asm ; File name : camtest4single.asm ; Creation date : July 1992 ; Author : Y.Yasu, Online group, Physics department, KEK ; Modified : July 21, 2000 E.Inoue SW equ 3 ; CAMAC SWITCH REGISTER MEM equ 4 ; CAMAC BUFFER MEMORY MOUDLE INT equ 5 ; CAMAC INTERRUPT REGISTER LEN equ 10 ; 10 words ; MOVE #1,A SETCRATE A SETCRATE #0 GENZ GENC SETI REMI ; READ (0,SW,1) READ.l (0,SW,1) READ (0,SW,1),A MOVE A,(PTR)+ READ.l (0,SW,1),A MOVE.l A,(PTR)+ WRITE #0x5555,(16,SW,0) WRITE #0x80081,(16,SW,0) WRITE.l #0x80082,(16,SW,0) WRITE A,(16,SW,0) WRITE.l A,(16,SW,0) ; STOP end onl50t[62]% onl50t[62]% camtest5c CamReaLIST : OK lenlist = 36 list = 329 1 0 10a 7ffffa4c CamLisExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 6 iosb.s_reg = f iosb.devinfo = a000 a0 contents of buffer : 5 0 5 5 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[63]% ok. KEKリスト処理でのシングルアクション(16ビット/24ビット)read/write は正常に実行できた。 (5-2). KEKリスト処理でLAM割り込み処理を実行 LAM源として、EG&E社製のNIMの "Puls Generator, PG-1900" を使用した。 このモジュールを使って、CAMAC 8 bit Interrupt Registerモジュールの チャンネル1 に繰り返し周期 100ms、パルス幅 2ms のNIM信号を入力した。 onl50t[65]% cat camtest4int.asm ; File name : camtest4int.asm ; Creation date : July 1992 ; Author : Y.Yasu, Online group, Physics department, KEK ; Modified : Jul 31,2000 E.Inoue SW equ 3 ; CAMAC SWITCH REGISTER MEM equ 4 ; CAMAC BUFFER MEMORY MOUDLE INT equ 5 ; CAMAC INTERRUPT REGISTER LEN equ 10 ; 10 words ; SETCRATE #0 GENZ GENC SETI REMI ; MOVE #0x10,A ; INT module's LAM mask. Station # = 5. ENBINT MOVE.l #1000,T NDT (26,INT,0) LOOPIN1 MOVE #0xa,A ; Setting up timeout time. WAITINT ; GENC NDT (9,INT,0) MOVE.l T,A WRITE.l A,(16,SW,0) SUB #1,T BGT #0,LOOPIN1 LOAD COUNT MOVE.l A,(PTR)+ LOAD PTR MOVE.l A,(PTR)+ MOVE.l #1000,T LOOPIN2 MOVE #0xa,A ; Setting up timeout time. WAITEVENT ; GENC NDT (9,INT,0) MOVE.l T,A WRITE.l A,(16,SW,0) SUB #1,T BGT #0,LOOPIN2 LOAD COUNT MOVE.l A,(PTR)+ LOAD PTR MOVE.l A,(PTR)+ DSBINT ; STOP end onl50t[66]% onl50t[67]% camtest5c1 CamReaLIST : OK lenlist = 61 list = 20b 0 10c 10d 7ffffa4c CamLisExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 8 iosb.s_reg = f iosb.devinfo = a000 a0 contents of buffer : 0 0 0 2 0 3e8 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[68]% onl50t[68]% onl50t[68]% onl50t[68]% onl50t[68]% camtest5c1 CamReaLIST : OK lenlist = 61 list = 20b 0 10c 10d 7ffffa4c CamLisExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 8 iosb.s_reg = f iosb.devinfo = a000 a0 contents of buffer : 0 3e8 0 2 0 7d0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[69]% ok. インタラプト・モジュールを使った、KEKリスト処理による LAM割り込み 処理は正常に実行できた。 (5-3). KEKリスト処理で DMA camacブロック転送を実行 onl50t[70]% cat camtest4dma.asm ; File name : camtest4dma.asm ; Creation date : July 1992 ; Author : Y.Yasu, Online group, Physics department, KEK SW equ 3 ; CAMAC SWITCH REGISTER MEM equ 4 ; CAMAC BUFFER MEMORY MOUDLE LEN equ 10 ; 10 words ; SETCRATE #0 GENZ GENC SETI REMI NDT (9,MEM,0) MOVE #LEN,T MOVE #0,A LOOP WRITE A,(16,MEM,0) ADD #1,A SUB #1,T BGT #0,LOOP ; ; MOVE #1,A MOVE #2,A ; QS.l (0,SW,1),#1 QS.l (0,SW,1),#2 QS.l (0,SW,1),A ; AS.l (0,SW,1),#1 AS.l (0,SW,1),#2 AS.l (0,SW,0),A ; IGQ.l (0,SW,1),#1 IGQ.l (0,SW,1),#2 IGQ.l (0,SW,1),A IGQ (0,SW,1),#2 IGQ (0,SW,1),A ; MOVE #LEN,A NDT (9,MEM,0) QS (0,MEM,0),#LEN NDT (9,MEM,0) QS (0,MEM,0),A NDT (9,MEM,0) AS (0,MEM,0),#LEN NDT (9,MEM,0) AS (0,MEM,0),A NDT (9,MEM,0) IGQ (0,MEM,0),#LEN NDT (9,MEM,0) IGQ (0,MEM,0),A ; ; STOP end onl50t[71]% onl50t[71]% camtest5c2 CamReaLIST : OK lenlist = 81 list = 20b 0 10c 10d 7ffffa4c CamLisExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 58 iosb.s_reg = f iosb.devinfo = 800 080 contents of buffer : ff00 5 ff00 5 ff00 5 ff00 5 ff00 5 ff00 ffff ff00 0 ff00 5 ff00 5 ff00 5 ff00 5 ff00 5 5 5 5 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[72]% ok. KEKリスト処理による DMA camacブロック転送は正常に実行できた。 (5-4). CamLisLOAD および CamExeWAIt のテスト camtest4single.objファイルを CamLisLOAD および CamExeWAIt関数を使用して KEKリスト処理を行う例題プログラムである。 onl50t[73]% cat camtest4single.asm ; File name : camtest4single.asm ; Creation date : July 1992 ; Author : Y.Yasu, Online group, Physics department, KEK ; Modified : July 21, 2000 E.Inoue SW equ 3 ; CAMAC SWITCH REGISTER MEM equ 4 ; CAMAC BUFFER MEMORY MOUDLE INT equ 5 ; CAMAC INTERRUPT REGISTER LEN equ 10 ; 10 words ; MOVE #1,A SETCRATE A SETCRATE #0 GENZ GENC SETI REMI ; READ (0,SW,1) READ.l (0,SW,1) READ (0,SW,1),A MOVE A,(PTR)+ READ.l (0,SW,1),A MOVE.l A,(PTR)+ WRITE #0x5555,(16,SW,0) WRITE #0x80081,(16,SW,0) WRITE.l #0x80082,(16,SW,0) WRITE A,(16,SW,0) WRITE.l A,(16,SW,0) ; STOP end onl50t[74]% onl50t[74]% camtest4c CAM_Open : Done CamReaLIST : OK lenlist = 36 CamLisLOAD : OK list = 329 1 0 10a 7ffffa4c CamExeWAIt : OK contents of iosb : iosb.status = fffffff6 iosb.ret_length = 6 iosb.s_reg = f iosb.devinfo = a000 a0 contents of buffer : 5 0 5 5 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 onl50t[75]% ok. CamLisLOAD および CamExeWAIt関数は正常に機能している。 (6). 例題プログラムの実行(その3: Kineticリスト処理) onl50t[80]% pwd /export/home/onl50t/inoue/Kit-test-list/FORCE-50T-sol8-list/camlist-kine onl50t[81]% ls Makefile cam6a* cam7A* cam7a.obj cam7b.obj cam7cA.obj cam6* cam6a.c cam7A.c cam7aA.asm cam7bA.asm cam6.asm cam6b* cam7B* cam7aA.lis cam7bA.lis cam6.c cam6b.c cam7B.c cam7aA.obj cam7bA.obj cam6.lis cam7* cam7a.asm cam7b.asm cam7cA.asm cam6.obj cam7.c cam7a.lis cam7b.lis cam7cA.lis onl50t[82]% (6-1). kineticリスト処理でシングルアクションおよび DMA転送の実行 この例題プログラムでは次の事項についてテストしている。 (1). 16/24ビットのシングルアクション read/write (2). 16/24ビットの DMA、イグノア Q (3). 16/24ビットの DMA、Qストップ (4). 16/24ビットの DMA、アドレス・スキャン onl50t[82]% cat cam6.asm ***************************************************************** * cam6.ASM 20-FEB-1992 Y.Takeuchi * * Modified : 4-Jul-2000 E.Inoue * * * * camasm cam6 a * ***************************************************************** SW equ 3 ; Switch Register ; IGQ (0,SW,1),#6 NDT (10,SW,0) READ (0,SW,1) READ.l (0,SW,1) WRITE #6,(16,SW,0) WRITE #7,(16,SW,0) WRITE.l #6636321,(16,SW,0) IGQ (0,SW,1),#100 IGQ.l (0,SW,1),#7 IGQ.l (0,SW,1),#100 QS (0,SW,1),#7 QS (0,SW,1),#100 QS.l (0,SW,1),#7 QS.l (0,SW,1),#100 AS (0,SW,1),#1 AS.l (0,SW,1),#1 ; STOP end onl50t[83]% onl50t[83]% cam6 list length = 48 Now execute cam6.obj ... data[ 0]=0x 0 0 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 287 647 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 5 5 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 5 5 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5 5 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 5 5 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 5 5 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 5 5 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 5 5 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x ff00 65280 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 onl50t[84]% ok. シングルアクションおよび DMA転送は正常に実行できた。 (6-1a). kineticリスト処理でシングルアクションおよび DMA転送の実行(その2) 項目(6-1)での実行時に CKSAVE() 関数でセーブした Kineticリストをここでは CKLOAD()関数でロードして実行する例題プログラムである。 onl50t[84]% cam6a Now execute ---test1--- data[ 0]=0x 287 647 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 50005 327685 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5ff00 392960 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 50005 327685 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 50005 327685 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 50005 327685 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x 50005 327685 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 onl50t[85]% ok. 正常に実行できた。 (6-1b). kineticリスト処理でシングルアクションおよび DMA転送の実行(その3) 項目(6-2)でやったテストを複数回繰り返した。 CKDEL()関数を使って、 ロードされている kineticリストを途中で一旦削除した後で再ロードして 実行動作確認を行っている。 onl50t[85]% cam6b Now execute ---test1--- data[ 0]=0x 287 647 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 50005 327685 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5ff00 392960 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 50005 327685 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 50005 327685 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 50005 327685 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x 50005 327685 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 Now execute ---test1--- data[ 0]=0x 287 647 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 50005 327685 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5ff00 392960 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 50005 327685 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 50005 327685 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 50005 327685 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x 50005 327685 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 Now execute ---test1--- data[ 0]=0x 0 0 usp[ 0]=0x 0 0 usp[ 1]=0x 0 0 data[ 1]=0x 0 0 usp[ 2]=0x 0 0 usp[ 3]=0x 0 0 data[ 2]=0x 0 0 usp[ 4]=0x 0 0 usp[ 5]=0x 0 0 data[ 3]=0x 0 0 usp[ 6]=0x 0 0 usp[ 7]=0x 0 0 data[ 4]=0x 0 0 usp[ 8]=0x 0 0 usp[ 9]=0x 0 0 data[ 5]=0x 0 0 usp[ 10]=0x 0 0 usp[ 11]=0x 0 0 data[ 6]=0x 0 0 usp[ 12]=0x 0 0 usp[ 13]=0x 0 0 data[ 7]=0x 0 0 usp[ 14]=0x 0 0 usp[ 15]=0x 0 0 data[ 8]=0x 0 0 usp[ 16]=0x 0 0 usp[ 17]=0x 0 0 data[ 9]=0x 0 0 usp[ 18]=0x 0 0 usp[ 19]=0x 0 0 Now execute ---test1--- data[ 0]=0x 287 647 usp[ 0]=0x 0 0 usp[ 1]=0x 287 647 data[ 1]=0x 50005 327685 usp[ 2]=0x 5 5 usp[ 3]=0x 5 5 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 5ff00 392960 usp[ 8]=0x 5 5 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 50005 327685 usp[ 12]=0x 5 5 usp[ 13]=0x 5 5 data[ 7]=0x 50005 327685 usp[ 14]=0x 5 5 usp[ 15]=0x 5 5 data[ 8]=0x 50005 327685 usp[ 16]=0x 5 5 usp[ 17]=0x 5 5 data[ 9]=0x 50005 327685 usp[ 18]=0x 5 5 usp[ 19]=0x 5 5 onl50t[86]% ok. 正常に実行できた。 (6-2). KEKリスト処理の中から kineticリスト処理を実行(その1) 2917 のコマンド・メモリ・レジスタにロードしておいた kineticリストを KEKリスト処理プログラムの中から実行する例題プログラムである。 onl50t[87]% cat cam7a.asm ***************************************************************** * cam7a.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7a a * ***************************************************************** SW equ 3 ; Switch Register ; READ.l (0,SW,1) ; STOP end onl50t[88]% onl50t[88]% cat cam7b.asm ***************************************************************** * cam7b.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7b a * ***************************************************************** SW equ 3 ; CAMAC SW register ; NDT (10,SW,0) ; Clear LAM READ (0,SW,1) ; Read SW READ (0,SW,1) ; Read SW MOVE #0,A ; Set Klist name to "test1" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW READ (0,SW,1) ; Read SW ; STOP end onl50t[89]% onl50t[89]% cam7 list length = 4 list length = 16 Now execute cam7b.obj ... data[ 0]=0x 50005 327685 usp[ 0]=0x 5 5 usp[ 1]=0x 5 5 data[ 1]=0x 2 2 usp[ 2]=0x 0 0 usp[ 3]=0x 2 2 data[ 2]=0xff000005 4278190085 usp[ 4]=0xff00 65280 usp[ 5]=0x 5 5 data[ 3]=0x 50005 327685 usp[ 6]=0x 5 5 usp[ 7]=0x 5 5 data[ 4]=0x 0 0 usp[ 8]=0x 0 0 usp[ 9]=0x 0 0 data[ 5]=0x 0 0 usp[ 10]=0x 0 0 usp[ 11]=0x 0 0 data[ 6]=0x 0 0 usp[ 12]=0x 0 0 usp[ 13]=0x 0 0 data[ 7]=0x 0 0 usp[ 14]=0x 0 0 usp[ 15]=0x 0 0 data[ 8]=0x 0 0 usp[ 16]=0x 0 0 usp[ 17]=0x 0 0 data[ 9]=0x 0 0 usp[ 18]=0x 0 0 usp[ 19]=0x 0 0 onl50t[90]% ok. 正常に実行できた。 (6-2a). KEKリスト処理の中から kineticリスト処理を実行(その2) 複数の kineticリストを、任意に選択実行できるかテストする例題プログラム である。 onl50t[90]% cat cam7aA.asm ****************************************************************** * cam7aA.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7aA a * ***************************************************************** SW equ 3 ; Switch Register ; READ.l (0,SW,1) ; STOP end onl50t[91]% onl50t[92]% cat cam7cA.asm ***************************************************************** * cam7cA.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7cA a * ***************************************************************** SW equ 3 ; Switch Register ; READ (0,SW,1) READ (0,SW,1) ; STOP end onl50t[93]% onl50t[93]% cat cam7bA.asm ***************************************************************** * cam7bA.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7bA a * ***************************************************************** SW equ 3 ; CAMAC SW register ; NDT (10,SW,0) ; Clear LAM READ (0,SW,1) ; Read SW READ (0,SW,1) ; Read SW MOVE #1,A ; Set Klist name to "test1" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW MOVE #0,A ; Set Klist name to "test0" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW ; STOP end onl50t[94]% onl50t[94]% cam7A list length = 4 list length = 6 list length = 20 Now execute cam7bA.obj ... data[ 0]=0x 50005 327685 usp[ 0]=0x 5 5 usp[ 1]=0x 5 5 data[ 1]=0x 2 2 usp[ 2]=0x 0 0 usp[ 3]=0x 2 2 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50000 327680 usp[ 6]=0x 5 5 usp[ 7]=0x 0 0 data[ 4]=0x 2ff00 196352 usp[ 8]=0x 2 2 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 0 0 usp[ 12]=0x 0 0 usp[ 13]=0x 0 0 data[ 7]=0x 0 0 usp[ 14]=0x 0 0 usp[ 15]=0x 0 0 data[ 8]=0x 0 0 usp[ 16]=0x 0 0 usp[ 17]=0x 0 0 data[ 9]=0x 0 0 usp[ 18]=0x 0 0 usp[ 19]=0x 0 0 onl50t[95]% ok. 正常に実行できた。 (6-2b). KEKリスト処理の中から kineticリスト処理を実行(その3) 項目(6-5)での実行時に CKSAVE() 関数でセーブした複数の Kineticリストを ここではCKLOAD()関数でロードして実行する例題プログラムである。 onl50t[95]% cat cam7bA.asm ***************************************************************** * cam7bA.ASM 29-MAR-1992 Y.Takeuchi * * Modified: 4-Jul-2000 E.Inoue * * * * camasm cam7bA a * ***************************************************************** SW equ 3 ; CAMAC SW register ; NDT (10,SW,0) ; Clear LAM READ (0,SW,1) ; Read SW READ (0,SW,1) ; Read SW MOVE #1,A ; Set Klist name to "test1" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW MOVE #0,A ; Set Klist name to "test0" LOAD TIMER ; Execute Klist READ (0,SW,1) ; Read SW ; STOP end onl50t[96]% onl50t[96]% cam7B list length = 20 Now execute cam7bA.obj ... data[ 0]=0x 50005 327685 usp[ 0]=0x 5 5 usp[ 1]=0x 5 5 data[ 1]=0x 2 2 usp[ 2]=0x 0 0 usp[ 3]=0x 2 2 data[ 2]=0x 50005 327685 usp[ 4]=0x 5 5 usp[ 5]=0x 5 5 data[ 3]=0x 50000 327680 usp[ 6]=0x 5 5 usp[ 7]=0x 0 0 data[ 4]=0x 2ff00 196352 usp[ 8]=0x 2 2 usp[ 9]=0xff00 65280 data[ 5]=0x 50005 327685 usp[ 10]=0x 5 5 usp[ 11]=0x 5 5 data[ 6]=0x 0 0 usp[ 12]=0x 0 0 usp[ 13]=0x 0 0 data[ 7]=0x 0 0 usp[ 14]=0x 0 0 usp[ 15]=0x 0 0 data[ 8]=0x 0 0 usp[ 16]=0x 0 0 usp[ 17]=0x 0 0 data[ 9]=0x 0 0 usp[ 18]=0x 0 0 usp[ 19]=0x 0 0 onl50t[97]% ok. 正常に実行できた。 これで、キット中の例題プログラムによる動作確認は全て正常に終了した。 続いて、DAQ-sig および sun-users(KEK内部)メーリングリストを通して キット利用可能のアナウンスを行う。 ---xxxx ここまでやった(継続中) --- (6). 項目タイトル (6-1). サブ項目タイトル (6-1-1). サブサブ項目タイトル