はてなキーワード: レジスタとは
フォルダを漁っていたら、1999年5月に書かれた、自分のPC履歴が発掘されたので、貼り付けてみる。
なんだかんだ言って、私がパソコンを使うようになってから、10年近く経ってしまったのである。プログラムを組んで実行できる最初のマシンは、高校のときに購入したCASIOのプログラム電卓FX-502Pであるが、これはあくまで電卓であり、パソコンとは多少趣を異にするものであった。
パソコンとして最初に購入したのは、NECの8ビットマシンPC-8801MA2であり、完全なるゲームマシンであった。以下、16ビット時代に突入してEPSON PC-286VE、32ビットマシンのEPSON PC-486SEと続き、とうとう自作DOS/Vマシンをメインのマシンにするようになってしまうのであった。
これから、私のこのしょ~もない足跡を辿ってみたいと思う。PC-8801MA2~PC-486SEの項には、そのときハマったゲームの感想なども記してある。暇な方はこちらもどうぞ!?
小さい頃から、電気・電子関係が好きで、親にマイキット(パネル上にトランジスタとか抵抗、コンデンサなどが並べられており、スプリングになった端子にコードを挟んでそれらを繋いで回路を作る)や電子ブロック(透明なブロックにトランジスタや抵抗などが入っており、ブロックをボード上に配置して回路を作る)などを買ってもらい、それでラジオなどを作って遊んでいたのである。マイキットでラジオを作り、夜中にこっそりと深夜放送を聞いていました。(^^;
因みに、私がアマチュア無線の免許を取得したのは、小学生のときである。これは、ちょっと自慢してもいいと思う。
当時、「初歩のラジオ」とか「ラジオの製作」、「電波科学」などの雑誌をよく読んでいたのだが、流石に、中学生の私にはディジタル回路は難しく(というよりも、何をするためのものなのか、イマイチ理解できなかった)、ボードマイコンTK-80などに手を出すには至らなかった。
まぁ、何しろ当時は、マイコンといっても論理回路の動作から入る必要があったので、当然といえば当然であろう。
そして、関数電卓などをいじくり、「このキーとこのキーを同時に押すと変な表示になる!?」などと遊んでいた私が、最初に手にしたコンピュータらしきものは、カシオのプログラム電卓「FX-502P」である。
これは、512ステップまでのプログラムが組めるというもので、ちゃんと「GOTO」キーや「GOSUB」キー、「LABEL」キー、条件判定を設定するキーなどが用意されていて、結構本格的なものでした。レジスタも10個使えた。ランダムに数値を出力するキーも付いていたな。
プログラムライブラリ(本ですが)なども付いてきていて、掲載されている通りに打ち込むと、科学計算をやったりゲームなどを楽しむことができた。もちろん、プログラムを外部に記録しておくこともできたのだ。オプションが必要だが(買った)、普通のラジカセなどを使ってカセットテープにプログラムを記録するのである。
あと、FX-502Pでは、キーに4分音符や16分音符などが割り当てられていて、短音だが楽曲を打ち込むこともできた。上述のオプションを利用して、ラジカセなどで鳴らすのである。
学生時代は、ビンボーだったせいもあって、パソコンには縁がなかった。友人宅でシャープのTurboIIIなどでゲームをさせてもらうのが関の山なのであった。
で、就職して最初に購入したパソコンが、NECの8ビットパソコンの最終形態ともいうべきPC-8801MA2である。
当時は、既に16ビットパソコンのPC-9801Vm2なども発売されていたのだが、私の選択したのは8ビットマシンの「ハチハチ」なのであった。何故か?
それは、パソコンでゲームがしたかったからである。当時は、違法行為に限りなく近いレンタルソフト屋が横行していて、ゲームソフトなどが比較的安い価格で入手できた(ソフト毎のパラメータファイルでコピーを行うFile Masterは必需品)。また、ゲーム市場も8801主体であって、9801用のものはごく少なかったのである。
とにかく、とても全部やりきれないくらい、ゲームを借りまくった。
何を隠そう、私が8801を購入して、最初に買ったゲームがこれである。何で、最初からこんなに難易度の高いゲームを、と疑問を持つ向きもあろうが、要するに、当時はパソゲーなるものが全く分かっていなかったのである。しかも、あろうことか、購入時には、アクションRPGの先駆け的存在である「ソーサリアン」とこの「マイト・アンド・マジック」を天秤に掛けていたのである。
世間では、「クソゲー」との評価が一般的であるが、私は、このゲームは名作であると信じている。とにかく、世界が存在していて、プレイヤーはその世界に住むところから始まるのである。ストーリーは、最初は与えられず、発見したものだけがストーリーに参加できる。しかし、ストーリーに参加しなくても、とにかく世界が広大・深淵なので、アイテム探しやダンジョン探検だけでも、十分堪能できる。私は、後述する16ビットパソコンの時代まで、約3年以上もこのゲームにお世話になったのである。
「ドラクエ」シリーズで有名なエニックスのアドベンチャーゲーム(AVG)。
不気味な感じが大変心地よい秀作。本作では謎を残したまま終結し、後に「アンジェラス2」が発売されるが、時期を完全にはずしていたし、余り面白くなさそうだったので私はやっていない。
今はHゲーのメーカーになってしまった、しゃんばらのRPG。私の大好き(だった)漫画家、松田紘佳がキャラデザ他を手がけている。音楽もこの人だったな。もしかすると、「2」は後述のPC-286VEでプレイしたのかもしれない。海が舞台の、異色のRPG。とにかく海なので、3次元的に自在に移動できるのがミソ。階段を使って他の階へ移動する一般的なダンジョンとはひと味違うのである。
ただ、惜しむらくは、これは私がコピー品でプレイしていたから良くないのであろうが、2作ともエンディングを見れなかったことだ。
1作目では、「ピー」とビープ音がしてゲームがハングアップ。2作目では、たぶん最終場面であろう画面から1歩も進めず、アウト。
今あったら、正式に購入して再度挑戦してみたいゲームではある。
かのアスキーが発売していた、Hゲー。ダンジョンを歩き回るRPGである。
このゲームは、とにかくノリが非常によく、テンポが軽快で楽しいゲームであった。ゲーム自体は、6階+αの「ウロボロスの塔」を探検して、秘密を探るというもので、出てくるモンスターが女の子で、ダメージを与える度に女の子が1枚ずつ服を脱いでいくという、他愛もないものである。
このゲームをして最初に驚かされたのは、グラフィックの描画の早さである。何だかんだ言っても、8ビットパソコンであるので、当時のゲーム、特に、グラフィックを強調したゲームでは、描画に恐ろしく時間がかかった。一枚の画像を出すのに数秒、ひどいものでは、数十秒、なんていうのもあった。
そんな中で、この「カオス・エンジェルス」は、とにかく、一瞬で画像が描き換わった。これは、当時ではとても新鮮なことであった。
また、そのBGMもとても斬新で、簡単なFM音源を使いながら、とてもハイセンスな雰囲気を醸し出していたのだ。音楽の秀逸さでは、水龍士といい勝負かもしれない。
しかし、このゲームの最大のポイントは、「洒落っけ」にあると思う。ダンジョンの壁に、前に探検した人の落書きがあって、これがまた奥が深く面白い。この落書きがゲームのヒントにもなっているのだが、関係のない落書きもあって、これを探すだけでも、結構楽しめた。
当時、特にスタジオピエロ系のキャラクターもののゲームを数多く出していた、マイクロキャビンのAVG。マイクロキャビンでは、この後も、「めぞん一刻」や「気まぐれオレンジロード」などのキャラ系ゲームを続々と発売していた。
このゲームは、少年サンデーに連載されて、アニメ化もされ一世を風靡した、高橋留美子の同名の漫画「うる星やつら」をゲーム化したものである。
ゲーム内容は、確か、面堂家の誰か(終太郎か、了子か、どっちか忘れた、たぶん了子だ)の誕生日に招待されたお馴染みのメンバーが「迷路」を探索しながらゴールにたどり着くというものである。何かのイベントを経る毎に、時間が経過していき、それにより結果が変化するというのと、途中の行動で結果が変化するということで、数種類のエンディングが用意されていたように思う。
マルチエンディングや時間の概念は今でこそ珍しくもないが、当時では結構画期的なことであったのだ。
フェアリーテール(ELF)の伝説的名作AVGである。確か「2」もあった。フェアリーテール(ELF)のAVGは、何かこう、独特の雰囲気があって、それが私は非常に気に入っていた。なんていうか、どことなく寂しげな感触というか、ちょっと空虚な感じとでもいおうか。キャラクターや展開、秀逸なBGMなどが、この雰囲気を醸し出しているのだ。
フェアリーテール(ELF)のAVGは、この他にも相当やった。「ELLE」なんかは、最後のどんでん返しが強烈でした。
そのほかにも、いろいろゲームはやったが、とんでもねーゲームを一つだけ…
これは、要するに当時大流行の「北斗の拳」のパロディーHゲーである。
ゲーム内容がくだらないのもさることながら(あまりにくだらなすぎて、ケンシロウのようなキャラが出てくること以外、忘れた)、その作りがとにかく凄い。
これは想像だが、このゲームは、おそらくN88-BASICで組まれている。なぜなら、まず、ストップキーでゲームが止まってしまう。そして、そのとき、画面の左上隅に「>C^」が出る(分かる人には分かるね!?)。
そして、NECの8801,9801シリーズのパソコンには必ず付いていた、画面のハードコピーを取るキー「COPY」を押すと、押したときに表示されている画面をプリンタに印刷することができる。
なんか、「流行だから適当に作って一発当てよう」という意図の見え見えなゲームでありました。
…そうこうしているうちに、8ビットパソコンは衰退し、ゲームソフトも発売されなくなって、世の中は16ビットパソコンの時代へと、大幅に突入したのだった。
そこで購入したのが、NECではなくて、EPSONのパソコンなのである。ここいらへんに、私の偏屈さがにじみ出ていますね~。(^^;
パソコンに金をかけだしたのも、このころからである。…まぁ、8801じゃあ、金をかけようにもかけるところがないですが。(^^)
今ではもう信じられないが、当時は、1MB/1万円がメモリの相場であった。しかも、メモリをパソコンに組み込むには面倒な設定がいくつも必要で、さらに、汎用のスロットを一つ占有してしまうのだった。また、今でこそ、SIMMとかDIMMとかいって、大容量がコンパクトに収納されているが、当時は、たとえ1MBでも、12cm角くらいの基板にチップがびっしり載っていたのだった。
それでも、1MBあると無いとでは、雲泥の差があった。
これも、今ではもう信じられないが、当時は、例えば40MBで8万円位した。しかも専用のインターフェイスが要る。これでまたスロットが一つ埋まったのであった。
でも、当時のソフトは、40MBでもお釣りが来るくらいの容量だったんだよね~。
あと、このマシンから、パソコン通信を始めた。当然NIFTY Serveから。
当時は、WTERMを使い、通信速度も2400bpsであった。50kBの画像をダウンロードするのに何分もかかり、さらにその画像を表示するのに何分もかかった。大変な時代であった。
このPC-286VEは、後に友人の手に渡り、そこでVRAM異常が発生してお亡くなりになってしまいましたとさ。合掌。
このマシンでも、ゲームはずいぶんとやった。中で、印象深いものをいくつか紹介しようと思う。
上述したものと同じである。当然、続きではなくて、新規に始めた。やはり8ビットのものと比べて速い。何しろ、8ビット版は2DDのディスク4枚組で、地上、ダンジョン、城、と場所を変える度にディスクの入れ替えが必要だった上、そのたび毎に、システムディスクに書き込み(1分くらいかかった、マジで…)をしていたのだ。それがなくなっただけでも、快適である。ただ、8ビット版の頃はあったBGMがなくなってしまったのは、ちょっと寂しかったが。
なかなかハマった。各エンディングも味わい深いもので、30数種類あるといわれているエンディングを20数種類まで見て、飽きてやめた。プリンセスと謎のエンディングは見ていない。けど、いいや。
「1」と「2」は、3Dダンジョンもの。当時は3Dダンジョンでさえ珍しかったのに、Hゲーで3Dダンジョンというのは、相当なインパクトがあった。ゲーム的にもよく練れており、ダンジョンの仕掛けも良くできていた。Hゲーという観点を排除して、単にゲームとしてみた場合に、非常に完成度の高いゲームであった。
「3」は、確かドラクエタイプの2DのRPG。「4」は、ダンジョンに戻ったのだっけかな?この辺はあんまり印象にないのだな。「5」は、私の大嫌いなシミュレーションで、遂にエンディングを見ることができなかった。…と言うよりは、途中でつまんなくって止めた。「4」と「5」は、多分、後述のPC-486SEでやっている。
これは、今更説明するまでもない、ELFが世に放つ名作中の名作。このゲームが今までのゲームの流れを一気に変えたといってもいいでしょう。味のあるキャラクタ(しかも大勢!)に、深みのあるストーリー。それぞれが練りに練られたマルチエンディング。とってもシビアな時間の概念。所持金の存在も内容に深みを与えています。
さらに、複雑なフラグ制御がすばらしい。よくあれだけの条件設定をして、ゲームが破綻しないものだ。
そして、何より高校生最後の夏休みという、絶妙のセッティング。
とにかく、この「同級生」は、何遍やっても違った展開になるし、違った楽しみ方ができるゲームという、画期的なゲームでした。
後に「2」も出て、共通するキャラクタも出演している。私は、「2」は後述する32ビット版でやったのだけれど、その面白さは全く失われてはいませんでした。恐るべし、ELF。
そのうち、世の中はウィンドウズ時代に突入し、パソコンも16ビットパソコンから32ビットパソコンへと移行していったのである。…といっても、ウィンドウズ3.1は、とっくに発売されていたが、ゲームの世界が未だにDOSベースだったので、それまでは何とかなっていたのであった。が、こう周りがウィンドウズだらけになってくると、流石に不安になって、DOSからの移行を考えざるを得なくなってしまったのであった。
上述のPC-286VEでも、ウィンドウズを試してみたことがあった。そのころは、ウィンドウズは3.0で、フロッピー5枚組という、今から考えればささやかな構成であった。当時は、ウィンドウズ3.0対応のソフトもほとんどなく、これは試してみるだけで終わったが。
実は、32ビットパソコンへの移行の際に、一つの考えがあったのである。つまり、Macへの移行である。当時、Macの世界も変革の時期を迎えていたらしく、小さい筐体が却って可愛らしい Permalink | 記事への反応(1) | 12:53
DE
「de」はロマンス諸語で「…の、…から」を意味する前置詞。フランス語(ド)、スペイン語(デ)など。姓の前に使われることがある(フェルディナン・ド・ソシュール、ドン・キホーテ・デ・ラ・マンチャなど)。古くスペイン語では「de」を合わせた「」という合字が使われ、現在も碑文やロゴなどにこの字を見ることがある。
オランダ語の定冠詞。姓の前に使われることがある(エド・デ・ワールトなど)。
ドイツ (Deutschland) のISO 3166-1国名コード
アメリカンフットボールのポジションの一つであるディフェンシブエンド (Defensive End) の略称。
護衛駆逐艦 (destroyer escort) 及び航洋護衛艦 (ocean escort) の艦船記号。海上自衛隊の護衛艦の種別にも使用されている。
動軸5軸のディーゼル機関車の符号。旧国鉄で制定され、JR・私鉄などで使用されている。
微分方程式 (differential equation)
可消化エネルギー (digestible energy)
モールス符号による無線通信で、自局の呼出符号の前に置く符号(「こちらは」の意)
NTTドコモ・DDIセルラーグループ→auにおける、デンソーの略称。(例:DE207、C402DE)
デスクトップ環境 (desktop environment)
コンパクトカー、マツダ・デミオの形式 3代目 DE系(2007年- 2014年)
ゲームソフト、ゼノブレイドのNintendo Switch 版の通称。(Definitive Edition)
en:Jet Propulsion Laboratory Development Ephemerisの略称(JPL DEとも)。
De
de
.de - ドイツの国名コードトップレベルドメイン
dE
AIにとっては、Pythonのような中間表現を生成させる方が得意であると考えられます。
中間表現(Pythonなど): 人間が理解しやすいように設計されており、抽象度が高いです。AIは、より少ないトークンで複雑なロジックを表現でき、学習データも豊富にあるため、意味的な整合性やロジックの正確性を保ちやすいです。
機械語: 抽象度が非常に低い(CPUの命令レベル)です。特定のCPUアーキテクチャに依存し、メモリ管理やレジスタ割り当てといった低レベルの詳細をすべて正しく処理する必要があります。これはAIにとって学習が複雑で、小さなミスがプログラム全体の破損につながりやすくなります。
中間表現: 比較的長いコンテキストを保持しやすく、デバッグやエラーの特定も高レベルで行えます。
機械語: 必要な命令数が多くなりがちで、AIが長大なバイナリシーケンスを生成する際に、コンテキストウィンドウ内に必要な情報すべてを保持しきることが難しくなる可能性があります。また、中間表現と比べて意味的な構造が薄いため、AIがバグのないコードを生成するのが格段に困難になります。
中間表現: Pythonのような高級言語は、特定のハードウェアに依存しないため、移植性が高いです。
機械語: 特定のアーキテクチャ(例: x86, ARM)に完全に依存するため、AIが異なる環境向けにコードを生成する場合、それぞれのアーキテクチャごとに学習と生成を行う必要があり、汎用性が低くなります。
現在のAI(特に大規模言語モデル)の能力は、人間が扱う高レベルの抽象的な概念やロジックの理解に優れているため、その能力を最大限に活かせる中間表現の生成の方が得意です。
機械語の生成は、極めて精密で低レベルな制御が要求されるため、AIにとってはるかに難易度が高いタスクとなります。
AIが中間表現を生成した場合でも、その後の処理(コンパイルやJITコンパイル)によって最適化され、最終的な機械語が生成されます。
これは従来のコンパイラ設計と同じアプローチであり、AIは「何をすべきか」という高レベルの指示に集中し、コンパイラが「どのように効率的に実行するか」という低レベルの処理を担当する、役割分担の面でも合理的です。
このエントリは2008年発売のAcer Aspire One ZG5を使って書いている。
中古で買ったネットブック(Acer Aspire One ZG5)をアップグレードし、Linuxディストリビューションをインストールし、軽作業ができるようにしていた。
本体キーボードが壊れることも含めて、あらゆるトラブルに遭い続けている。
直近ではDebian11 32bitをインストールして一通りの作業はできるようになっているが、ハードウェア制御にいろいろな問題が残っている。
CPU: Atom N270 (single core 1.6Ghz)
RAM: 1.5GB
ディスプレイ: 8.9インチ, 1024x600 TFT LCD
OS: Debian GNU/Linux 11 (bullseye) i686
中古で買ったネットブック(Acer Aspire One ZG5 2008年の製品)をアップグレードし、Linuxディストリビューションをインストールし、軽作業ができるようにしていた。
本体キーボードが壊れることも含めて、あらゆるトラブルに遭い続けている。
直近ではDebian11 32bitをインストールして一通りの作業はできるようになっている。
CPU: Atom N270 (single core 1.6Ghz)
RAM: 1.5GB
ディスプレイ: 8.9インチ, 1024x600 TFT LCD
OS: Debian GNU/Linux 11 (bullseye) i686
Q.
あなたのようなAIにとって、指定された動作をするプログラムの実行ファイルを得る手順として 1. 人間と同様に高水準プログラミング言語で記述してからコンパイラによって実行ファイルを得る 2. マシン語で直接実行ファイルを出力する ではどちらが効率的ですか?
A.
AIにとって、どちらの方法が「効率的」かは、何を基準に効率性を測るかによって異なりますが、現在の技術水準では一般的に**「1. 人間と同様に高水準プログラミング言語で記述してからコンパイラによって実行ファイルを得る」方が効率的**であると考えられます。 理由は以下の通りです。 1. **学習データと能力:** * AI、特に大規模言語モデルは、インターネット上に存在する膨大な量の高水準言語のコード(Python, Java, C++, JavaScriptなど)を学習しています。そのため、高水準言語でプログラムを生成する能力は非常に高いです。 * 一方、マシン語のコードは量が少なく、構造も複雑で多様(CPUアーキテクチャごとに異なる)なため、AIが直接高品質なマシン語を生成するように学習するのは困難です。 2. **抽象化と複雑性の管理:** * 高水準言語は、ハードウェアの詳細を抽象化し、人間(そしてAI)がロジックやアルゴリズムに集中できるように設計されています。これにより、複雑なプログラムでも比較的容易に記述できます。 * マシン語は非常に低水準であり、レジスタの割り当てやメモリアドレスの管理など、ハードウェアに密接に関連する詳細な記述が必要です。これをAIが直接行うのは、エラーが発生しやすく、非常に複雑なタスクになります。 3. **開発エコシステムの活用:** * 高水準言語には、コンパイラ、リンカ、デバッガ、ライブラリ、フレームワークといった成熟した開発エコシステムが存在します。AIはこれらのツールを活用することで、効率的に実行ファイルを生成し、最適化やデバッグを行うことができます。特にコンパイラは、長年の研究開発によって高度な最適化技術が組み込まれており、多くの場合、人間やAIが手書きするよりも効率的なマシン語を生成できます。 * マシン語を直接生成する場合、これらのエコシステムの恩恵を受けにくくなります。 4. **移植性と保守性:** * 高水準言語で書かれたコードは、異なるプラットフォーム(OSやCPUアーキテクチャ)に対応したコンパイラを使えば、比較的容易に移植できます。 * マシン語は特定のアーキテクチャに強く依存するため、移植性は非常に低くなります。AIが異なるアーキテクチャごとにマシン語を生成し直すのは非効率的です。 ***マシン語直接出力の利点(理論上):** ** 理論的には、コンパイラを介さずにAIが直接マシン語を生成することで、特定のハードウェアに対して究極の最適化を施せる可能性があります。 ** コンパイルのステップが不要になるため、その分の時間は短縮されます。 ***結論:** 現時点では、AIがマシン語を直接生成するメリットよりも、高水準言語と既存のコンパイラを活用するメリットの方がはるかに大きいと言えます。AIは高水準言語での思考やコード生成に長けており、複雑な問題を効率的に解決できます。コンパイラという強力なツールを利用することで、最適化やプラットフォーム対応といった難しい問題を効率的に処理できます。 したがって、AIにとっても、人間と同様に**高水準言語で記述し、コンパイラを利用して実行ファイルを得る方が、総合的に見てはるかに効率的なアプローチ**です。
プログラムの動作は、NANDゲートという基本的な要素から複雑なデジタル回路へと段階的に構築されることで実現されます。NANDゲートは、入力が両方とも真(1)の場合にのみ偽(0)を出力し、それ以外の場合は真(1)を出力する論理ゲートです このNANDゲートが、デジタル回路の基本的な構成要素として機能します.
NANDゲートは、それ自体が万能ゲート(universal gate)であり、これだけで他のすべての基本的な論理ゲート(NOT、AND、OR)を構成できます.
基本的な論理ゲートを組み合わせることで、加算器やマルチプレクサなどのより複雑な組み合わせ論理回路を構築できます。
組み合わせ論理回路にフィードバックループを導入することで、順序回路が実現されます。順序回路は、現在の入力だけでなく、過去の状態にも依存した出力を生成できます。
上記の要素を組み合わせることで、プロセッサ(CPU)を構成できます。
プログラムは、一連の命令としてメモリに格納されます。プロセッサは、プログラムカウンタが指すアドレスから命令を読み出し、命令デコーダで解釈し、制御ユニットの制御下でALUなどの各ユニットが動作することで、プログラムが実行されます。このプロセスを繰り返すことで、プログラムは順次実行されていきます。
このように、NANDゲートという単純な要素から出発して、段階的に複雑な回路を構成することで、プログラムの実行に必要なすべての要素が実現されます。
ショックすぎ。今たまたま女性スタッフに声かけられたからきいてみた。あのレジスタッフはMtFですよねって。したらその人ヘルプできてるからはっきりわからないと。ちょっとわたしも動揺して涙浮かんできて…女性向けの店にこれはないんじゃないかって上の人に消費者の声として伝えてくれと言っといた
いやまじで悔しくて泣けてくる…なにこれ。なんでこんな目に遭わなきゃならないの?
で女性スタッフがレジ替われないから時間ずらして来てって。そうするしかないのはわかるけど、なんでこっちがMtFのせいで買う時間ずらしていかなきゃならないの?
言いたくなかったけどわたしが買おうとしてたフェムテックアイテムは、性器をケアするオイルなんですよ。不快感を軽減させる。そんなもの男のレジ担当者に渡したくないよ。しかもMtFといったら女性への妄想やろくでもないポストばかりしてるだろ?気持ち悪くてむりです。そうさせたのはあの人達ですよ
お問い合わせ内容
本日吉祥寺アトレコスメキッチンにフェムテック商品 AROMEDICAのフェミノールを買いに言ったところ、レジ担当者がトランス女性である男性だった為購入を断念しました。わたしはずっと以前からコスメキッチンを利用していましたがこのような事は初めてです。女性向けのお店だと思い安心安全に今まで買い物をしていましたが、それが今日打ち砕かれてしまいました。いくら女性を装ってメイクや髪型を近づけても骨格・顔・声ですぐに男性とわかるし、MtFと言われている人たちの8割は性愛が女性に向いていて男性が女性に向けるものと同じ感覚で女性を眼差している事実は、当事者達のSNSで散々見てきました。あまりのショックに別の女性スタッフにもお伝えしました。涙 は出るし息は苦しくなるし、想定外の出来事でショックが大きいです。女性を装った男性がレジにいる、女性に対する侮辱であり、買い物をしに来てこんな屈辱感を味わったの初めてです。まさかコスメキッチンでこんな思いをするだなんて思いませんでした。
A:はい、私はアセンブリ言語のコードを記述することができます。アセンブリ言語は、コンピュータのプロセッサが理解できる低水準の機械語命令に直接対応するプログラム言語であり、CPUの命令セットアーキテクチャに依存するため、異なるCPUアーキテクチャに対して異なるコードが必要です。
以下は、x86アーキテクチャ向けの単純なアセンブリ言語の例です。これは、メモリの特定の場所にある2つの数値を加算して、結果をレジスタに格納するプログラムです。
Copy code
section .data
num1 dd 10 ; Define num1 as a double word (32-bit integer) and set its initial value to 10
num2 dd 20 ; Define num2 as a double word and set its initial value to 20
section .text
global _start ; Declare the entry point for the program
_start:
mov eax, [num1] ; Move the value of num1 into the eax register
add eax, [num2] ; Add the value of num2 to the eax register
mov [result], eax ; Move the value in eax to the memory location "result"
section .data
result dd 0 ; Define result as a double word and set its initial value to 0
このプログラムは、num1の値をeaxレジスタに移動し、num2の値をeaxレジスタに加算し、最後にeaxレジスタの値をresultメモリアドレスに保存します。
「かゆうま」みたいなノリで匿名日記を書くサイト作って1年が経った
去年の投稿で「今では日500人切れば緊急事態宣言解除してもいい流れになってたり」と書いていたが、今や日3000人超えてても行動制限なしでゴールデンウィークは各地が賑わうと、すっかり世界が変わってしまった。
日本ではまだマスク着用が多いが、マスク着用義務を廃止した国も出てきているし、来年の今頃はマスク着けないがスタンダードになっているかもしれない。
まあワクチン打ってる人も増えてるし、オミクロン株は弱毒化してるということで、ウィズコロナ時代になったのだろう。
このまま終息してアフターコロナになることを願いたい。
サイト的にはこの1年は穏やかだった。
大きなバズはないが、投稿数が減ることもなく、むしろちょっとずつ増えてる感もある。
長く投稿してくれてる人、新たに書き込んでくれる人などなど大変ありがたい。
今年の2月にはfaviconを作ってくれた人もいた。ちょうど見かけたのでサイトに設定した。嬉しい。
自分ごとでいうと、去年の6月に適応障害になってしまい半年ほど倒れていた。
ある日の午後、15分ほどの軽いオンラインミーティング後に「さて、作業するかー!…あれ何するんだっけ……」と頭が真っ白になった。
とりあえずその日は午後休をもらい休んだが、翌日になっても翌々日になっても思考がボヤボヤしたままだった。
「これはヤバいやつな気がする…」と思い心療内科に行ったところ診断が出て休職になった。
休み中はとにかく眠くて、日中も5時間以上昼寝して、夜も8時間以上寝るでとにかく寝ていた。
短期記憶が死んでいて、麦茶を沸かそうとしても湯を沸かしっぱなしにしたり、火は止めたけどティーバッグを入れ忘れたり、ティーバッグを入れたまま翌日まで放置したりと散々だった。
本や漫画を読もうにも前のページのことを忘れるし、プログラミングしようにも1行書くと次の行に何書こうか忘れる状態。
それまでの趣味も全然できず、麦茶を忘れないようにしたり、料理で食材や調味料を入れ忘れないので精一杯だった。
4ヶ月くらいして徐々に眠気も緩和し、思考・記憶も回復してきた。
少しやる気も出てきたので、リハビリを兼ねて前々から読みたいと思っていたビジネス書を読もうとしたり、忙しくてなかなか時間が取れてなかった資格勉強を再開しようとしてみた。
元々時間が出来たら読みたい本リストややりたいことリストを作っていたのだか、どれもいまいちピンとこなかった。
そんな中ある日、本屋に行ったときに手にとったのが「ゼロからのOS自作入門」だった。
時間がかかり、それでいて仕事への費用対効果はほぼ無い。あくまで自分のコンプレックスから興味があると思っているだけ。それだったら仕事に効きそうなことを優先しようと封印していた。
ポインタに触れるのが久しぶりすぎて15年以上ぶりにC言語ポインタ完全制覇を引っ張り出してきて復習したり、図書館でオペレーティングシステムの本を借りてきて読んだり、学生時代に戻ったみたいだった。(たぶん学生時代はこんなにポインタとかOSの本を読んでなかったと思う)
理解は追いつかなかったが、UEFIとEDK IIの存在を知ったこと、CPUにリングプロテクションや専用レジスタがあることを初めて知ったりなどなど、どんどん新しいことを知れてとても楽しかった。
仕事への効果はいまのところ感じられないし、おそらく今後も効果を発揮する場面はなさそうだ。
倒れている間はなかなかしんどかったけど、仕事やキャリアの面から「やりたいと思い込んでいたこと」と、仕事に全然効かないけど「人生の満足度が上がるやりたいこと」がクリアになったのはいい機会だった。
いまは休みの日に合間を見て「コンピュータシステムの理論と実装」をやってる。これも楽しい。ゆるゆる進めていきたいと思う。
サイトの方も引き続きゆるゆる続けていきたいと思う。
COVID-19流行下の日々を集団で記録する日誌 https://enigmatic-brushlands-82725.herokuapp.com/
言語によるけど
関数の引数は原則レジスタに入れて渡すことになってて、でも計算結果はほっといても必ず一度レジスタに入るわけだから、ほとんどのケースでは変わらない
forの条件判定に計算式を入れる場合は念のため変数に入れておいた方が安全
単純な式だったら最適化されるから変わらないと思うけど、コンパイラに「forの中身の進行に応じて条件式の結果が変わるかもしれない」と判断されると最適化の対象にならず、ループごとに計算し直される可能性がある
特に for ( i=0; getNanika(i) < 100; i++) みたいに条件の中に関数が入ってたら100%毎回関数が実行されるので注意
1byte=8bitってのはASCII ( *American* Standard Code for Information Interchange)、つまりアングロサクソンの世界制覇の野望であって、我々 ISCII (International Standard Code for Information Interchange) は1byte=10bitのコンピュータを作る! となったとしよう。ISCII仕様のコンピュータはヨーロッパ諸言語の文字、キリル文字などを表現できて (なにせ1byteあたり1000種類の文字が表現できる!) ヨーロッパ、ロシアを中心にバカ売れ、そしてIBMを倒し、ISCIIが世界制覇をする。
実際問題ハードを作る一番基礎の段階では、1byteが何bitであってもよいのだ。統一されてさえいれば。統一されていないと、DRAMやら外部バスやらとの処理の時に毎回変換が入って大変 (なお余談だが、通信の世界では普通に通信路上でエラー検出・修正のために冗長なbitを使う。64b/66b とかでおぐぐりください)。
さて、DRAMは... アドレス線も10本単位で作ればよい(もちろん読み出し・書き込みも10bit単位(あるいは50bitとか?)が最小の幅だ)。アドレス線の数が2べきである必要は... あるのかな。
レジスタとかCPUのワード長もshort=20bit, long=40bitとかになりそう。さすがに30bitは使わないかなぁ。
うーん何か困るかな、何も困らないような気もする。ちゃんとソフトが動くコンピュータ作ったことないただの素人なのだけど、何か見落しがあるだろうか?