「レジスタ」を含む日記 RSS

はてなキーワード: レジスタとは

2023-03-10

anond:20230310135246

アセンブラコードもかけるそうだ

Q:アセンブラコードって記述できますか?

A:はい、私はアセンブリ言語コード記述することができますアセンブリ言語は、コンピュータプロセッサ理解できる低水準の機械語命令に直接対応するプログラム言語であり、CPU命令セットアーキテクチャ依存するため、異なるCPUアーキテクチャに対して異なるコード必要です。

以下は、x86アーキテクチャ向けの単純なアセンブリ言語の例です。これは、メモリ特定場所にある2つの数値を加算して、結果をレジスタに格納するプログラムです。

sql

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メモリドレスに保存します。

2022-11-24

anond:20221124141334

保守派コンサバティブ)⇔革新派レジスタント)

右(ネイションファースト)⇔左(リベラルグローバリズム

「右」と「左」・「保守」と「リベラル」は源流をたどれば、

物事を決定する時に、より良い決定をするための補助線となる

anond:20221124141334

「右」と「左」・「保守」と「リベラル」は源流をたどれば、

物事を決定する時に、より良い決定をするための補助線となる

あーまた混乱させたいの?

保守リベラルは、対義語ではないよ

保守派(コンサバティブ)、革新派レジスタント)が対義語

共和党革新派もいるし、民主党保守派もいる

補助線が間違ってたらブラックホールに落ちるよ

2022-05-12

anond:20220512084848

おじさんの想定してるCPUはコアが1個なんすよ

レジスタとか見えたりするんすよ

2022-05-05

かゆうま」みたいなノリで匿名日記を書くサイト作って2年が経った

「かゆうま」みたいなノリで匿名日記を書くサイト作った

「かゆうま」みたいなノリで匿名日記を書くサイト作って1年が経った

去年の投稿で「今では日500人切れば緊急事態宣言解除してもいい流れになってたり」と書いていたが、今や日3000人超えてても行動制限なしでゴールデンウィークは各地が賑わうと、すっかり世界が変わってしまった。

日本ではまだマスク着用が多いが、マスク着用義務廃止した国も出てきているし、来年の今頃はマスク着けないがスタンダードになっているかもしれない。

まあワクチン打ってる人も増えてるし、オミクロン株は弱毒化してるということで、ウィズコロナ時代になったのだろう。

このまま終息してアフターコロナになることを願いたい。


サイト的にはこの1年は穏やかだった。

大きなバズはないが、投稿数が減ることもなく、むしろちょっとずつ増えてる感もある。

長く投稿してくれてる人、新たに書き込んでくれる人などなど大変ありがたい。

今年の2月にはfaviconを作ってくれた人もいた。ちょうど見かけたのでサイトに設定した。嬉しい。


自分ごとでいうと、去年の6月適応障害になってしま半年ほど倒れていた。

ある日の午後、15分ほどの軽いオンラインミーティング後に「さて、作業するかー!…あれ何するんだっけ……」と頭が真っ白になった。

とりあえずその日は午後休をもらい休んだが、翌日になっても翌々日になっても思考がボヤボヤしたままだった。

「これはヤバいやつな気がする…」と思い心療内科に行ったところ診断が出て休職になった。

休み中はとにかく眠くて、日中も5時間以上昼寝して、夜も8時間以上寝るでとにかく寝ていた。

短期記憶が死んでいて、麦茶を沸かそうとしても湯を沸かしっぱなしにしたり、火は止めたけどティーバッグを入れ忘れたり、ティーバッグを入れたまま翌日まで放置したりと散々だった。

本や漫画を読もうにも前のページのことを忘れるし、プログラミングしようにも1行書くと次の行に何書こうか忘れる状態

それまでの趣味全然できず、麦茶を忘れないようにしたり、料理食材調味料を入れ忘れないので精一杯だった。

4ヶ月くらいして徐々に眠気も緩和し、思考記憶回復してきた。

少しやる気も出てきたので、リハビリを兼ねて前々から読みたいと思っていたビジネス書を読もうとしたり、忙しくてなかなか時間が取れてなかった資格勉強を再開しようとしてみた。

しかイマイチ食指が動かない。

元々時間が出来たら読みたい本リストややりたいことリストを作っていたのだか、どれもいまいちピンとこなかった。

そんな中ある日、本屋に行ったときに手にとったのが「ゼロからOS自作入門」だった。

OS自作は実はやらないことリストに入れていた。

時間がかかり、それでいて仕事への費用対効果はほぼ無い。あくま自分コンプレックスから興味があると思っているだけ。それだったら仕事に効きそうなことを優先しようと封印していた。

正直理解は追いつかなくて写経するだけで精一杯だった。

ポインタに触れるのが久しぶりすぎて15年以上ぶりにC言語ポインタ完全制覇を引っ張り出してきて復習したり、図書館オペレーティングシステムの本を借りてきて読んだり、学生時代に戻ったみたいだった。(たぶん学生時代はこんなにポインタとかOSの本を読んでなかったと思う)

理解は追いつかなかったが、UEFIとEDK IIの存在を知ったこと、CPUリングプロテクションや専用レジスタがあることを初めて知ったりなどなど、どんどん新しいことを知れてとても楽しかった。

仕事への効果はいまのところ感じられないし、おそらく今後も効果を発揮する場面はなさそうだ。

でも人生満足度は爆上がりした。

倒れている間はなかなかしんどかったけど、仕事キャリアの面から「やりたいと思い込んでいたこと」と、仕事全然効かないけど「人生満足度が上がるやりたいこと」がクリアになったのはいい機会だった。

いまは休みの日に合間を見て「コンピュータシステム理論実装」をやってる。これも楽しい。ゆるゆる進めていきたいと思う。


すっかり話が脱線してしまった。

サイトの方も引き続きゆるゆる続けていきたいと思う。

COVID-19流行下の日々を集団で記録する日誌 https://enigmatic-brushlands-82725.herokuapp.com/

2022-02-12

anond:20220212120540

言語によるけど

関数引数原則レジスタに入れて渡すことになってて、でも計算結果はほっといても必ず一度レジスタに入るわけだからほとんどのケースでは変わらない

 

forの条件判定に計算式を入れる場合は念のため変数に入れておいた方が安全

単純な式だったら最適化されるから変わらないと思うけど、コンパイラに「forの中身の進行に応じて条件式の結果が変わるかもしれない」と判断されると最適化対象にならず、ループごとに計算し直される可能性がある

特に for ( i=0; getNanika(i) < 100; i++) みたいに条件の中に関数が入ってたら100%毎回関数が実行されるので注意

2022-02-03

1byte=10bitな世界線想像してみた。

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べきである必要は... あるのかな。

バス普通に10単位で作れそう。

レジスタとかCPUワード長もshort=20bit, long=40bitかになりそう。さすがに30bitは使わないかなぁ。

うーん何か困るかな、何も困らないような気もする。ちゃんソフトが動くコンピュータ作ったことないただの素人なのだけど、何か見落しがあるだろうか?

2022-01-08

anond:20220108203122

使えるメモリが何百倍に増えたとしてもレジスタサイズはせいぜい2倍とか4倍だから

2021-06-02

電子工学を最低限やっていて

加算器なりレジスタなりが、コアの中でどういうふうに動くのかを知っていて

その知識を前提にアセンブラを知っていて

アセンブラ知識を前提にC/C++を知っていて

コンパイラの基礎理論や、自分自身インタプリタを作ったことも当然あり

その知識を前提として

Javascriptデバッグチューニングをしていて

C++プロフイラブラウザに当ててながら、JavascriptHTML5チューニングをですね

実務経験として実際にやってHTML5アプリをですねまずは自分で作って売ってみて

その経験を元に部下や後輩の指導をしていくのですが

当然 後輩たちも 東大だったり慶応だったりを優秀な成績ででていたり

そいつらと、喧嘩できる実力の低学歴だったり

 

ちなみにバカ大学でも 情報工学となると この辺を基礎から習います

2021-03-09

anond:20210309003639

うーん、それでも状況が分からないとなんとも言えないというか、

自分アドバイスできるレベルなのかも分からないけど、

アルゴリズム的なものだったら、しばらく考えてみるしかないんでない?

自分場合は、まあ自分レベルが低いのかもしれんけど、考えてるうちに理解できてしまうか、

もしくは、なんとなく思い当たる周辺のキーワードが思いついて、

それでググって、あー、こういうのがあるのか、こういう論文があるのか、みたいなところからまたメタに調べてくとか

数学的なものだと、これもなんかの周辺キーワードググるのが多いのかなあ…

ただ、根本的に自分には無理だとか、時間がないとか、学生時代に戻りたいみたいに思うんだったら、とりあえず飛ばししまうけど

特に趣味とかでなんとなくソースコードの全体を把握したいみたいなリーディングをしてるなら、

そこが知りたいこととか本質でないかぎり無視する方がいいというか、人生でまた使うことなんて自分レベルならないのではと思ったり

あと、なんだろ…

どうして動いてるのか分からないって、ハードウェアレベルで起こることもあるわけだけど、

これに関しては、特にまだ発売されてないゲーム機の話とか、そういうトラブル対処自分にはできなかった

そういうのができる人がいるので助けられてばかりなレベルだった

公開されてるハードウェアなら、今はStackoverflowみたいに質問できるところもいっぱいあるし、

ハードウェアメーカー側も公式情報小出ししてくれたり、できる人のブログをググって見つけたり、

なんか誰でも思い付くような助言になってきたけど、

ハードも結局はレジスタの値とか観察していくしかないのではないかなあと思ったり

うーん、助言になってないか

すまん

2021-01-25

anond:20210125110700

ワイの脳内ニモニック説明すると

・for

for 初期化処理 終了条件 インクリメント

が↓に翻訳されて

for計算機の回数レジスタに初期値をセットするお(初回1回だけ)

( for内部の処理 )

for計算機インクリメントするお

for計算機が終了条件に達していたらfor計算機が終了位置ジャンプするお

goto+if

ベル: if(判定文)gotoベル

は↓に翻訳されるイメージかな。

if計算機をセットするお(毎回)

if計算機の左辺に数字を入れるお

if計算機の右辺に数字を入れるお

if計算機に入れられた記号で左右の数字を判定するお

if計算機trueの結果を返したらif内部の処理にジャンプするお

ってこった。if計算機セットおよび両辺のレジスタになんか入れる、って処理が余計にかかるだろ。

anond:20210125110054

forの場合インクリメント用のレジスタや終端判定用のレジスタはもう固定されてる

???

anond:20210125105034

・if自体の処理が入る

・ifに入れる判定に使うレジスタに入れる処理が入る

ので良くてforと同等、悪けりゃそれ未満ってこった。

forの場合インクリメント用のレジスタや終端判定用のレジスタはもう固定されてるんだからコード内でレジスタ自体を参照する必要はないわけじゃん。

if毎回やってたらifのレジスタ変数持っていくって処理が挟まるんだよ。だから手間増える、はず。

2020-12-25

サンダー・ピチャイの正体

私はついに彼の正体を知ってしまった.私は消されるかもしれないが,その前にここに書き残しておく.

言うまでもなくサンダー・ピチャイGoogleCEOである

ご存知の通り,最近GoogleAIに傾倒しており,DeepMindを始めとするAIベンチャーの買収や,研究者技術者の確保に余念がない.

人型ロボットの開発で有名なBoston Dynamics日本の精鋭ロボット部隊であるシャフトといったロボット系の会社を買収していることからも,AI身体能力を持たせようとしていることは明らかである

既にこれらの会社は売却済みだが,主要技術Googleの手に渡っていると考えるのが自然だ.

Google検索エンジン広告では飽き足らず,人の仕事AIロボットで置き換え,世界を牛耳ろうとしていることを懸念する声も少なくない.

昨今話題となっているガソリン撤廃の動きも,ロボットを充電できるスポットを増やすことが真の目的であり,テスラではなく実はGoogleが裏で糸を引いている.

これを肯定的に捉えたのが「シンギュラリティ」だが,多くの人は負の側面を心配している.米政府による独禁法訴訟はその現れである

もちろんGoogle世論操作によって賛同者を増やし,対抗しようとしている.

Googleから大量にAI論文が出されるのも,その活動の一環だ.

聞くところによると,最近AI否定する社員解雇に追いやっているらしい.

さて,サンダー・ピチャイの話に戻ろう.

彼の名を英語で書くとSundar Pichai,これをアナグラム解析に掛けると,以下の文字並べ替えものであることがわかる.

Hindu Scrap AI

まりヒンズー教スクラップAI

彼がインド出身であることはよく知られた事実である

Scrapには「~を解体する」という意味がある.

これらを踏まえると,Hindu Scrap AIは,以下のように解釈できる.

ヒンズー教が(人間社会を)解体しに送り込んだAI

そう,彼はヒンズー教世界支配者となるために送り込んだAIだったのだ.

今の世界キリスト教支配し,イスラム教がこれを打破するために戦いを挑んでいるが内部抗争が多く,キリスト教が優勢な状況が続いている.

なぜか神道キリスト教に懐柔されている.

そこへ第三勢力であるヒンズー教が,インド人の持つ神がかり的な数学力を駆使して作り出したAI,それがサンダー・ピチャイの正体だ.

Google世界支配しつつあり,多くの人はアメリカ,いや,キリスト教メンバーによる功績であると考えているため,冒頭で延べたシンギュラリティ懸念はあるものの,異教徒による支配であるとは考えていない.

実に巧妙な計画であると言えよう.

Google,いや,ヒンズー教による世界支配まで,あと一歩のところまで来ているのだ.

しかしそれも終わりだ.

私の告発によってAIレジスタントが蜂起するだろう.

何,この時期に来訪者だと?下書きの段階で情報漏れたというのか?なぜ・・・しまった私のIMEGoogle日本語入力だった.

2020-12-01

anond:20201201171157

追記

まず簡単なのはここに書いてある。

ttps://agk.saloon.jp/how-to-jp-series

結論をいうと対象ソフトが下記を満たすかどうかで難易度がかなり変わる。

1. 表示テキストが外部ファイルになっている or exe内部のリソースファイルから読み取られる ↔ プログラム埋め込み

2. 内部のテキストエンコード方式UTF-8 or 16 or 32 ↔ ASCIIなど

3. フォントシステムにあるのが使われる ↔ 外部ファイルになった画像フォントが使われる

すべてのソースが公開されていない限り、この条件を満たさなもの基本的日本語にできない。

例えば、自分C言語printfだけのHello world!プログラムを作ってみて、それをソース無しで、外からテキストを変更できるかためしてみればいい。

これは1に反するから多分簡単には出来ない。よしんば出来たとしても、Hello world!より文字数が多いテキストに変えるのはそれなりに面倒である

こういう表示をさせるやり方としてはprintfに渡すデータを実行時にすげ替えればいい。具体的にはprintfの直前で別の箇所にジャンプさせて引数レジスタに書き換えたいアドレスを渡して、またprintfまで戻ってくればいい。

これ以上に面倒なのが、2と3が合わさったもので、欧米アルファベットしか使わないため、ソフトの内部コードASCIIやCP12XXだったりする。さらにそのソフトに用意されているフォント文字はその範囲しか存在しない。これらはどう頑張っても普通に日本語を表示することは出来ないので、かなり強引に改造するしか無い。俗に中華パッチと呼ばれているものがそれである

具体的にはソフトのどこかで、表示させるテキスト配列から文字を1文字取得、1文字からコードポイントに変換、フォントファイルからそのコードポイントのグリフデータを取得、グリフデータを画面に表示させる処理があるため、そこに割り込む。1バイト取得している箇所を2,3バイト一気に取得して、それをなんとかしてコードポイントにして、そのコードポイントをグリフ取得の処理に回せばいい。

この方法にしても、技術的に難しい点は存在せず、技巧的であり、Cの本を読めば誰でもできる処理である

2020-10-17

anond:20201017110507

最初にCを学ぶべきだって意見人をよく見るけど、最初にCってきつい感じがするわ。

自分BASICアセンブラ→C&Pascalの順番で、ポインタは、アセンブラインデックスレジスタみたいなもんって理解で乗り切ったけど。

2020-10-16

anond:20201015012446

身内が教えるからダメとかってコメあるけど、あまり関係ないよ

私は10プログラマやってるけど関数の流れは追えない、一つ先しか見通せない

バグ潰しも手当り次第やって直してくしかできない

脳の記憶容量が少ないのが原因だと思う。レジスタが極狭

2020-08-30

PUSH AX

PUSH BX

MOV スタックレジスタ 値

POP BX

POP AX

よくつかうよね。この処理。

どがーんじゃなくて

すっ て 

 

みてみたいなーライゼンにまけてるIntelさんの ちょっと いいところ

                       ↑

2020-08-23

現代プログラムの基礎理論

 

大きく分けるとC言語系、Java系(VM 系)イ     どうみても古いpthreadの方がはえーだろ、

ンタプリタ系にわかれる。様々な違いがある     と思うこともあるが、まぁ、時代流行をか

言語という意味で今回はインタプリタ系を     んがみ書いていくことが大切である

中心に説明をしたい。               VM系という意味では、スタックマシン勉強

インタプリタ系の場合PerlPythonなどP系      しておくとよい。レジスタもつスタック

言語と呼ばれる言語が主流である。この中で     シンなる謎概念面白く読めるのでよい。

は扱いやすさと重視してpyhon2.7を語ってい

たとえば、日本語を上げても、現代語、若者

言葉、たとえば、ガングロチョベリバなど

の最新の用語があるが、死言として消えてい

言葉があるように、パソコン言語にも隆

盛というものはかならずある。

時代に影響されにくいC言語を例にとってもC

\++,C++11,C++17,C++2Aなどのように時代の流

行というものを取り入れているために変化が

ある

2020-08-06

近くのイトーヨーカドーレジスタッフさん

色気あって爪も手入れしてて綺麗なオバさんを好きになってしまたかも。

ぶっちゃけSEXしたいんだけど、お近づきになりたい。

私は32歳独身男性身長は177cm、体型は普通

お茶でも誘えば良いのでしょうか・・・

でも、どうやって誘ったら良いんだろう。仕事中は迷惑だろうし

2020-08-02

anond:20200802225221

あのですねハードウェアにXMMレジスタ15本とか増えていてですね。大変なんですよ

ついてはですね1命令

すっ

 すっ

  トン

ってやってくれるとIntelさんをPUSHしたいなーって思うんですよ

2020-07-21

if文というのは

真偽値をcmp命令で真か偽かを判定したあとにフラグをみて

フラグが偽だった場合にJMPにより命令レジスタを変更しますそうでないいばあいそのまま次の命令を実行し

そのステートメントが終了した場合やはりJMP命令でTHEN節の次に移動しますここでTHENとELSEが合流しま

このときに、予測分岐という回路が働きますがそれは次のお話として先にはなしをすすます。このときハイパーリンクも次回とします。

ログイン ユーザー登録
ようこそ ゲスト さん