UTC+09:00 ----- Tuesday, September 19th ----- sksat [3:55 PM] 結構出来てきたかんじのとこで言うのはちょっとアレなんですけど、ここのアセンブリって既存のアーキテクチャっぽさ強くないですかね?(独立した世界としてはどうなんだろう、とかもくもく会で思ったので) jekto_vatimeliju [3:57 PM] 例えば、記憶装置は「速くて高い」か「遅くて安い」かの2択なわけで、そうなるとレジスタの存在は自然ですね? sksat [3:57 PM] はい [4:00] レジスタの存在というか、高速なレジスタ(でも高いから容量はすごく小さい)と遅いメモリなりHDDなり(安くて容量デカく取れる)に分かれた構造、ですかね? jekto_vatimeliju [4:00 PM] そういうことです。メモリの階層化というやつです。 jekto_vatimeliju [4:06 PM] ということで、レジスタがあったりするのは自然でしょう。 [4:07] 次に、構文です。確かに現世のアセンブリ言語と構文が似ていますが、これは英語とリパライン語が共に「主格を省略し、文頭に動詞を持ってくると命令文になる」という性質を持っているからに過ぎません。 [4:08] 英語と違って、リパライン語の名詞にはそれぞれどの格なのかを表すための格語尾がつきます。 sksat [4:09 PM] ふむふむ jekto_vatimeliju [4:09 PM] しかし、それを毎回指定するのは煩雑なので、先頭で'i'cと書くことで「第一オペランドが'i、第二オペランドが'c」という風にまとめて指定できるのです。 [4:10] ということで、CPUに実行させたい命令をリパライン語で表現し、それを形式的な形に起こすとどうしても現状の仕様のようになるんじゃないかなぁと私は考えます。 [4:12] リパライン語準拠の原則によって現世と差がついている面としては、比較演算子の構文が挙げられるでしょう。 (edited) [4:13] http://jurliyuuri.com/OS/opcode.html にも書きましたが、 [4:13] `fi f0 f1 llo malkrz f2 f3` というコードは、 [4:15] fi f0 es f1 le loler, mal krantairzarth f2'c f3'i. 「f0がf1よりも大きいならば、f3をf2にコピーする」というリパライン語表現にちょうど対応するのです。 (edited) sksat [4:16 PM] なるほど jekto_vatimeliju [4:19 PM] なお、上記の文はリパライン語としては比較級の文「f0 es f1 le loler」『f0はf1より大きい』と「fi A (,/mal) B.」『もしAならばB』から構成されています。 (edited) [4:21] しかし、アセンブリ言語としては「 `fi f0 f1 llo` 」という「フラグを立てる命令」と「 `malkrz f2 f3` 」という「フラグを見て処理する命令」という2つとして再解釈されるのです。 (edited) sksat [4:22 PM] むむ? jekto_vatimeliju [4:22 PM] リパライン語の方ではfi節の後のmalは省略可能ですが、命令としては `krz` と `malkrz` は別物なので、 [4:22] (割り込み処理開始)なんでしょう sksat むむ? Posted in #アセンブリ言語Sep 19th at 4:22 PM (edited) sksat [4:23 PM] http://jurliyuuri.com/OS/opcode.html の4-1の"例"のところの ```fi f0 f1 lloler ``` って、 ```fi f0 f1 llo ``` の間違いですか? jekto_vatimeliju [4:24 PM] いいえ。ログを辿ればわかりますが、後に「長いから改正」となるのです。 (edited) [4:24] 6. の最後の方に『llolerについても反応を得た。「lloとでもすればいいのじゃろうなあ」とのこと。同意。』とあります sksat [4:24 PM] あ、過去の仕様なんですね jekto_vatimeliju [4:25 PM] そうです。冒頭に太字で *すでに絶滅した過去の仕様などが数多く含まれています* と書いておいたはずです。 [4:26] (割り込み処理終了) [4:26] vatimeliju jekto リパライン語の方ではfi節の後のmalは省略可能ですが、命令としては `krz` と `malkrz` は別物なので、 Posted in #アセンブリ言語Sep 19th at 4:22 PM [4:27] 別物なので、「ちょうど現世でCの初心者が `if(a = 1)` と書いてバグらせるように、悠里世界でリパラオネ人が `fi f0 f1 llo krz f2 f3` と書いてバグらせる」という設定も考えてあります。 jekto_vatimeliju [4:32 PM] こういう風な面の考察は悠里創作に欠かせないので、ぜひリパライン語をかじって案とか出していただけると(⋈◍>◡<◍)。✧♡ (リパライン語のガチプロになる必要はないのです。そもそも私もそんなには詳しくないし。) (edited) sksat [4:35 PM] やっぱり元になる言語を多少はかじらないとってかんじですね(それはそう) jekto_vatimeliju [4:35 PM] まあ「連邦」情報処理研究所ですからねぇ [4:37] ユエスレオネ連邦の最大言語はリパライン語のはずですし (edited) [4:42] 『2003fの開発に外国人が大量に関わったために怪しいリパライン語が多く書かれるようになり、それに関するチェック部門が中央省国際協力院に設置される。これは後の言語翻訳庁及び各言語の学士院の先駆けである。』という歴史設定があるので、多少我々のリパライン語が雑でも許されます(これは罠で、メタ的に言えば許すためにこういう設定となった) https://sites.google.com/site/riparaincangku/yuesureone-ren-gong-shi-jie-she-ding/li-shi/philerl ----- Yesterday September 22nd, 2017 ----- jekto_vatimeliju [12:31 AM] これに続く議論を見ていただければ分かりますが、「こうすると現世っぽくなってしまうからあえて逆にしよう」というような考えは、かえって現世を意識してしまっていることになるので、悠里創作においては好まれません。2択(リトルエンディアンか?ビッグエンディアンか?とか)で迷ったときは、サイコロを振りましょう。 sksat 結構出来てきたかんじのとこで言うのはちょっとアレなんですけど、ここのアセンブリって既存のアーキテクチャっぽさ強くないですかね?(独立した世界としてはどうなんだろう、とかもくもく会で思ったので) Posted in #アセンブリ言語Sep 19th at 3:55 PM [12:32] 悠里アセンブリの創作においては、例えば以下のことをダイスロールで決めました。 https://jurliyuuri.slack.com/files/U69AE4L4U/F6UEBDU69/__________________.txt (edited) jekto_vatimeliju [12:33 AM] added this JavaScript/JSON snippet 偶数 or 奇数 スタックの掃除をするのは: 呼び出し側 or 呼び出され側 いじって良いレジスタは: 3個 or 4個 引数は: 前から積む or 後ろから積む Add Comment jekto_vatimeliju [12:33 AM] あと、スタックが下方伸長するか上方伸長するかもダイスで決めてます sashimiwiki [1:03 AM] 「こうすると現世っぽくなってしまうからあえて逆にしよう」というような考えは、かえって現世を意識してしまっていることになるので、悠里創作においては好まれません。」 fēicháng重要 vatimeliju jekto これに続く議論を見ていただければ分かりますが、「こうすると現世っぽくなってしまうからあえて逆にしよう」というような考えは、かえって現世を意識してしまっていることになるので、悠里創作においては好まれません。2択(リトルエンディアンか?ビッグエンディアンか?とか)で迷ったときは、サイコロを振りましょう。 Posted in #generalYesterday at 12:31 AM jekto_vatimeliju [1:04 AM] 今の所設定の創作は私とtkcしかしていなかったので問題にならなかったが、今後みなさんがやっていく(やっていきますよね?)にあたって非常に重要です sashimiwiki [1:06 AM] 悠里創作はファンタジーじやないしね(適當なことを云つている)