Шэньчжэньский ввод/вывод 日本語リファレンス・マニュアル
GHub Platform · Гайд · 0 ответов · 17 просмотров

このマニュアルは私個人がШэньчжэнь Ввод/вывод.翻訳いたします。メールやビザなどのストーリーテリングについては翻訳しません。このマニュアルは英語を読めなくてもゲームが進められる様に書かれたものであり、ゲームを買わなくても楽しめるもので或ってはならないと考えたからです。その為、ゲームの購入者はこのガイドと合わせて公式pdfを読むことを 強く 推奨します。また、理解の助けのために一部分に於いてこのマニュアル独自の記載を施していますが、概ねは公式マニュアルに則った形で書かれています。文中にオペランドという言葉が頻出します。これはプログラミング用語で被演算子を意味し、処理の対象となるものです。プログラムは命令とオペランドのセットで構成されます。つまり、"何に"、"何を"するかを書くのがプログラムです。この場合"何に"がオペランド、"何を"が命令にそれぞれ相当します。頻出語句なので確認しておいてください。最後に、ご意見のある方はコメントをよろしくお願いします。皆様のお陰でこのマニュアルの質が向上することでしょう。 Человек-Птица氏によって日本語化用ファイルが公開されています。詳細は以下を参照してください。 Bird Man氏のレビュー https://steamcommunity.com/id/IkioiShota/recommended/504210/ Шэньчжэньский ввод-вывод, 2 種類, 入出力, ピンがあります, Простой I/O, XBus, XBus, Simple I/O, Simple I/O. Простой ввод/выводの値は0から100までの連続的な値です。Простой ввод/выводのピンには何も書かれていません。 Простой Ввод/вывод.イッチ、マイクなど)への接続のために用いられます。また他の装置へのシンプルな出力(例えばLEDやスピーカー、モーターなど)にも使われます。 XBus XBusの値は-999から999までのデジタル信号です。 XBusのピンには黄色いドットの印があります。 XBusは通常、マイコン間のデータ転送や複雑な入出力(例えばキーパッドや数値ディスプレイなど)に用いられます。 Простой ввод/вывод, XBus, простой Ввод/вывод. (訳註: Просто Ввод/вывод.まで書き込まれた値を保持して出力します。またПростой Ввод/вывод.の入力値が得られます。また、複数の入力がある場合は最も高い入力値が得られます。しかしピンが出力している値を、そのПростой Ввод/вывод. XBusはしかし、同期プロトコルです。XBusを流れるデータは送信者と受信者の両方が通信準備状態になった時のみ送信されます。もし片方が通信準備状態でない場合に送受信を行おうとした場合、送受信エラーにより処理がブロックされ、動かなくなります。 (訳註:同じTU内でお互いに通信準備状態になれば多少のズレは問題なく、エラーは発生しません。しかしいずれかのマイコンが通信準備状態のままTUを終了するとブロックが発生し、処理が続行できません。) (訳註2:1本のバスに対して複数のマイコンから出力を行ってもXB usはある程度適切な処理が可能です。しかし1本のバスから複数のマイコンが入力を得ようとした場合、その解決順序はある程度一定の規則があるものの予測不能であり、不安定なシステムとなってしまいます。) ЦП, процессор, 1 процессор, 1 процессор. (以下1TU)に非常に大量の処理が行なえます。次の処理へ進むまでの間に、CPUはスリープ状態になれます。 CPU, をスリープ状態にするには、slp命令を用い、スリープさせたいTUを整数値でオ ペランドにします。 サンプル回路 矩形波発生器 以下のプログラムはpin1のSimple I/OのON(100)とOFF(0)を3TU毎に切り替え、矩形波を生成します。 加筆説明(蛇足) Time Unit(TU)についてやや補足説明をすると、1 TUとは入出力に於いて値が変化しうる最小単位です。ゲーム画面の下側、Verificationでは入出力のお手本がグラフによって示されています。グラフは横軸が時間、縦軸が値です。この入出力のグラフをよく見ると、時間軸が一定の幅で区切られています。その時間幅がTime Unitの正体です。 例えばslp 1 процессор, 1 TU, процессор, процессор.ます。再開のタイミングは次のTUに入った瞬間です。このslp命令を使わない場合、(正確な値ではありませんが)C PUは1秒間に1000回以上の命令を実行することが出来ます。しかしそれでは消費電力が膨大なものになってしまうため、slp Используйте процессор, процессор или процессор.以下の画像はゲーム画面の一部をTU毎に目盛り付けた画像です。視認性向上の為やや明るさを調整しています。 以下の回路は触れた時に光るライトの制御装置のリファレンスデザインです。(訳註:リファレンスデザインとはマイコン使用例として示される設計図)ユーザーが静電容量式スイッチに触った時、制御装置が立ち上がる波形を検知し、ライトの光量を変化させます。光量は0%、50%、100%と段階的に上がり、100%のときに触ると0%に戻ります。 1つ目のマイコンはSimple. I/Oピンのp0に繋がれた静電容量式スイッチの値を読み取り、2つ目のマイコンに0または1の値を毎TU送っています。値が0のときはスイッチは触れられてない事を意味し、1のときは触れられた事を意味します。1つ目のマイコンは以前スイッチから読み取った値をaccレジスタに保存しておくことで、0から100への値の立ち上がりの変化を検知することが出来ます。 2つ目のマイコンは現在の光量をaccレジスタへと保存しています。2つ目のマイコンはslx命令を用いて、1つ目のマイコンがXBusの値を送ってくるのを待機しています。そしてその値が1だった場合、accの値を50 増加させます。もし増加させた後に100より大きければ、accの値を0に戻します。それらの計算の結果はпросто I/Oピンのp1を用いてライトへと伝達されます。 MCxxxx系マイコンはシステム設計をシンプルにするコモンプログラミングを採用しており、新たな製品を開発する時間を減らすことが出来ます。プログラムの記述はMCx xxx系マイコン内で共通であり、いずれの製品でもほとんど書き換えることなく、動作します。(それぞれの製品はモデル固有のデータシートに書かれている通り、様々な機能、ピン配置、プログラム空間の制約などが異なります。プログラムの移植はこれらの差異を考慮する必要があります。) MCxxxxのプログラムは小さなアセンブル言語ですが多彩な演算子を持っています。MCxxxxのそれぞれの行には一つの命令のみ入ります。その構成は、命令名と0個もしくは1個以上のオペランドです。詳しい命令の説明と使い方は以下に書かれています。 MCxxxxマイコンは使用電力に制約がある環境やアプリケーションで使用されるように設計されており、MCxxxxプログラミングシステムは、それに応じて設計されています。MCxxxxマイコンがスリープ状態にある場合、マイコンは電力を消費しません。そうでなければ、消費電力は実行される命令の数に比例します。 MCxxxxのプログラムは毎行、以下の構造になっていなければなりません。 [ラベル:] [条件+/-] [命令] [#コメント]全ての要素は省略可能ですが、存在する場合は必ずこの順序に従ってください。以下に構文的に有効な例を示します。 #Эта строка является комментарием. (この行はコメントです) цикл: #until ACC равно десяти (ACCが10になるまで) teq acc 10 + jmp end mov 50 x2 add 1 jm p конец цикла: mov 0 акк # сброс счетчика "#"文字に続く文章はその行中では無視されます。コメントはプログラムの説明をプログラム中に書くことで開発者の作業効率を向上させることが出来ます。 ラベルは必ず行の最初に書かなければなりません。ラベルを書くときは一番最後の文字を":"(コロン)にします。ラベルはjmp命令においてjump先を指定する際に用います。ラベル名は英字から始めなければなりません。ラベル名には英字の他に数字やアンダーバーが使えます。 MCxxxxのプログラミング言語の全ての命令は条件付き実行が可能です。命令の前に"+"や"-"の文字を接頭辞としてつけると、その命令はそれ以前のテスト命令によって実行されるかどうかを切り替える事が可能です。テスト命令によってその命令が無効になった場合、その命令はスキップされ電力は消費されません。接頭辞が無い命令に対しては、テスト命令は効力を発揮せず、どの場合でも実行されます。デフォルトでは接頭辞付きの命令は無効化され実行されません。接頭辞付きの命令を実行したい場合はテスト命令を用いて有効化する必要があります。条件付き命令の使用例についてはアプリケーションノート650:接触点灯ライト制御装置を御覧ください。 レジスタはMCxxxxのデータ操作命令においてオペランドとして使用されます。使えるレジスタはMCxxxxのモデルによって異なります。もしそのマイコンで実装されていないレジスタをマイコンのプログラム中で使用しようとした場合はエラーになります。 соотв.はメインの多目的レジスタであり、MCxxxx系マイコンでの内部計算に使用されます。全ての算術演算が暗黙的にaccを用いて計算し、accに結果を格納します。 этоは副次的なレジスタであり、いくつかのMCxxxx系マイコンにおいて実装されています。datはaccが使用できる殆どの場面においてその代わりに使用できます。 Accやdatなどの内部レジスタの初期化時の値は0です。ピンレジスタ(p0,p1,x0,x1,x2,x3)はMCxxxx系マイコンのピンへの読み書きをするときに使われます。ピンを通しての読み書きによって、MCxxxxマイコンは他の互換性を持つ機器と同調し、通信できるようになります。MCxxxx系マイコンのそれぞれのピンはпросто I/OまたはXBusのどちらかとして機能します。各ピンの詳細な機能については該当するデータシートを参照してください。 nullレジスタは擬似レジスタです。nullレジスタを読み込むと0が帰ってきます。nullレジスタに書き込みを行ってもその値は破棄されます。 それぞれの命令には固有の数のオペランドが必要です。もしその命令にオペランドが必要な場合、命令名の後ろにスペース区切りでオペランドを書かなければなりません。複数のオペランドがある場合もスペースで区切ります。命令のオペランドは次の説明において以下の様に省略されます 省略形 意味 нет この命令は何も行いません mov R/I R第1オペランドから値をコピーして第2オペランドへと格納します。 jmp L指定されたラベルの次の命令へとジャンプします。 slp R/Iオペランドで指定されたTUだけスリープ状態にします。 slx Pオペランドで指定されたXBusピンが読み取り可能になるまでスリープします。 レジスタの値は-999から999までの整数値として格納されます。もし算術命令の結果、値があふれる場合は制限内に収まるよう丸めが発生します。つまり1000以上は999に、-1000以下は-999として格納されます。例えばaccに800が格納されているときにadd Добавить R/Iオペランドで指定された数とaccレジスタを加算し、その和をaccレジスタに格納します。 sub R/Iオペランドで指定された数をaccレジスタから減算し、その差をaccレジスタに格納します。 mul R/I オペランドで指定された数とaccレジスタを乗算し、その積をa ccレジスタに格納します。 нетもしaccレジスタに0が格納されていた場合、accレジスタに10 0を格納します。そうでない場合はaccレジスタに0を格納します。 dgt R/I аккレジスタからオペランドで指定された桁を抜き出し、それをаккレジスタに格納します。使用例 согласно 命令 結果(согласноに格納) 条件付き実行や"+"や"-"の意味についての詳細な説明が必要ならば"条件付き実行"の項を御覧ください。 teq R/I R/I 第1オペランド(A)と第2オペランド(B)の値が同じかどうかテストする。 条件+接頭辞付き命令 -接頭辞付き命令 コメント欄より情報提供をいただきました。ネタバレになるため、スポイルしております。 矩形波生成命令 gen P R/I R/IピンレジスタPに対して矩形波を出力します。続く2つのオペランドは、それぞれON(100)とOFF(0)のTUの長さです。第一オペランド:出力対象のPin 第二オペランド:ON(100)にする長さTU第三オペランド:OFF(0)にする長さTU 以下の動きと同様になります。 Первоначальное сообщение от sifue: ------------- gen P X Y以下と同等 mov 100 P slp X mov 0 P slp Y ------------- 初回実行の接頭辞 @ +や-と同様に使用します。その行は最初の一度のみ実行されます。 ブリッジはPDFに載っていない部品です。ブリッジは回路上で線が混線するのを防ぐ為に使われます。ブリッジのそれぞれの足は信号を伝達する事が出来ます。それらをつなぐ線は絶縁されており、他の信号線と接続する事はありません。ブリッジを用いることで信号線をまたいで通信を伝達する事ができます。図はブリッジの使用例です。左の線ABはブリッジをまたいで右の線ABと対応するように接続されます。 MC4000.なたが一番最初に触ることになるマイコンです。 MC4000は以下の機能を持っています。 9 行のプログラムスペース 1つの汎用レジスタ2. XBus, 2. Simple I/O, MC4000X, Simple. I/O, 4, XBus, XBus, っています. MC6000, MC4000, MC4000, MC4000, MC4000, MC4000. MC6000, 14 минут, 2 минуты, MC6000. 4. XBus. 2. Простой ввод/вывод. DX300はとてもシンプルな機能を持ちますが、やや理解のし難い動作をする部品です。 DX300, XBus, Простой I/O, XBus, Simple. Ввод/вывод.を埋めるためにやや奇妙に見える挙動をします。 DX300, 3, XBus, 3, Simple I/O, 持ちます. XBusピンはいずれも同様に用いることができ、それぞれのピンでの動作の違いはありません。ただしПростой Ввод/вывод.おり、ピンによってその振る舞いが異なります。 XBusに値を書き込むとそれに対応したSimple I/Oピンが値をます。入力されたXBusの値の内、 1の位が1以上であればp0から100を出力します。 10の位が1以上であればp1から100を出力します。 100の位が1以上であればp2から100を出力します。そしてそれらの値は3つあるXBusピンのいずれかより新たに値が上書きされるまで保持されます。 Простой ввод/вывод XBus. p0に50以上の入力があるならば1の位が1になります。 p1に50以上の入力があるならば10の位が1になります。 p2に50以上の入力があるならば100の位が1になります。これらの動作で注意しなければならない 事は、この部品が出力したПростой I/O.つまりXBusピンに1を入力し、p0から100が出力される状態にあったとしても、その信号はp0に入力されてはいないためXBusの読み取りを行っても0しか帰ってきません。そのためこの部品を簡易フラグメモリとして用いることは出来ません。 入出力例 XBus ⇔ р2 р1 р0 100P-14, 記憶装置です。14個までの整数値を保存できます。 100П-14は14個のメモリセルを持ちます。 100П-14は独立した2つのポインタを持ちます。 100P-14はXBusのピンを4つ持っており、そのうち2つはアドレスピンであり、残りはデータピンです。全てのメモリセルは0として初期化されます。全てのポインタは0として初期化されます。メモリポインタはアドレスピンを通して読み書きできます。データはデータピンを通してポインタの指し示すメモリセルに対して読み書きできます。データの読み書きを行った後に自動的にポインタが1つ増加します。 100П-14, 100П-33, 100П-33, китайская версияリセルが33 個に増えています。ピンが6 個に増えていますが、その内2つはダミーピンです。 . . . 以下は100P-14の振る舞いの詳細な説明ですが、やや冗長であるので蛇足とします。 100П-14は14個の記憶領域を持つランダムアクセスメモリです。ランダムアクセスメモリとはマイコンによって読み書き可能なメモリです。レジスタに格納しきれない大量のデータを扱う事に向いています。またそのメモリセルは揮発性を持つため、予めデータを格納しておくことは出来ません。 100П-14, のメモリセルは-999から999の整数値データを1つ格納可能です。各々のメモリセルの位置をアドレスと呼び、その中でもアクセス対象になっているアドレスを特別にポインタと呼びます。アドレスは0から始まり13まであります。 100П-14.み書きが可能です。ポインタで指し示していないメモリセルに対して読み書きを行いたいときはアドレスピンにアドレスを絶対値指定で書き込んでポインタを指定します。アドレスピンに対して0~13のアドレス範囲を超える指定をした場合、ポインタは書き込んだ値を14で割った余りのアドレスを指します。 100П-14, はメモリセルへの読み書きの後で自動でポインタを1つ加算します。ポインタが13の時に読み書きするとポインタは0に戻ります。そのため100P-14は連続でデータを書き込んだり読み込んだりするのが得意です。この性質のため、100P-14は固定長のキューとして用いる事ができます。ただしスタックとして用いるには不便です。 100П-14はアドレスピンとデータピンのセットを2つ持っています。 d0とa0,d1とa1は
ИсточникGHub Platform · автор12.08.2026, 07:00:51
このマニュアルは私個人がШэньчжэнь Ввод/вывод.翻訳いたします。メールやビザなどのストーリーテリングについては翻訳しません。このマニュアルは英語を読めなくてもゲームが進められる様に書かれたものであり、ゲームを買わなくても楽しめるもので或ってはならないと考えたからです。その為、ゲームの購入者はこのガイドと合わせて公式pdfを読むことを 強く 推奨します。また、理解の助けのために一部分に於いてこのマニュアル独自の記載を施していますが、概ねは公式マニュアルに則った形で書かれています。文中にオペランドという言葉が頻出します。これはプログラミング…
Войдите, чтобы писать в группе