EXAPUNKS

EXAPUNKS

50 ratings
EXAPUNKS PDFマニュアル日本語化
By noguchii
EXAPUNKS に付属する PDF マニュアルを日本語化(翻訳)しています。
4
   
Award
Favorite
Favorited
Unfavorite
車輪の再発明
大抵のドキュメントはすでに翻訳済みでしたが、Steam のガイドとして改めて日本語化したPDFマニュアルを公開しています。問題文の日本語化はこちら。おかしい箇所はご指摘ください。

先人たち
リファレンスガイド日本語訳
EXAPUNKS 問題文の日本語訳[sub-omt.ssl-lolipop.jp]
『EXAPUNKS』EXAランゲージ・リファレンス・ガイド日本語訳[bartaro.sakura.ne.jp]
『EXAPUNKS』PDFマニュアル1冊目の簡易訳~03pまで[trasque.hateblo.jp]
雑誌・第一号
P05 Distributed Network Programming with EXAs
EXA って何者?
EXAはEXecution Agentの略です。 これは小さなプログラムであり、ネットワークを介して1つのコンピュータから別のコンピュータに移動でき、実際の距離が非常に離れていても、実行中の処理を中断することはありません。 Axiom や TEC などの大手テクノロジー企業は、「分散型ネットワークプログラミング」と呼ばれるビジョンに基づいて、この10年より前に EXA 標準を開発しました。 EXA は、基盤となるハードウェアが何であってもデータを転送および処理できるため、世界中のすべてのものを簡単に接続できます。 今日、これらはすべての現代のコンピュータネットワークの生命線です。

コード、値、レジスタ
コンピュータネットワーク内で物理的に見える存在に加えて、すべてのEXAにはコードとレジスタが含まれています。 EXODUS開発環境を使用してネットワークに接続している場合、各EXAの左側にウィンドウが表示され、コード編集、レジスタの表示ができます。

コード
これは EXA に何をすべきかを指示する命令のリストです。彼らのために特別に設計された特別なコンピュータ言語で書かれています。 次のチュートリアルセクションで言語を掘り下げます。

レジスタ
385074-203などの数値、またはSECRETTRASH WORLD NEWSABC123などのキーワードといった値を格納できるスロットと考えてください。レジスタは、コード内の命令によって読み書きできます。
レジスタにはさまざまなタイプがあります。 値を保存すると、次に読み取ったときに最後に書き込んだものの値が得られます(これらは X および T レジスタです)。 他のレジスタは、ファイルの読み取りや書き込み(F レジスタ)や他の EXA との通信(M レジスタ)などのより高度な機能へのインターフェイスがあります。すべてのレジスタをすぐに使用できるようになる必要はありません。チュートリアルでは、さまざまなタイプのレジスタの使用方法を学びます。
P06 Hosts, Links, Files, and Hardware Registers


EXA でネットワークの探索を開始すると、他にいくつか見られるものを次に示します。

ホスト
ホストは、ネットワーク内のコンピュータの表現です。 EXA はホストにのみ存在できます。EXA を作成すると、そこが自身のホストになります。対象となるホストにアップロードして起動すると、そこで実行できます。

システムパフォーマンスとメモリの制限のため、すべてのホストには、一度に含めることができる EXA の数に制限があります。EXODUS では、ホスト内の空きグリッドスペースの数で表されます。各 EXA は1つのグリッドスペースを占有します。

リンク
接続ホストを相互にリンクします。 ホスト間を移動するために EXA が使用するものです。 リンクの両端には数値IDがあり、コードで参照できます。 ほとんどのリンクは両方向に移動できますが、一部は一方通行のみで、一部はまったく使用できません。

ファイル
数字とキーワードの両方の値の配列を格納します 。ホストに存在し、スペースをとるので、少し EXA のようです。ただし、独自のコードや動作はありません。それらの唯一の目的は値を格納することです。

ファイルを操作するには、EXA を使用する必要があります。EXA は、ファイルの作成と削除、ファイルへの書き込みと読み取り、リンクのようにファイルをドラッグアンドドロップして移動することができます。各ファイルには、コードから参照できる数値IDがあります。

一部のホストには、特別なハードウェアレジスタが含まれています。これらのレジスタは、ホストコンピュータに接続されている可能性のある外部ハードウェアに関連付けられています。システムによって完全に異なります。したがって、読み取り専用または書き込み専用の場合もあれば、両方を実行できる場合もあります。数値またキーワードが含まれる場合があります。 これらの名前は、#POWR や #ENAB のように、シャープ記号とそれに続く4文字で、コードで直接使用できます。

たくさんの情報があるので、一度にすべてを習得しなくても大丈夫です。 次のセクションには、このシステムを実際に体験して実際に学習できるチュートリアルが含まれています。
P08 Chast Walks U Thru It
P08 EXA を簡単に扱う方法

誰でも EXA プログラミングを学ぶことができると本当に信じています。だから、あなたが試せるチュートリアルをいくつか公開したネットワークをセットアップしました。 プログラマではないと思っていても、試してみてください。 あなた自身を驚かせるかもしれません。

チュートリアル 1:基礎
最初のチュートリアルでの目標は、ID 200 のファイルを「inbox」という名前のホストから「outbox」という名前のホストに移動することです。ID 800 のリンクを通って移動させましょう。

EXODUS を起動して、チュートリアルネットワークに接続します。新しい空の回答は自動的に作成されます。「回答」は、実行ボタンを押すと実行を開始する EXA の集まりです。

画面の左側に、空の EXA と空白のコードウィンドウが表示されます。
次の5行のコードを EXA に入力してください。



ステップボタンを押すと、一度に一行の命令を実行します。退屈したら、実行ボタンを押して、プログラムが自動的に実行されるのを確認できます。プログラムが期待どおりに動作していることを確認したら、早送りボタンを押して、プログラムが完了するまで実行させます。おめでとうございます、初めての EXA プログラミングを実行しました。

チュートリアル 2:ファイルの入出力
では、次のタスクです。最初のタスクとほとんど同じですが、移動するのではなく、ファイルを読み書きする必要がある点が異なります。完全な説明については、今すぐ EXODUS の要件をお読みください。EXA が保持するファイルを読み書きするには、F レジスタを使用する必要があります。また、X レジスタを使用して、操作を実行しながら中間値を格納します。次のコードをデフォルトの空のEXAに入力してください。



プログラムをステップ実行して GRAB 命令を実行すると、現在表示されている EXA のウィンドウの下に、ファイル 200 のウィンドウが表示されることに注目してください。

そして、ファイルウィンドウで「ファイルカーソル」を見つけてください。、ファイル内の最初の値を強調表示しています。EXA が F レジスタから読み取ると、ファイルカーソルが指す値が読み取られます。同様に、F レジスタへの書き込みは、ファイルカーソルが指す値を置き換えます。ファイルカーソルがファイルの末尾にある場合、既存の値を置き換えるのではなく、新しい値を追加します。

さらにもう一つ、 F レジスタの読み取りまたは書き込みを行うと、ファイルカーソルはファイル内の次の値に自動的に移動します。それが便利なときもあれば、そうでないときもあります。

チュートリアル 3:EXA 間での通信
この次のチュートリアルには、一方向のリンクを介してのみアクセスできるファイルが含まれます。ファイルを取得する EXA は閉じ込められます。そのため、2つのEXAを作成し、それらを相互に通信させる必要があります。このコードは自分で作成しますが、ヒントをいくつか紹介します。
  • MAKE 命令を使用して新しいファイルを作成できます。作成するファイルはデフォルトで空になり、それを作成した EXA によって自動的に保持されます。
  • EXA は、WIPE 命令を使用して、保持しているファイルを削除できます。
  • 2つの EXA は、M レジスタを使用して互いに通信できます。1つの EXA がを M レジスタに書き込み、別の EXA が M レジスタから読み取る場合、値は書き込む EXA から読み込む EXA に送信されます。
  • EXA が M レジスタを読み取っているときに誰も書き込んでいない場合、またはその逆の場合、別の EXA が通信のもう一方を担うまで待機します。完全にタイミングを合わせる必要はありません。
  • EXODUS ユーザーインターフェイスには、M レジスタをグローバルまたはローカル操作に設定できるトグルスイッチがあります。グローバルモードでは、2つの EXA は、それらを接続するリンクのパスがある限り、ネットワーク内の任意の場所で通信できます。ローカルモードでは、2つの EXA が同じホスト内にある場合にのみ通信できます。最後に、グローバルモードの EXA は、同じホストにある場合でも、ローカルモードの EXA と通信できません。

チュートリアル 4:繰り返しと条件分岐
最終的なタスクは、一連の番号を含むファイルを作成することです。これを行うには、ループと呼ばれるものを使用することになるでしょう。ループとは、停止状態になるまでコードを繰り返し実行する場所です。ここにいくつかのヒントがあります。
  • X が 38 に等しいかどうかのテスト(TEST X = 38)のように、レジスタや値を TEST 命令で比較できます。テストが真の場合、T レジスタは I に設定されます。テストが偽の場合、T レジスタは 0 に設定されます。
  • TEST 命令はそれ単体ではそれほど役に立ちませんが、条件付きジャンプ命令(TJMP および FJMP)と組み合わせると、テストの結果に応じてプログラムのさまざまな部分に遷移できます。T レジスタに I に設定されている場合、TJMP(真のときに遷移)が機能します。T レジスタが 0 に設定されている場合、FJMP(偽のときに遷移)が機能します。遷移先が分からない?プログラムの他のどこかの場所で MARK を使って遷移する目標を指定する必要があります。
  • これはループの例です。たとえば、値 9999 をファイルに I0 回書き込んだとします。次のようにして、X レジスタのループを通過した回数を追跡できます。

P12 Runtime Errors and How to Exploit Them
P12 実行時エラーとそれを活用する方法

EXA は、許可されていないことをしようとすることがあります。 これが発生すると、その EXA はホストによって自動的に終了されます。機能的には、HALT 命令を実行したときと同じです。ほとんどのエラーはうんざりするような役に立たないものですが、一部のエラーは利点を生かせるようになるでしょう。

うんざりするエラーから始めましょう
  • Divide by zero(ゼロで除算された)
    コンピュータはゼロで除算することができません。これは数学でも同様です。なぜか理解する必要はあまりありません。ただ、出来ないというだけです。
  • Math with keywords(計算命令にキーワードが使用された)
    加算、減算、乗算、などのような操作にはキーワードは使用できません。計算命令は数値に制限されています。
  • Invalid F register access(無効な F レジスタへのアクセス)
    もし、ファイルを保持していないのに EXA が読み込み、書き込みを行おうとすると、エラーが発生して終了します。まず、ファイルを選択することを忘れないでください。
  • Invalid hardware register access(無効なハードウェアレジスタへのアクセス)
    先ほどと似ています。読み込み、または書き込みを試みる前にアクセスしたいハードウェアレジスタと同じホストに EXA がいるか確認してください。
コードを記述していくうちに、多くのエラーが表示され、修正していくでしょう。バトレット氏は、もっと興味深い種類のエラーについて話しています。

作業しているホストの詳細がすべてわからない場合があります。リンクは変更され、ファイルは消えることがあります。コードを実行しようとして失敗する可能性がある場合にのみ、実行環境について知ることができます。雑な印象を与えるかもしれませんが、あなたは、そのような雑さを認めない大規模なソフトウェア会社で働いているわけではありません(もしそうなら、申し訳ありませんが、人生を変えることを考えた方がいいかもしれません)。ここで重要なのは、そのタスクを成し遂げることだけです。

こちらはより活用できるエラーです
  • Invalid file access(無効なファイルアクセス)
    特定のファイルを探していたとしましょう。 試行する EXA は終了しますが、ファイルが存在しないことがわかります。
  • Invalid link traversal(無効なファイルアクセス)
    特定のリンクを探していたとしましょう。 試行する EXA は終了しますが、リンクが存在しないことがわかります。…パターンが読めましたか?
冗談はさておき、言いたいことは EXA のエラー、クラッシュ、終了することを恐れないでください。彼らはかわいく見えるかもしれませんが、目的は作られ、計算し、そして繰り返し死ぬことであることに注意してください。プログラムでそれを利用できます。
P14 AXIOM EXA Language Referece Guide
P14 AXIOM EXA 言語リファレンスガイド

EXA仮想マシン(EXA-VM)を使用すると、ホストコンピュータの共有ネットワークで多くのエージェント(EXA)を実行できます。ネットワーク内では、EXA を動的に作成、破棄、および1つのホストから別のホストに転送できます。EXA-VMを使用すると、複数の EXA が同じホスト内にある場合でも、すべての EXA を独立して同時に実行できます。

EXA のプログラムは一連の指示で構成されています。各命令には、0個以上のオペランド * が必要です。 各命令に必要なオペランドは、短い省略形を使用して指定されます。

* オペランド:被演算子、命令の対象となるもの
  • R
    レジスタ

  • R/N
    レジスタ、もしくは -9999 ~ 9999 の数値

  • L
    MARK 擬似命令によって定義されたラベル

レジスタ
  • X
    X レジスタは汎用ストレージレジスタであり、数値またはキーワードを格納できます。

  • T
    T レジスタは汎用ストレージレジスタであり、数値またはキーワードを格納できます。これは、TEST命令の宛先でもあり、条件付き遷移(TJMP および FJMP)の判定基準です。

  • F
    F レジスタを使用すると、EXA は保持されたファイルの内容を読み書きできます。EXA がファイルを取得すると、「ファイルカーソル」がファイルの最初の値に設定されます。F レジスタから読み取ると、この値が読み取られます。F レジスタに書き込むと、この値が上書きされます。F レジスタの読み取りまたは書き込み後、ファイルカーソルは自動的に進みます。ファイルの最後に書き込むと、上書きする代わりに新しい値が追加されます。

  • M
    M レジスタは、EXA のメッセージパッシング機能を制御します。 EXA が M レジスタに書き込むと、別の EXA が M レジスタから読み取り、以前に書き込まれた値を受け取るまで、その EXA の送信メッセージスロットに値が格納されます。 この方法で数値とキーワードの両方を転送できます。 EXA が M レジスタに書き込むと、その値が別の EXA によって読み取られるまで実行が一時停止します。

    EXA が M レジスタから読み取る場合、値が読み取れるようになるまで実行を一時停止します。 2つ以上の EXA が同時に別の EXA から読み取ろうとした場合(またはその逆)、1つは成功しますが、どれが成功するかは予測できません。

    デフォルトでは、EXA は同じネットワーク内の他の EXA と通信できます。 これは、EXODUSインターフェースでグローバルとローカル設定を切り替えるか、MODE 命令を実行することにより、同じホスト内の EXA に制限できます。 グローバルモードの EXA は、同じホストにいる場合でも、ローカルモードの EXA と通信できません。
ハードウェアレジスタ
EXA-VM を実行しているホストの中には、ハードウェアレジスタを使用して、接続されたハードウェアへのアクセスを提供するものがあります。 ハードウェアレジスタの有効な名前は、ポンド記号(#)とそれに続く4文字(#POWR や #ENAB など)です。 ホストによっては、ハードウェアレジスタの読み取りと書き込み、読み取りのみ、または書き込みのみが可能です。

制御命令(値の操作)
  • COPY R/N R
    最初のオペランドの値を2番目のオペランドにコピーします。

  • ADDI R/N R/N R
    最初のオペランドの値を2番目のオペランドの値に加算し、その結果を3番目のオペランドに格納します。 同じ構文が SUBI(減算)、MULI(乗算)、DIVI(除算)、およびMODI(モジュロ / 剰余演算:除算の余りを取得する)命令に使用されます。

  • SWIZ R/N R/N R
    2番目のオペランドの値をスウィズルマスクとして使用して、最初のオペランドの値をスウィズル * し、結果を3番目のオペランドに格納します。 次のように、スウィズル命令を使用して、数字の桁を並べ替えたり抽出したりできます。

    * Swizzle(スウィズル):かき混ぜること


制御命令(分岐)
  • MARK L
    この行を指定したラベルでマークします。 MARKは疑似命令であり、実行されません。

  • JUMP L
    指定したラベルに遷移します。

  • TJMP L
    T レジスタが 1 に等しい(あるいは、0 より大きい値)とき、指定したラベルに遷移します。TEST 結果が真の場合に対応します。

  • FJMP L
    T レジスタが 0 に等しいとき、指定したラベルに遷移します。TEST 結果が偽の場合に対応します。

制御命令(値のテスト)
  • TEST R/N = R/N
    1番目のオペランドの値を2番目のオペランドの値と比較します。等しい場合は、T レジスタを 1 に設定します。それ以外の場合は、T レジスタを 0 に設定します。<(より小さい)および >(より大きい)にも同じ構文を使用します。


制御命令(ライフサイクル)
  • REPL L
    新しい EXA のコピーを作成して、指定したラベルにコピーされた EXA が遷移します。
    もし、REPL 命令が実行されるとき、EXA がファイルを保持している場合、ファイルはコピーされずに元の EXA の手元に残ります。

  • HALT
    EXA を終了します。ファイルを保持していたら、そのファイルを落とします。

  • KILL
    同じホストにいる他の EXA を終了します。同じユーザーによって作成された EXA が優先されます。終了可能な対象が複数ある場合、対象は予測できない方法で選択されます。

制御命令(移動)
  • LINK R/N
    指定したIDのリンクを移動します。

  • HOST R
    現在のホストの名前を指定したレジスタにコピーします。

制御命令(通信)
  • MODE
    M レジスタのグローバル / ローカルモードを切り替えます。

  • VOID M
    M レジスタから値を読み取り、破棄します

  • TEST MRD
    EXA が他の EXA から待機せずに読み取り可能な場合、T レジスタに 1 を設定し、そうでない場合、T レジスタに 0 を設定します。

制御命令(ファイル操作)
  • MAKE
    新しいファイルを作成し、保持します。

  • GRAB R/N
    指定したファイルを保持します。

  • FILE R
    指定したレジスタに保持しているファイルのIDをコピーします。

  • SEEK R/N
    ファイルカーソルを指定した数値によって前進(正の値)または後退(負の値)させます。
    SEEK命令がファイルカーソルをファイルの最初より前または最後以降に移動しようとすると、かわりにファイルの最初または最後に強制されます。したがって、-9999または9999の値を使用して、ファイルの最初または最後に確実に移動できます。

  • VOID F
    現在、保持しているファイルから強調表示されている値を取り除きます。

  • DROP
    現在、保持しているファイルを落とします。

  • WIPE
    現在、保持しているファイルを削除します。

  • TEST EOF
    現在、ファイルカーソルが保持しているファイルの最後にある(* 最後の値ではなく、その値の一つ後ろ)場合、T レジスタに 1 を設定し、そうでない場合、T レジスタに 0 を設定します。

制御命令(その他)
  • NOTE
    NOTE 疑似命令に続くテキストはコンパイル時に破棄され、コードを文書化するための「コメント」の記述に使用できます。セミコロンに続く任意のテキストも行のどこにあろうとも破棄されます。

  • RAND R/N R/N R
    最初のオペランドと2番目のオペランド間の乱数を生成し(両端を含む)、結果を3番目のオペランドに格納します。
P18 Debugging the Phage
P18 ファージのデバッグ

「ファージ」として一般に知られている謎の病気は、人体をゆっくりとコンピュータの部品に変えるもので、SFや陰謀論の領域のように聞こえますが、今回のケースでは残念なことに全て現実である。ファージは医学界に進行性神経形成機能不全(時代遅れで正確な名前ではない)、またはあまり使用されないがヴュルツナー症候群としても知られています。

最初はこっ恥ずかしいですが、コンピュータに変身することはサイボーグになるかのようで格好良く聞こえるかもしれません。残念ながら、ファージは、あなたの体を正常に動作しているコンピューターの様には変えません。検査せずにいると、ファージは生命アルゴリズムには無意味な回路を体に残します。

コンピュータを頻繁に使用する人は、より長く使用する傾向が強く、周知の出来事は、1日8時間以上使用している人に発症します。それは四肢(多くの場合は手、時には足)から身体の中心に向かって6ヶ月から18ヶ月にわたって広がり、身体の細胞を半導体のサブ構造を含むプラスチックのような物質の接続された構造にゆっくりと置き換えます。

現在、ファージを治療するための最善の選択肢は、影響を受ける組織をできるだけ早く切除することですが、これは理想的な解決策ではありません。他のいくつかの処置法が開発中です。ある未認可の内服薬は、進行速度を遅くするのに効果的であると思われるが、大多数の患者にとっては法外に高価です。

これより他は、ファージの理解がまだ不十分であるため、急速に憶測で埋め尽くされています。
ファージが、極秘の政府研究所が研究していた人造人間の実験から流出したという主張は客観的には検証不可能です。炭素とシリコンの生命体が結合して新しい高次元の意識を形成する、一種の神秘的な「コンピュータの感情」に関する率直に言って馬鹿げた考えのように。

ある一つの主張は、ファージが元々、直接的な人間とコンピュータとのインターフェースを促進する方法として設計された実証実験だという考えです。 医学部の大学院生の卒業生として、私はこの研究室でファージに精通した知人と自分とで「秘密裏の」実験を少しすることができました。当然のことながら、私たちは両方とも匿名です。

EXAホストとしてのファージノードとのインターフェース
最も興味深いのは、おそらくファージの感染組織が市販のハードウェアデバッガに接続できるインターフェイスを提供するように見えることです。 実証実験のために、通常、EXA ベースの組み込みシステムに使用される Mitsuzen HDI-10 を使用しました。

HDI-10 の電極を導電性の高精度ピンセットで置き換えることにより、以下の顕微鏡画像に示すファージノード集合体に接続することができました。 各ファージノードは小さなホストとして列挙され、接続されたファージノード間に対応するリンクがあります。 適切なリンクIDがない場合、HDI-10 のファームウェアはリンクIDを自動的に設定します。



ファージノードは神経(および神経様)細胞に親和性があり、神経の挙動を乱し、病気に関連する変性症状を引き起こすことが知られています。 ファージが人間とコンピュータの相互作用を支援するように設計されたという考えをさらに支持します。神経細胞に接続されたファージノードは、対応するホストにハードウェアレジスタを提示します。これにより、付着した神経細胞の電位を測定、増幅、および抑制できます。 単位はミリボルトを使用します。 何もない場合、神経は約 -70 mV の静止電位を持ち、興奮すると最大で約 40 mV まで急激に上昇し、抑制されると -120 mV まで低下する可能性があります。

ファージノードに EXA を注入しますか?
宿主となる人間のファージノードに EXA を注入し、成長したファージノードと同じく EXA によって、破壊された神経プロセスを修復するようにプログラムすることが可能であるように思われます。 次に試みたいが、明らかに危険な治療法であり、医学界からは認められません(したがって極秘事項)。このような一回限りの治療が規制当局の承認を得る可能性が低いことは残念です。 私はこれを実行するつもりであり、より多くの情報を報告します。
P22 Hardware Hacks: Hightway Signs
P22 ハードウェアハック:高速道路標識

電子高速道路標識にいたずらすることが好きだったのは、私だけではないでしょう。 キーパッドのロックは簡単に突破することができ、大抵の場合背の高いものはロックされてさえいなかったので、メッセージをいつもよりも簡単に変更することができました。CONSTRUCTION AHEAD (建設中)、 LEFT LANE CLOSED(左レーン封鎖中)や、より楽しい NO SPEED LIMIT(速度制限なし)や HAIL SATAN(悪魔が降ってくる)などといったものまで。

悲しいかな、私たちに気付いた地元の交通機関の活動のおかげで、長い間それはもう不可能になったと思っていました。彼らは、古い高速道路標識を高価な新しいネットワークベースのバージョンに置き換えていったのです 。 リモートが標識を変更する唯一の方法である場合、子供には絶対に改ざんすることはできないのでしょうか?

子供たち、噂によると、新しいリモート高速道路標識は、アクセスするのは少し困難だが、好きな標識に変更するのはまだ簡単だそうだよ。 必要なのは、ここの情報と適切な電話番号だけ。それで、渋滞に巻き込まれた社畜に再び笑顔を取り戻すことができるぞ。

メッセージの改変
一度入り込むと、これらの標識は #DATA に書き込まれた一連の3つの数字のパケット形式でメッセージを受け入れます。最初の数字は行(0から始まる)、2番目は列(0から始まる)、 3番目は表示する文字に対応します。そして、通常、混乱させるのに楽しいレジスタがさらにいくつかあります。 私が見たもののほとんどは、何かを入力すると標識をクリアする #CLRS と呼ばれるものを持っています。 その他、点滅または反転テキストのようにアクティブ化できる効果があります。 一般的な文字対応表は次のとおりです。



以下は、「誰か」がハッキングした可能性のある高速道路標識を写した写真です。 言うまでもなく、この凶悪な行為を犯した人は自分自身を恥ずかしく思うべきであり、私とは何の関係もありません。


「孤高のミッキー、参上!」
P24 DigiCash: Point-of-Sale System
P24 DigiCash:販売時点情報システム

最近では、大小さまざまな企業が、すべての取引をデジタル取引に代替しようと急いでいます。 どうして? より優れているからです! 疑う余地もなく誇大広告に乗っかって、早急なデジタル化を行います。もちろん、手早くずさんに構築されたシステムは笑えるほどのセキュリティを持っています。 この記事では、DigiCash POS(「Point of Sale(販売時点情報)」の略です。製品の品質を示す可能性のある別の頭字語との類似点は、単なる偶然です)の例を見てみましょう。

DigiCashは、特に小規模ビジネス向けの支払い処理の一般的なオプションです。コンビニ、ガソリンスタンド、コインランドリー、日焼け用のベッドさえ、どこででも見つけることができます。 知っていますか、DigiCash のすべてのシステムには共通の技術的アーキテクチャがあります!

顧客データベース
顧客データベース(通常はファイル200)には、顧客ごとに3つの値(顧客ID、未払い金額、未払い金額)を含むリストが格納されています。

取引ログ
取引ログ(通常、ファイル201)は、取引ごとに4つの値(日付、顧客ID、支払われたドル、およびセント)を含むリストが格納されています。 通常、プライマリホストに接続されているリアルタイム時刻モジュールには、取引のタイムスタンプに使用される時刻が表示されます。 クライアント向けにカスタムネットワークマップグラフィックのようにマイナーなものから、メジャーなものまで、わずかなカスタマイズが行われる場合があります。 たとえば、私のアパートの通りにあるコインランドリーは、洗濯機と乾燥機と統合されています。



いずれにしても、メインアーキテクチャは常に同じです。 この情報を踏まえると、悪意のある侵入者が取引や残高を追加、削除することは、システムの1つにアクセスできれば、理論的には非常に簡単です。
P26 Accessing Data in Legacy Storage Systems
P26 古いストレージシステムでのデータアクセス

コンピュータ技術のペースが速いため、多くのものが置き去りにされました。EXA ベースのコンピューティングへの急速な移行により、古いストレージメディアに多くの興味深いデータがとり残されています。EXA 時代以前のストレージへアクセスするのは面倒ですが、 何が見つかるか分からないのでやりがいもあります!古いストレージ形式と、それらを読み取る方法について説明します。

テープストレージシステム
テープストレージシステムは、長期的なストレージまたはバックアップによく使用されていました。EXA がアクセス可能なテープストレージシステムは通常、テープユニットごとに1台のホストで構成され、各ユニットのテープは読み取りおよび書き込み可能なファイルとしてマウントされます。

各テープには、0個以上のバックアップエントリが含まれています。 これらのエントリのデータはテープの先頭から始まり、連続して連結されるため、どのデータがどのバックアップエントリに属しているかを判別できません。 ブー! そのデータを取得するには、多少の手間がかかります。 エントリのメタデータは、ファイルの最後に3つの値の組で格納されます。最初の値はエントリの名前、2番目の値はエントリのデータが始まるデータストリームのオフセット(0から始まる)、3番目の値はエントリの長さです。

たとえば、「SECRET, 3, 4」というメタデータを持つエントリのデータを取得するには、ファイルの先頭に移動し、最初の3つの値をスキップしてから、4つの値を順番に読み取ります。



ハードディスクアレイ *1
*1 ディスクアレイ[www.hitachi.co.jp]:サーバー向けの複数の記憶装置を搭載したシステム

HDDのディスクアレイは、現在でも特定のアプリケーションに使用されています。ファイルのデータを複数のドライブに保存するため、読み取りと書き込みは高速ですが、単一のドライブよりもアクセスが複雑です。ディスクアレイ内では、各ドライブは通常、独自のホストに対応し、ファイルID 200から 209 までの最大10個のファイルが含まれます。各ファイルには、それぞれ10個の値の10個のチャンクに分割される100個の値が含まれます。

最初のドライブの最初のファイル(200)には、ドライブ配列に含まれるすべてのバックアップエントリのテーブルが含まれている必要があります。各エントリは、エントリの名前と、そのエントリのデータを保存するチャンクのアドレスで構成されます。チャンクアドレスは、ドライブ配列のどこかにあるチャンクを指し、100〜999 の数字で表されます。最初の数字はチャンクを含むドライブ(DRIVE-1~DRIVE-9)を示し、2番目の数字はチャンクを含むファイル(ファイル 200~209 への対応)を示し、最後の数字は目的のファイル(オフセット 0~90 への対応)でのアドレスを示します。

たとえば、チャンク 527 を取得するには、ホスト「DRIVE-5」にアクセスし、ファイル 202 を取得し、オフセット 70 を探し、続く10個の値(チャンクのサイズ)を読み取ります。な、それほど複雑じゃないだろ!
P28 Network Explortion: WorkHouse
P28 ネットワーク探索:ワークハウス *

* 米国では軽犯罪者の労役所
昔の英国では貧困者[ja.wikipedia.org]社会的困窮者[ja.wikipedia.org]に住居を提供する施設


お金を稼ぐためにちょっとした現金が必要になったことがあるなら、おそらくワークハウスを検討したことでしょう。 宣伝では、余分なお金を稼ぐための優れた選択肢のように聞こえますが、実際の仕事は塗料が乾くのを見るのと同じくらいの楽しさです。 巨大なデータベースで重複したエントリを手作業で検索したり、ポークカツレツがまだ食べれるかどうかを判別するために画質の悪い写真を見たり、会社の経費で落とされる幹部たちの豪華な晩餐のレシートを入力したりする喜びを想像してください。

ワークハウスが提供する親切で誠実な労働をすると、現実で働くやる気が減り、ソーセージがどのように作られるかを見るためにカーテンの向こう側を覗く傾向が強くなります。 都合がいいことに、サーバーに接続できれば、機械的な壮観が直ちに明らかになるでしょう。

ユーザーデータベース
まず、各アカウントのファイルを含む「ユーザー」ホストが表示されます。このファイルには、ユーザーの名前、生年月日、およびユーザーが毎日稼いだ金額のログが含まれます。 図をご覧ください。おそらく追跡システムの一部として使用され、家畜となった人間(おっと、つまり独立した請負業者のこと)が指示通りに働いていることを監視しているのでしょう。

業務データベース
次に、「業務」ホストがあります。これには、ユーザーに提供できる現在アクティブな業務に関する情報と、詳細な内容が含まれています。



タスクデータベース
ではタスクはどこに保存されていますか? 良い質問です。タスクは実際に仕事を要求している企業のパートナーネットワークから提供され、直接労働者に送信されます。 おそらくこれは単純化のためです...またはおそらく、ワークハウスがシステムを介して来る大雑把なタスクの妥当性をもっともらしくしているのかもしれません。 とにかく、誰もがワークハウスを愛しているのは良いことです。ワークハウスは、反復的な魂を吸うタスクを実行するためにわずかな賃金を支払うことで、人々を日々元気づけます。 彼らに何かが起こったなら、それは実にひどいものでしょう!
P30 Network Exploration: Equity First Bank
P30 ネットワーク探索:公正第一銀行

その銀行をハックするのか?
「ワオ!何だこれ、何らかの犯罪マニュアルか?」
もちろん違います。私たちは法律を遵守します。
そのため、あなたがそれを読んで Equity First Bank に接続し、いきなり口座に$100,000を追加するつもりとは思いません。聡明なあなたなら、大規模な接続を検知されると警報が鳴り、不正検出プログラムやセキュリティ担当者に捕まる可能性が高いことを知っているでしょう。
あなたに期待しています、さあ潜入しましょう。
最初に知っておくべきことは、Equity First Bank は誰もが羨む大銀行の中でも最大のものですが、恐れることはありません。私は彼らのネットワーク内部を覗き見ることができました。そして、サーバー内部構造が他の銀行とさほど変わらないということ判明しました。実に飾り毛のないものです。

口座ファイル
口座は一つずつ個別のファイルに保管されています。
全ての口座ファイルは4つの値で始まります。
口座番号、口座名、口座の種類を示す番号(これまでのところ、2は当座預金、7はローンを示し、他の番号は他の種類の口座であろうことが分かっています)、それから、常に「*」と思われる値。何であれ、将来に使用するためのプレースホルダーになるでしょう。

取引 / 決済
その後、取引を表す4つの値のセットが口座に入力されています。
取引の送金先または入金元の口座、それが「CREDIT(入金)」あるいは「DEBIT(送金)」によって入出金されるか、取引金額のドルとセント。
Equity First Bank は自動的に全ての入金取引に対応する送金取引が確保されていることを確認して、明らかな粉飾決済を未然に防ぎます。



LINDA WALLACE(リンダ・ウォレス) から FASHION ALLEY(ファッション路地)に $33.50 が送金されます。



ATM
ネットワークの背面には、ダイヤルアップ接続で接続された多数のATMがあります。
Equity First ATM は20ドルの請求書の発行のみを行うので、#CASH レジスタは、残っている金額ではなく、残っている請求書の数を示します。 #DISP レジスタに20を書き込むと、請求書の発行が試みられますが、ATM の請求書が切れると、銀行に失敗を警告するメッセージが送信されますので、注意してください!
雑誌・第二号
P02 Building Momentum
P02 創刊の勢い

TRASH WORLD NEWS 第2号へようこそ。これまでの状況を見てみましょう。第2号にもかかわらず、反響は予想よりはるかに大きかったです。私たちの小さな「ジーン」は、数十の店舗やニューススタンドに取り上げられ、たくさんの国々へ一斉に配信しています。この情報は本当に渇望されているようです。良い立ち上がりです、この調子で続けましょう。

ご協力いただける場合は、地元の図書館に TRASH WORLD NEWS が届かない理由をお尋ねください。友達やあなたの敵にさえ本誌を頒布して下さい。そして、投書やコメントを続けてください。私たちが運営する記事への読者からの意見が聞けることは、不眠不休で努力するかいがあります。 すべてに返信することはできませんが、すべての投稿を読むことをお約束します。

この号では、いくつかの信じられないほどのスクープがあります。 他では見られないハッカーの交戦現場の詳細から、最新のビデオゲームやコンソールのハッキングに関する裏の情報、すべての EXA プログラマーが知っておくべきスキルまで。 これは素晴らしいものです。

私は、地平線にさらに大きな啓示があるかもしれないと感じています。 テクノロジーの開発はどんどん速くなっています。 すべてを追跡するのは難しく、 どこであっても全般的に加速しています。 私たちは何らかの最先端にいるような気がしませんか? ある種の大きな変革? 現在設計されている社会は、将来にわたって持続可能ではないように感じ、次の形態がどうなるかを誰もが推測します。

そのような世界にどう対処しますか? 私は他人にそれぞれの人生の生き方を命じたりしませんが、望みを表現することができます。 あなたが興味を持ち、関わり続けることを願っています。そして、 何が起こっているのか、それらすべてにおけるあなたの役目について考えてください。 私の目標は、人々が見つけた情報を共有できるようにすることで、新しい世界が形成されていることを皆が理解することです。
P04 Hacker Buttle Domination
P04 ハッカーバトルの制覇

アンダーグラウンドのコンピューターの熱狂的な新しい流行があります。頭を使うハッカースポーツのようなもので、まだ適切な名前が付いていない最先端のものです。 馬鹿げているように聞こえる「サイバースポーツ」、軍がすでに独自の目的に使用している用語である「電子戦」、あるいは、非常にキャッチーな「ハッカーバトル」という用語でやり取りされているのを耳にしました。

呼び方は何であれ、仕組みはこちら
2人のプレイヤーが中立的な戦場ネットワークに接続します。 それぞれが事前にプログラムされたEXAを同時にアップロードし、コードを実行して、最高のスコアを得るために互いに戦います。 各ネットワークには、独自のスコアリングシステムが備わっています。 目標は、他のプレイヤーのEXAを終了するか、特定のホストを制御するか、「フラグを奪う」スタイルのトーナメントでファイルを取得することです。 勝者は王者となり、永遠に自慢する権利を有します…少なくとも、誰かにやられるまでは。




プロによるハッカーバトルのヒント
楽しそうですね?ハッカーの戦いは、身近なところで既に発生している可能性があります。みんなを招待して、友人、敵、そしておそらく最高のハッカーと知恵を対決しましょう!武装してハッカーのバトルアリーナに入る準備をするために、最初のバトルへ出かける前に知っておいた方がいいことをいくつか挙げておきます。
  • サイクル制限があります
    各戦闘には、実行されるサイクル数に制限があります。この制限に達すると、戦闘が終了し、最もポイントの多いプレイヤーが勝ちます。複数の「テストラン」を伴うバトルでは、テストランの大部分に勝ったプレイヤーがすべての試合に勝ちます。
  • ストレージの制限もあります
    各バトルには、EXA(およびドロップされたファイル)がネットワークで占有できるホストスペースの数に制限があります。この制限を超えようとすると、より多くのスペースが解放されるまでEXAが停止します。
  • 最後にヒント:
    ハッカーの戦闘中のネットワークの状態は、特定するのが難しい場合があります。ファイルは、予想外のときに相手のEXAによって移動されます。柔軟性を高めるために開発し、問題lのエラー処理に関するGhastの別の記事「Runtime Errors and How to Exploit Them(実行時エラーとそれらを悪用する方法)」をご覧ください。
それでは、バトルアリーナであなたの気概をテストしましょう!あなたの戦法を書いて送ってください。もし BayArea にいらっしゃるなら、クラブ「Haxtasy」に立ち寄ってください。そこでは、観客やあなたとの正規試合を開催しています!
P13 Network Exploration: King's Ransom Online
P13 ネットワーク探索:人質奪還オンライン
さあ、戦士たちよ!シックスレルムで最も人気のあるオンラインゲーム「King's Ransom Online(詩人の言葉ではのKRO)」の世界へようこそ。静粛に、KRO は最新のネットワークプログラミングテクノロジーである小さくても気品高き EXA を採用しています。このゲームに接続するすべてのプレイヤーは EXA で表され、すべての武器と建物はファイルで表されます。

KRO に接続する膨大な数のプレーヤーを処理するために、各レルムは専用サーバーでホストされます。悲しいことに、混雑で多く素晴らしい戦いを見逃したということは、プレイヤーがコンテスト中にレルムに接続できなかったことを意味した。

建物
KRO の各建物は、名前、種類(城、建物、アップグレードのいずれか)、所有者のID、および、0個以上のサブ建物のファイルIDを持ちます。サブ建物には、伝説的なウィザードの塔のような、独自のサブ建物を設置することもできます。

武器
各武器は次の形式を持ちます。名前、損傷しているか、攻撃力、攻撃タイプ、速度、重量、耐久性(999:無傷、0:倒壊)、および武器が持つ可能性のある特殊効果。

気をつけろ、戦士よ!そんな知識は危険だ!Great Deep の怒りを買わない内に、この話はやめるとしよう…
P14 Hardware Hacks: Savayama WonderDisc
ハードウェアハック:沢山ワンダーディスク

沢山株式会社は、幕府時代の日本の城にちなんで名付けられました。噂によると、現在の沢山の CEO は、その城の主の直系の子孫です。 沢山は Wonder Disc のようなビデオゲームやファインエレクトロニクスなど、今日では誰もが知る素晴らしい提供者です…地域によってゲームを制御し、ロックしていることを除けば!なんてこった!

地域ロックの基礎
地域ロックとはどうやって機能しますか? Wonder Disc は、ディスク上のトラック全体に地域コードを分散させることにより、地域ロックされています。 OSが組み込みの地域コードと一致しない地域コードを検出すると、ゲームのプレイを拒否します。



残念ながら、Wonder Disc OS は Reality Processor 内でロックされています。Reality Processor は厳重に保護されており、外部の EXA からはアクセスできません。 山の要塞によく似ています。 しかし、山の要塞のように、空の酒樽に隠れたり、排水溝を忍び込んだりするなど、他の方法もあります(私は多くの忍者映画を見ています)。 WonderDisc の場合、この欠陥はディスクドライブ自体です。

ディスク制御装置のハッキング
ディスクドライブのデバッグポートに接続し、1つまたは複数の EXA をディスク制御装置に挿入することができます。その後、Wonder Disc がどのトラックを読み込む必要があるかを #TRAK レジスタから読み取ることができます。そのファイルのコピーを作成して、トラックの地域コードを Wonder Disc デバイスの地域コードに置き換えます。変更したトラックコピーを「buffer」ホストにドロップすると、Reality Processor から EXA が出てきて、あなたの EXA の立ち入りが許可されていない場所にファイルを持ち帰ります。



ディスクドライブのロック解除
小さな落とし穴が1つあります。Wonder Disc ではドライブ自体のロックを解除してからでないと、何も読み取れません。コンソールを改造しない場合は自動的に行われますが、デバッグ時はそのキーを自分で提供する必要があります。5つの優れた Wonder Disc ドライブを無駄にしましたが、運よくフッ酸のボトルと高倍率の顕微鏡を使用した方法でキーを抽出を完了することできました。

P18 Modem Control at the Direct level
DIRECT レベルでのモデム制御

リモートネットワークから電話をダイヤルすると、通常、実際のダイヤルは意識させず、開発環境またはネットワークブラウザによって隠されます。これは、実際、最近のパソコンに付属しているほとんどのモデムソフトを使用して行うことができる唯一の方法です。だからこそ、専用のハードウェアモデムを入手することをお勧めします。 ハードウェアモデムを使用すると、独自の EXA を直接アップロードして、実行内容をより詳細に制御できます。

技術的な詳細
この項では、どのような制御の種類について述べますか?まあ、すべての NETronics 互換モデムには、プログラムで電話番号をダイヤルするため、一度に1桁を受け取る #DIAL レジスタがあります。接続を確立した後(実際に相手と会話したいコンピューターが存在すると仮定すると)、800リンクを経由してリモートホストに接続できるようになります。 #DIAL レジスタに -1 を書き込むと、モデムがハングアップします。リモートネットワークに接続している場合、接続が切断されます。

モデムには、リモートモデムが電話回線を呼び出したときに自動的にピックアップするかどうかを制御する物理スイッチが必要です。 あなたが何をしているのか知らない限り、この機能を残さないでください! これは、直接レベルのモデム制御に固有のものではありません。モデムをコンピューターに接続している人にとっては良いアドバイスです。 誰が電話しているかはわかりません。 一部の新しいモデムには、自分にダイヤルしたモデムの電話番号を伝える「発信者ID」機能がありますが、まだ普及も標準化もされていません。




ハードウェアモデムの購入
DIRECT レベルのモデム制御をサポートするモデムがない場合は、NETronics NET40 または TEC EXA-Blaster を探してください。現時点ではどちらも数年前に発売されており、安価な余剰販売店から約50ドルで購入できます。



高価な商用グレードのモデムをだまされてはいけません。内製に違いはありません。小売では2倍の費用がかかりますが、商用グレードの NET8O は、集合モデム[yougo.ascii.jp]で使用するために積み重ねるように設計されたプラスチックケースを除いて、NET40 と同じです。それは企業の顧客をターゲットにしたものです。
P20 Network Exploration: Geographic Information Systems
P20 ネットワーク探索:地理情報システム

現実の世界の物理的な場所に対応する情報も含め、最近あらゆる種類の情報をデジタル化が急速に行われていることに気づいたかもしれません。 たとえば、公共事業会社や旅行代理店の場合に便利です。データは実際の生活と同じ空間関係を自動的に継承するからです。これらのネットワークをレイアウトする一般化された方法がいくつかあります。これは派手なプログラマーが地理情報システム(GIS)と呼ぶこともあります。

現在、これらの種類のデータセットへのアクセスは、すべての空間を構成するため変則的になることがあります。通常のデータベーススタイルの「大きなリスト」とは異なります。 しかし、ひとたび慣れれば、それほど悪くはありません。 ここでは、GIS のいくつかの一般的なスキームについて説明します。そして、必要なものを何であろうと探して、取得できるようになります。

StreetSmarts
都市にマッピングされた GIS ネットワークの一般的なシステムの1つは、StreetSmartsです。 StreetSmartsでは、各都市ブロックはネットワーク内の小さなホストに対応しています。 ネットワークの探索に一貫性を持たせるために、リンクIDはコンパスの方向(N = 800、E = 801、S = 802、W = 803)に対応しています。



GLOBALYST
もう1つの世界規模で一般的な GIS ネットワークシステムは GLOBALYST と呼ばれています。GLOBALYST では、各国がホストに対応し、一般的な旅行ルートや大洋横断ケーブルなど、それらの国間の何らかの物理的接続に一致するリンクを備えています。

P22 Lock to the Stars with Satellite Uplink Systems
P22 衛星アップリンクシステムに標的にする

通信衛星は素晴らしい技術です。彼らは長距離電話を中継でき、世界中のテレビ局にライブ放送を送ることさえできます!現代の通信インフラストラクチャに関心のある人は、衛星がどのように機能するかについて何かを学ぶ必要があります。特に、衛星は今後数十年でさらに一般的になるからです。

接続の確立
最初は恐ろしく思えるかもしれませんが、衛星は実際には地球の周りの軌道上にある高価なコンピューターにすぎません。それらと通信するのは難しくありません。 あなたが知る必要がある最初の事はアンテナの位置です。 衛星放送の受信アンテナは、正確に照準を合わせる必要があります(宇宙空間で何かを特定しようとしているため...明らかに)。 アンテナの位置は通常、方位角と仰角で表され、アンテナ自体はモーターで制御されます。 EXA 制御システムでは、現在の位置(この場合は角度)を読み取ることができるレジスタと、モーターの動きを制御するレジスタ(どちらかの方向に移動するには 1 または -1 を書き込む)があり、インターフェースとしては珍しくありません。



ペイロード *1 を暗号化する
*1 ペイロード[www.weblio.jp]:パケット通信の付加情報を除いたデータそのもののこと

次の懸念は暗号化です。 誰もが衛星放送の受信アンテナを衛星に向けて照準を合わせることができるため、ほぼすべてのシステムは、暗号化用キーで暗号化されていない通信を拒否します。 ただし、キーを手に入れた場合、実装は非常に簡単です。 データの配列を暗号化するには、最初のキーを最初のデータに加算し、合計が 10000 に達したときに 0 に戻します。したがって、データが 7407 でキーが 3894 の場合、合計は 11301 となり、代わりに 1301 として送信されます。2番目のデータを暗号化するには、2番目のキーを使用します。 メッセージがキーよりも長い場合、キーが不足します。 この場合、キーの配列の先頭に戻り、もう一度初めから繰り返します。 それでおしまい!

P26 How to Validate Cradit Card Numbers
P26 クレジットカード番号を検証する方法

クレジットカードをいじったことがあれば、任意の数字で構成しても受け入れられないことを知っていますね。

この記事では、すべての主要なクレジットカード発行会社と処理会社がカード番号を検証するために使用する方法を紹介します。この工程を知っていれば、検証に合格する数値を生成できます。

お気づきかもしれませんが、ほとんどのクレジットカード番号は16桁です。最初の15はアカウント番号ですが、最後の数字は「チェックディジット」で、アカウント番号が正しく入力、または読み込まれたことを確認します。

数値を検証するには、まず、16桁すべてを左から右に合計します。偶数桁(2、4、6、8、10、12、14、16)にはそのまま数字を加算しますが、奇数桁(1、3、5、7、9、11、13、15)のときは、合計に加算する前に数字を2倍にし9より大きい場合は9を引く必要があります。

合計の一の位が0の場合、つまり、数値が10で割り切れる場合、それは有効なクレジットカードです。なぜこんな設計をされているのか?合点がいきません!その理由についてもっと知っている人がいたら、気軽に投稿してください…

クレジットカード番号と検証工程の要約を例に示します。



もちろん、有効なクレジットカード番号を生成したからといって、それが実際の実際のクレジットカード番号であるとは限りません。 検証は、あなたが持っているクレジットカード番号が間違っているかどうかを確認するためのものです。 有効な番号は存在しないアカウントへのアクセスに使用されるため、この番号を使用しようとしても機能しません。 しかし、これはシステム全体の一部であり、今後の記事で取り上げる可能性があります。
P28 Code Repetition with MACRO instructions
P28 繰り返しコード用のマクロ紹介

EXA をコーディングしているとき、何かを2回以上、常に同じ回数行う必要があるといいます。場合によっては、ループを作成するよりも、1行または複数行のコードを数回コピーして貼り付ける方が簡単であることが分わかるでしょう。

時には、べた書きがスマートなコード
これらのコードを検証してください。
左側:ループを使用して、1〜5の値ををファイルに書き込みます。
右側:ループを「展開」すると、次のように書き直すことができます。



面白くはないように見えますが、このように書くことにはいくつかの利点があります。1つは、レジスタを使用しないことです。

おそらくより重要なのは、ループを使用するよりも4倍以上速いことです。ループの展開はより便利で、時には効率的ですが、コードのコピーと貼り付けはエラーが発生しやすく、特に貼り付けたバージョンで小さな調整を行う必要がある場合は面倒です。 ここで、マクロ命令により秘密の魔法が発揮されます。 最近バージョンの EXODUS に導入されたばかりなので、マクロ命令は「コードを書き込むコード」と考えてください。 より技術的には、これらは繰り返しコードを生成する疑似命令なので、すべてのものを手動で記述する必要はないということです。

左側のコードの代わりに、右側のコードで書き直すことができます。



構文の詳細は次のとおりです

@REP N
これと後続の @END 疑似命令の間のコードを N 回繰り返します。 N はレジスタではなく定数である必要があります。これは、プログラムが実行を開始する前にループを展開するためです。@ REP / @ END ブロックをネストする(入れ子にする)こともできません。

@{N,M}
これは、計算された数値定数を置き換えます。 最初の繰り返しでは、値 N が使用されます。 以降の繰り返しでは、値は毎回 M ずつ増加します。N と M は定数でなければなりません。
P30 Trash World Kitchen
あなたはハッカー、ネットワークに生きています。
物質的な現実はありません。
あなたは精神的な構造。存在、魂にコンテナはありません。

それはあなたの理想かもしれません。しかし、今いくつかの悪いニュースがあります。
あなたはまだ肉体の中にいます。それは、肉体に食事を与え、世話をするなどしなければならないということです。あなたはそのやり方を知っています。しばらくすると、退屈になり、あなたはもうそれについて考えることはありません。たぶん、この生活の様相に関する私たちの経験は、Last Stop からいくつかのスナックとソーダを手に入れることで始まり、終わります。
このコラムでは、大量のお金、グルメな食材、プロのキッチン用品を必要とする料理については説明するつもりはありません。それは退屈です。付け加えると、今日のどんな犠牲を厭わない考え方(*美食主義)がしっくり来ないのです。
私たちは、非常においしい食べ物をもたらすが、このポスト......まあ、ポスト社会では完全に機能する食品の準備の学校が必要です。

~~~~
  • ドーナツを取る
  • 電子レンジで中が柔らかくなるまでチンします(一つにつき10秒)
  • 金属トレイもしくは銀紙のシートに置く
  • オーブンをブロイルモードにする *1
  • オーブンに入れて、ドーナツがブロイラーの約2インチ下になるようにラックを調整します *2
  • オーブンのドアを開いたままにします
  • ブロイラーは熱くなるのが早いので監視する
  • ドーナツが茶色になり始めた後、焦げる前に取り出す(~1、2分)

*1 ブロイルとは、直火焼きのことでオーブンでは赤外線を用いる
*2 ここでブロイラーとは、熱くなる熱線部のことを指す