はてなキーワード: アセンブラとは
n=1の話をするが組み込みにもちゃんと若い人いるよ。新卒一括採用だからWebみたいに派手じゃないけど。
あと組み込みにも色々あるよ
① CPUにC言語で書く。状態制御とかDI/DOする。割り込みつかってある期間内で処理を終わらせるようにする
② CPUにアセンブラで処理書く。古い製品のCPUはそれでしか書けないとかある。
③ FPGAにVerilog/VHDLで処理書く。①で間に合わない速度が必要なとき。あとA/D変換とか
④ PLCにラダー言語で処理書く。リレーwwwなんだが、何十年も出してる装置とかPLCが中心になっていて今更変えられないので今も需要がある。発注元も昔のやつ参考にするのでPLCで制御することみたいな要求事項がそのまま残ってる。
⑤ 組み込みLinuxに対してC++で処理書く。リアルタイムじゃない。CPU1はこれで、CPU2が①とかある。1と2のデータの受け渡しにFPGA使ったりする
⑥ タッチディスプレイのUIとか。タッチディスプレイの機械売ってるメーカが出してるクソ使いにくいソフトで作る。これで作ると牛丼屋の券売機見たいのができる。
私は3年立たずに逃げたのでもっと他にもあると思う
氷河期世代のおじさんです。
同世代の人たちは、やたらと苦労話をしてくるので、なんとなく合わせていますが、内心、そんな苦労してないんだけどなあ、と思っています。
高校生あたりまでの記憶が曖昧で、あまり覚えてないのですが、小学生くらいに同級生の自称霊感強い子か、近所の白龍から天啓を受けたと称する老人か、どこの田舎にも一人は存在するご当地仙人か、多分そのあたりの人に「おまえは34で死ぬ」と言われた気がします。
素朴な脳みそを持った少年期の僕は、すんなりその与太話を受け入れてしまい、そのまま成長し、ある程度人並みにものを考えられるようになった高校生以降も、ロケンローな人のように34歳死亡説を当然のように受け入れていました。
中学後半でマイコンを知った僕は、寝食を忘れるくらいに夢中になってプログラムを書いていました。ちなみに、コンピュータは持ってなかったので、紙に。
プログラムを考えることで、僕の無邪気な脳細胞達はようやく手をつないで思考することを覚えてくれたので、この頃からなんとなく記憶もしっかりしています。
この頃は、よく、あと20年弱で死んじゃうのか、やべーなと思ってました。
教師や親兄弟親戚一同からも増田ちゃんはコンピューターが上手なんだから大学か専門学校にいけばと言われたましたが、あと20年弱の余生を金銭的に不自由な学生生活で潰したくありませんでしたので、とりあえず東京に出て働くことにしました。
僕が、高校卒業時点は、バブル崩壊直前でしたので、高卒でも就職はできました。
プログラムとは無縁の仕事でしたが、寮完備だったので、数年働いてお金を貯めようと思いましたが、就職してすぐにバブル崩壊が始まりました。
働いていた会社が鉄鋼業だったこともあり、この先相当ヤバイという雰囲気が社内にプンプン漂っていました。
まだ、一年間しか働いておらず、お金もそれほど貯まってなかったのですが、焦った僕は就職雑誌を買い漁り、とにかくプログラムが組める仕事を探しました。
運良く、未経験でも募集しているゲーム会社があったので、「なんでもやります、お願いします」みたいな感じで入社しました。
気がついたら、そこで6年働いてました。
死ぬまでプログラムを組んでいたいと考えていましたが、当時はwindowsとdos/vパソコンの勢いが凄く、メーカー規格パソコンは終焉を迎える気配がプンプンしてましたが、仕事ではPC-98とかx68kでアセンブラ、自宅ではMSXとPC-98しか触ってないので、そのへんの知識は全くありません。
とりあえず秋葉原で働けばなんとかなるやろと会社を辞めて、秋葉原のパーツショップに就職しました。
当時の秋葉原は某宗教団体や国籍不明なおじさんが出所不明なパーツを路地で売っていたりと、とても魅力あふれる街でした。
あと、彼女もできました。
めちゃめちゃ楽しい職場だったので、このままでも良いかなとか思ってましたが、2年くらいで倒産してしまいました。
他のショップに移るつもりでしたが、彼女に「結婚するつもりなら、もう少し安定した仕事に就いて」と怒られたので、都内のシステム会社を面接しました。
高卒でアセンブラ経験者でアキバのショップ店員がお店が潰れた話をしたら、「お金、大丈夫?少ないけど支度金あげるから、ウチ来なよ」とえらく心配されて入社が決まりました。
その会社で6年ほど働いてたら、既に32歳になってました。
ちなみに奥さんには34歳死亡説は話してましたが、ほーん、じゃ保険かけとくか、くらいの反応でした。
日本はシステム会社といえど長く働いているとプログラムより管理者の仕事が増えるので、どうせ死ぬなら、と管理的な仕事が増えたら辞めるを繰り返してました。
転職回数は増えましたが、経験した業種や言語も増えるので、就職先には困りませんでした。
で、気がついたら34歳とっくに超えてました。
あれ、死んでねえし。
なんか損した気分だったので、もうロックに生きようと思い、当時設立したての会社を面接しました。
経歴書だけは立派で、その時は上場企業に勤めていたので、そこの社長に、え、マジでウチくるの?給料さがるよ?すぐ潰れるかもよ?と言われましたが、会社が大きくなる過程も見れるかもしれないじゃないっすか、とか適当にうそぶいて入社し、今に至ります。
すいません。オチはないです。
氷河期世代だけど、バブル崩壊後も人手不足のコンピューターを扱う業種にたまたま就いており、運よく会社を転々とでき、運良く成長前の会社に潜り込めただけかもしれないし、人によってはこれがよい人生と言えるかわからんですが、僕にとっては苦労のない人生でした。
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メモリアドレスに保存します。
https://b.hatena.ne.jp/entry/s/blog.tomoya.dev/posts/the-easiest-web3-textbook-is-really-bad/
や、それ以外もそうなんだけど、著者は非常に抽象度の高いマクロな視点からざっくり語っているので、ミクロな面では実態と異なるのは当然なんだよ。
著者が「地球は丸い」とざっくり言ってるだけなのに、
やれ富士山があるから丸くない、日本海溝があるから海の水全部抜けば丸くない。みたいな頓珍漢な批判が横行している・・・。
地球が丸かったら、下側の人は落ちちゃうじゃんwプークスクスしてる人すら居る。
そりゃすべての規格はオープンなんだし、自宅に2台のPC同士でLAN組んで通信させることもできるし、
なんなら自宅のサーバをインタネット上に公開することだってできるんだから、ミクロな面では独占されてないでしょうよ。
だけど、何か実用的なサービスをやろうと思ったら、結局、グーグル・アマゾン・マイクロソフトのクラウド借りる羽目になるじゃん?
3社に独占されてるじゃん!
そこに、さくらのクラウドやGMOクラウドや、その他の泡沫クラウドを加えたところで、世界規模でみてもせいぜい数百社くらいにかならないでしょ。
Web3 になると、ネット接続されたすべての端末が事実上のサーバサービスの提供者となるので、
究極的な未来では誰も大手クラウドサービスを借りる必要が無くなる。
自分の端末がオフラインの時でも、その時オンラインになっている端末が肩代わりしてサービスを提供し続けるし、
逆に自分の端末がオンラインになれば、他のオフラインの端末の肩代わりをちょっとだけ負担する。
今はまだ過渡期だから、大手クラウドと縁を切れる状況では全くないけれど、IPv4が使われなくなるころには、
そういう世界に代わってるはず。
別増田さんも書いてくれている ( anond:20220722005048 )けど、
究極的な未来では、ネット接続されたすべての端末が協働して一つの仮想的なハードウェア基盤を作り上げるので、
今はまだスマートコントラクトという、それこそ原始的なアセンブラレベルのコードしか動かないけど、
IPv4が使われなくなるころには誰も意識することなく、ブロックチェーン上に構築されたOSを使うことになります。
携帯電話が無かった時代に、電話を持ち歩く話をしたら、電話線どうすんだよwwwみたいにみんな思ったじゃないですか。
自動車電話が出来た時、あーはいはい。無線使うのね。移動中は通話が切れるから止まって話すの?だったら公衆電話使えよwwwとか言ってたじゃないですか。
それが今では、誰もが電話を持ち歩き、その電話の上でOSが動き、いろんなアプリ使いこなしてますよね。