LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

CASL

CASL(キャスル)とは、情報処理技術者試験におけるプログラミング能力試験のために仕様策定されたアセンブリ言語である。第二種情報処理技術者試験(現・基本情報技術者試験)にはプログラミング能力試験という試験がある。この試験は幾つかのプログラミング言語別に分かれており、受験者はそれぞれが最も得意とする言語による試験を選択することで、特定の言語のプログラマが有利になることを防いでいる。CASLはこの試験で使用するアセンブリ言語として開発された。アセンブリ言語はハードウェアのアーキテクチャとの関連性が強く、仮に特定の実在するアーキテクチャを試験に採用した場合、それを利用する受験者に有利に働いてしまうという問題がある。このため、実在するどのアーキテクチャとも関連性がない単純化された仮想の計算機と、そのアセンブリ言語の仕様を一から策定することで、この問題を解消した。この仮想計算機はCOMETと呼ばれ、アセンブリ言語の仕様はCASLと名付けられた。COMETは、最低限の機能のみを実装した仮想機械であり、そのためCASLも非常に簡素なアセンブリ言語となっている、初期の仕様ではCOMETの各機械語命令を除けば4種類の擬似命令と3種類のマクロしかない。COMETとCASLの仕様は試験実施者から予め発表されるほか、試験問題中にも示され、試験中にその場で仕様を理解し解答することも可能である。2001年に第二種情報処理技術者試験が基本情報処理技術者試験に改訂された折りに、COMETとCASLの仕様改訂も行われており、改訂後はそれぞれCOMET II、CASL IIと呼ばれる。なお情報処理技術者試験センターから、Java環境で動作するCASL-IIシミュレータが学習用に提供されている。情報処理技術者試験の開始当初には、同様にCAP-XおよびCOMP-Xが用いられていたが、主にマイクロプロセッサの登場と普及に伴う主流アーキテクチャの変化にともない、変化に対応した新しいアセンブリ言語および仮想計算機としてCASLおよびCOMETが定義された。ここでは COMET II に改訂されるまえの COMETの仕様について述べ、 COMET II との違いについては#仕様改訂による変更点を参照されたい。COMET は 1ワード長が16ビットの固定長語で表現され、処理の対象となるデータは全てワード単位で行われる。1ワードを構成するビットの並びは、最上位ビットを 0 番、最下位ビットを 15 番とする(COMET IIで変更されている)。制御方式は逐次処理方式であり、命令語は2ワードの固定長で表現される。扱うデータは算術データ、論理データ、文字データの3種類がある、算術データは 1ワードのデータを2の補数表現で表現し、論理データは符号無し整数として扱う。文字データはJIS X 0201規格を採用している。レジスタは次の通り。前述の通りCASLは命令語を2ワードの固定長として扱う。命令語の構成は先頭から順に OPフィールド(8ビット)、GRフィールド(4ビット)、XRフィールド(4ビット)、adrフィールド(16ビット)のデータアドレスと続く。COMETの前身であるCOMP-Xと同様の構成だが各フィールドのビット数が違うことに注意されたい。OP フィールドは命令の種類を表すコード(オペコード部)であり、初期の COMET では 23 種類の命令が用意されており、COMET IIでは 28種類に拡張されている。GR フィールドでは演算で使用する GR の番号が指定される。分岐命令やスタック操作の場合は GRを指定することはないので、これらの命令ではこの部分は無視される(何を指定しても問題ない)。XR フィールドではアドレス修飾を行う GR の番号が指定され、内容が 0 の場合は GR0 を意味するのではなく、GR によるアドレス修飾をしない GRフィールドと同様、アドレス修飾を持たない命令においては無視される。adr フィールドは処理対象となるアドレスが指定され、このアドレスに XRフィールドのアドレス修飾を施したものが実行アドレスとして使用される。なお COMP-X と異なり、COMET では命令の具体的なオペコードは定義されていない(定義の後に、定義の一部でないと明示のうえで参考資料として示されている)。命令コードと各命令の概要は以下の通り。なお書き方の [] は省略可能を意味している。CASL は1行に、ラベル、命令コード、オペランドの順に記述する。ラベルは記述しない場合もある。ラベルは3文字以内で、先頭は英大文字、それ以外は英大文字または数字である。オペランドでアドレスを指定する際に数値の代わりにラベルを記述できる。CASL には次の擬似命令がある。また、CASLには入出力を表すマクロ命令が用意されている。内容は以下の通り2001年の COMET II、CASL IIの改訂によってCASL COMETに比べていくつかの変更が行われている。具体的には以下の通り、COMET II に追加された命令は以下の通りCASL II に追加された命令は以下の通り以下は CASL II による再帰呼び出しを用いてハノイの塔を解くサンプルコードの一例である。このコードを実行すると以下の結果が得られる(ここで、from A to C は A の一番上にある円盤を C に移すことを意味している)。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。