![プログラミング プログラミング](https://srad.jp/static/topics/programming_64.png)
アセンブリ言語、最近人気が右肩上がり 82
ストーリー by hylom
最近では知らないプログラマも多いのでは 部門より
最近では知らないプログラマも多いのでは 部門より
insiderman 曰く、
プログラミング言語の人気ランキングを公表しているTIOBE Indexで、アセンブリ言語が最近右肩上がりでランキングを上げている。2016年7月の結果では10位となっており、RubyやVisual Basic、Objective-Cを上回ってトップ10入りを果たした。
アセンブリ言語のランキング変動グラフを見ると、ここ数年は低かったスコアが昨年6月から急上昇している。TIOBE Indexではこの説明として小型機器でのプログラミングで使われている点やパフォーマンスの高さを上げているが、それだけでは最近のスコア上昇は説明しにくい気がする。現在、アセンブリ言語はどこで使われているのだろうか?
一部方面ではバズワード扱いされていますが (スコア:5, 参考になる)
何故かというと、IoTなんですわ。(だと思う)
いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。
添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。
結局ドライバから内製するハメに。
ハンドアセンブルやってた時代の化石化したオッサン大活躍中。
「高級言語の出る幕じゃねーよ」
#かなり盛ってるけど、でもホント
Re: (スコア:0)
ドライバ書く必要はあるとしてもアセンブラじゃなきゃダメって状況はそうそうないだしょ
Re:一部方面ではバズワード扱いされていますが (スコア:2)
組み込み用のマイコンには
Cコンパイラでは吐かれることのない
特定用途にちょっと便利な命令があったりしてな。
そういう命令をうまく使うとさくっと処理できる
関数はアセンブラで書く。レジスタがうまく使い回せて
asm 文で書ければそれでもいいけど。
Re: (スコア:0)
なんちゃってIoTだと、リソース(CPUパワー、記憶容量、おまけに使用可能な電力)がかなり限られてしまうから、アセンブラでガリガリせざるを得なかったり。
#Cのライブラリを作っても次の製品で使える保証ないし
Re: (スコア:0)
I2Cで単純な機能の奴を使うのに、デバイスドライバなんか作らないってのは珍しくない。
タイマーでポーリングするだけ、とか。
Re: (スコア:0)
私もそこら辺りだと思うなあ。
Cコンパイラ使えるターゲットなら、どうしてもアセンブラが必要なのはRTOSのそのまたコアのスレッドをディスパッチする部分くらい。
ただ、弊社でも10年くらい前の組み込み機器はアセンブラで書かれてて、誰もメンテできないのでそろそろ作り直そうといている。
Re: (スコア:0)
ぶら下げ間違えました。
#3045843 に対するコメントです。
Re: (スコア:0)
そう思っていた時が自分にもありました。
ついこの前、WS2812BというLEDを買った。自分でドライバ書いてみたがタイミングが全然取れない。
Adafruitのドライバがあったので中をカンニングした。
アセンブラで書かれていた。(#ifdef山盛りで)
Re: (スコア:0)
Microchip PIC10/12/16何ちゃらとかのことじゃないの?
SDCCのターゲットマイコンならアセンブラで実装はあり得る。
GCCがサポートしているマイコンでわざわざアセンブリ持ち出す人はさすがに少ないと思うよ。
Re: (スコア:0)
今時の組込プロセッサでメーカーがCコンパイラ用意して無いものは無いので通常はアセンブラでのコーディングは不要です
さすがにローエンドのプロセッサでは固定長のハードウェアスタックしかなくて、C言語のファンクションのネスティング・レベルに厳しい制約がついてしまい、下回りのドライバ類はすべてアセンブラ記述で~ということはありますが
いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。
添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。
結局ドライバから内製するハメに。
それって当たり前、組込の常識です
自分で作るのが嫌なら3rdパーティーが有償で販売しているものを買ってきて使ってください
Re: (スコア:0)
いろんなデバイスがジャンジャン出てきてますが、”対応”つっても単にLANポートが付いてるだけとか。
添付のドライバもチップセットのメーカから提供されている試供品みたいなドライバそのまんまとか。
結局ドライバから内製するハメに。
それって当たり前、組込の常識です
自分で作るのが嫌なら3rdパーティーが有償で販売しているものを買ってきて使ってください
そうですね。
補足しておくと、組み込みの世界で添付ドライバなんてドライバ作るための参考資料(サンプルソース)に過ぎないし。
Re:一部方面ではバズワード扱いされていますが (スコア:1)
そーいうのはソースが添付されてるときだけ言ってくださいまし…
Re: (スコア:0)
売ってりゃ高くても買うんやけどねぇ。
『○月頃にリリースしますんで、それまで暫定版のご提供で・・・・』とかそんなですやん。
おまけに、次期製品が市場に出回る頃になってようやく出てきた製品版はバグだらけ、ってそんな話よ?
クソ遅いわバグだらけだわで話にならんからアプリ屋が自前でドライバから内製しとるだけですわ。(笑)
アセンブラは (スコア:1)
割り算で挫折した
if the kid?
Re:アセンブラは (スコア:1)
8080で一回挫折. 6800で復帰. 以降Z80, 6809等など.
アセンブラって, 言語自体よりも, なぜそのような命令が用意されているのかというアーキテクチャの理解と, それに伴う定石の構築が重要ですよね.
Re: (スコア:0)
NOP はなにもしないのではなく、PC に 1加えるだけの命令
HALT は停止ではなく、PC を進めることもしない命令
(PCが進まないので割り込まれるまで HALT を実行し続ける)
てことを知った時、なるほどこれが高級言語との違いかぁと感じた
# Z80
Re: (スコア:0)
halt線をアサートするよ
Re: (スコア:0)
HALT は停止ではなく、PC を進めることもしない命令
(PCが進まないので割り込まれるまで HALT を実行し続ける)
HALTでもPCが進むから割り込みでHALTの次の命令から実行されるんだけどね、何言ってるのこの人
Re: (スコア:0)
8086系ということで、MASM(Ver.6以降)は便利だと思った
疑似命令が便利で感動した
そんなだから僕は本当のアセンブラを知らない
Re: (スコア:0)
6809で入門、68000で飛躍、8086で挫折
Re: (スコア:0)
CP/Mが買えずに挫折した。子供には高く手が出せず..。
仕方ないのでハンドアセンブルしてました。Z80の本は買えた。
Re: (スコア:0)
# 安くても子供に手が届くかと云うと…。
Re:アセンブラは (スコア:1)
MB-S1(6809)に8080エミュの16進ダンプコード黙々と打ち込んで、
X1のCP/M80を動かしてました。確か1万円台だったかな(?)
Re: (スコア:0)
そもそもフロッピーディスクドライブが本体よりも高くて買えなかったという。
Re: (スコア:0)
どこかで躓いたというより単純に面倒くさくて入れ込まなかったですね
今はC言語が高級アセンブラで美味しいです
Re: (スコア:0)
そんなの本に載ってるコードとかをパクってくればいいいだけ。
とりあえず釣られておくか。 (スコア:1)
今、その手のプログラムはCで書くわけだ。
とはいえ、Cで、アセンブラというかマシン語を意識して書くか書かないかでは大違い。
それをも含めて「アセンブリ言語」なのかな。
なんにせよ、そっち系の仕事は非常に少ないです。評価されないので儲かりません。
評価されるように内容を説明できないのが問題なのだけど。
猫も杓子もIoT (スコア:0)
そうかなぁ。妥当なところじゃないかな。
ただ、IoTみたいなキーワードが出てきてないのは、それを意識していないのかあちらではあまりそういう言い方をしないのか。
IoTのセキュリティ (スコア:0)
OpenSSLとか使うのしんどいんですよメモリ的に
mbed TLSもそのまま使うと中間CA証明書とかフルとか
IoT機器泣かせなのですわ
何とかするために削ったりごにょごにょする際の一手として
アセンブリ扱えると何とかなったりならなかったり
# メモリが足りないならスワップ使えばいいじゃない(SDストレージェ
Re:IoTのセキュリティ (スコア:2)
> # メモリが足りないならスワップ使えばいいじゃない(SDストレージェ
フロッピーにスワップ(と呼ぶのはすこし不適格だけど)ってのはCP/M時代にはそれなりにあったことです。
メモリをバンクで切り替えるのは当然。
Re: (スコア:0)
最新のUoT機器にUSB説ぞ気じゃないマジものフロッピーとか宗篤
# SDカードは寿命的に美味しくないのよねぇ
Re: (スコア:0)
Universe of Things?
Re: (スコア:0)
Theもつけないと
Re: (スコア:0)
それなりにあったけど、あのギコギコ地獄はなあ、、、、
Re:IoTのセキュリティ (スコア:1)
スター・ウォーズのテーマをフロッピーディスクドライブで演奏する猛者が登場 [gigazine.net]
アセンブラ短歌 (スコア:0)
まさか流行っているとでもいうのか?
クラック (スコア:0)
じゃないの?
有名アプリを逆アセして、小銭を稼ぐネタにする
AIプログラマ (スコア:0)
人工知能が自らプログラムを始めた兆候かも、AIにとって高級言語とは無駄が多いからきっとアセンブラで書くだろう。
Re: (スコア:0)
アセンブラも無駄が多いので、いきなりバイナリを吐き出すのでは?
メンテナンス (スコア:0)
メインでやってた世代がリタイアの時期とか
# COBOLもきっとそのうち/もう過ぎた?
昨今のasm出番というと、 (スコア:0)
GPUカリカリチューンとか、
ARM組み込みカリカリチューンとか、
つーか、パイプライン/レイテンシ気にしながらのasmは、3倍疲れます。
# 3倍速くなるなら、やる価値はある
どうやって調査してるの? (スコア:0)
CPUによってアセンブリ言語も違うし、検索ワードもいろいろのような気がするけど、
本当に正しく調査できるの?
Re:どうやって調査してるの? (スコア:1)
マイナビニュースを見ると検索エンジンの結果を元にしている模様。
「Assembly language」とかで検索した結果の件数?
CPUによってアセンブリ言語が違う分増幅されてる?
アセンブラよ永遠に (スコア:0)
NTT DoCoMo社長、従来型携帯電話の販売を将来も続けると回答 [mobile.srad.jp]のコメントを併せて読むと、ブート関連やタイミングにシビアな部分、RTOSのかなり深い部分とか一定の需要はある一方、アセンブラを扱える人が少なくなって希少価値になっただけじゃないかと。
さりとて新規参入の敷居も高い分野だし、失ってみて初めてその価値が分かるってことですね。
ここまで (スコア:0)
arduinoが出てこないのが不思議
Re: (スコア:0)
なぜ出てくるのか不思議
Re: (スコア:0)
数多あるアセンブラで書くことができるプラットホームのひとつなので「なぜ出てくるのか不思議」とは思わない。
数多あるアセンブラで書くことができるプラットホームのひとつなので「出てこないのが不思議」とも思わない。
ふーん (スコア:0)
Cってマクロアセンブラだよね・・・・
Re: (スコア:0)
それならキャリーフラグが欲しかった。
Re: (スコア:0)
おまえなんかハーフキャリーで十分だ