Redcodeとは? わかりやすく解説

Redcode

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/12/10 07:45 UTC 版)

「コア戦争」の記事における「Redcode」の解説

詳細は「en:Redcode」を参照 0000: ADD.AB # 4, $ 30001: MOV.F $ 2, @ 20002: JMP.B $ -2, $ 00003: DAT.F # 0, # 0 ICWS-94 スタイルの Redcodeでアセンブルされる。Assembled ICWS-94 style Redcode Redcode と MARS 環境は現実のコンピュータやプロセッサの複雑さなしに単純で抽象的なプラットフォームを提供するよう設計されている。Redcode は平凡なCISC アセンブリ言語に似せられているが、多くの点で実際のアセンブリ言語とは異なっている: Redcode はごく少ない命令を持つ。ICWS-88 では 10、ICWS-94 では 18。 いずれのアセンブルされた命令は命令コードと二つの数値フィールドに分割される。数値は命令コードには定義されない。コードは命令全体の一部としてコピーだけされ、同等に比較される。 opcode と二つの数値フィールドに加えて、ICWS-94はいずれの Redcode 命令はデータのサイズ(ひとつのフィールド、両方のフィールド、命令全体のいずれか)を定義する『修飾子』(modifier)を持つことを を可能にする。さらに、いずれの数値フィールドは関連するアドレッシングモード持っている。ICWS-88は4つのアドレッシングモードを定義しており、ICWS-94 ではこれは8にまで拡張されている。 どの Redcode命令も同じ長さと実行時間を持つ。メモリは一命令単位で配置される。 すべての数はメモリサイズより小さい符号なし (つまり非負)整数である。それゆえ数とメモリ位置には一対一の対応がある。すべての演算はメモリサイズを法としたモジュラ演算で行われる。 相対アドレッシングのみが使われる。これはアドレス“0”は常に現在実行中の命令を指していて、アドレス“1”はその後ろの命令となっている。メモリの境界を超えたアドレスは空間の最初からに丸められる。このため、プログラムはメモリ上の絶対位置を知ることは出来ない(知る必要はない)。 いずれのプログラムも自身の命令ポインタを持ついくつかのアクティブなプロセスを持っている。いずれのプログラムも1プロセスから開始するが、他のプロセスはSPL命令によって作られる。それぞれのプログラムのプロセスは交互に実行され、それゆえどのプログラムもそのプログラムが持つアクティブなプロセスの数に反比例した実行スピードになる。プロセスはDAT命令を実行した時か、ゼロで除算したときに死ぬ。プログラムはひとつもプロセスが残っていないときに死んだとみなされる。

※この「Redcode」の解説は、「コア戦争」の解説の一部です。
「Redcode」を含む「コア戦争」の記事については、「コア戦争」の概要を参照ください。

ウィキペディア小見出し辞書の「Redcode」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ。


このページでは「ウィキペディア小見出し辞書」からRedcodeを検索した結果を表示しています。
Weblioに収録されているすべての辞書からRedcodeを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からRedcode を検索

英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「Redcode」の関連用語

Redcodeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Redcodeのページの著作権

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのコア戦争 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2026 GRAS Group, Inc.RSS