アカウント名:
パスワード:
Python使えるのは掃いて捨てるほど居るとな。Python使えるのはいいんだが、そのライブラリを作れるのはそのうち何人だろう。潰しが効くのはCとアセンブラ、この2つができれば食いっぱぐれることはないと勝手に思っている
8086アセンブラなら使える(た?)けど、今時役に立つ気が全くしない。ただ、他言語やるときメモリとかポインタとかで苦労することないというのはあるのかな?
どんなCPUでもいいので、1種類だけでもアセンブラやってれば他のも読めるでしょ。コンパイラが吐くコードを読めるのは強いし、それを意識して書けないと最適化はできない。もっと高度な最適化したいなら、HDLも触ったことあると強いですね。
まともなコンパイラで最適化オプションを適切に振ってやれば、自前でアセンブラ書くほどではないですが、最適化した結果うまく動かなくなったとか、リリースビルドした実行イメージが落ちたなどのデバッグでは、アセンブラやCとのミックスで読めないと確かに仕事にならないですね。
あと画像処理の最適化などで、ARM-NEONとかのような高速化命令を使う場合はアセンブラで書きます。より有効に働くように処理粒度や処理手順を組み替えたり必要があるので。
ただその手の分野だと、CPU固有の高速化命令だけじゃなくGPGPU活用やFPGA化まで選択肢はあるし、その場合はハード間のデータバスやキャッシュヒットなども考慮した検討になるんで、アセンブラ読めるだけの知識だけではあまり意味がないですが。
アセンブラが時に必要になるデバイスドライバやOSのブートコードなども同様に、ハード周りの知識が前提となるので、一般的なアセンブラが読める・書けるだけでは使い道がなさそう...
rustだともうSIMDにアセンブリ使わなくなってるよ。アーキテクチャ依存な部分は標準ライブラリにあって移植性のある部分はいまは外部クレートとして開発してるけどアセンブリ使わないのは同じ。メモリマップドレジスタも有名所はクレートある。
>ハード周りの知識が前提となるので、一般的なアセンブラが読める・書けるだけでは使い道がなさそう...同意する。いまは特定のアセンブラ知ってるかよりハードの知識のほうがより重要だと思う。
HDLなんてソフトの最適化と全然関係ないです。
俺もそう思った、ソフトの最適化とHDLの経験は全く無関係だなしかし、HDLというかFPGAをやるとマイコンのペリフェラルモジュールの気持ちが分かるようにはなる
HDLでFPGA書くってことじゃない?確かにデータバスやキャッシュ、低消費電力コードに関する理解は深まった。
横だがそれはHDLでグルーロジック記述しないと身に付かない訳じゃないだろ
HDL使えれば、何のどんな最適化が出来るんだろう・・・
一昔前の「NASA」(NASA通信社でなく米航空宇宙局)なら、8086アセンブラ・マシン語の仕事があったらしい。パチンコ機・パチスロ機なら今でも?
パチンコなどの遊戯機はZ80だったような。(不正コードが混じってないかを読む検査官がZ80しか読めないおじいちゃん説)
内蔵ROMプロテクトでお上的なセキュリティが強いと言われるZ80コア使用のCPUですROMは8KB、RAMは512Bこれで\3000もするのを買わされる
asmコードのリロケータブルリンクは禁止ORGのアドレス指定で書かねばならん
> asmコードのリロケータブルリンクは禁止> ORGのアドレス指定で書かねばならん なんかもうorz
メインとサブで開発会社別れてるし昔からサブの方は映像系がやってたし今はサブ基板の方なら今のゲーム開発と変わんね。演出用ROM容量の上限撤廃が大きいんじゃないかと思う。
むしろCとアセンブラ以外のポインターで苦労する言語 is 何それしか知らないから認知が偏っているのでは
多くの言語でポインタ使ってない?Cみたいにポインタで演算できちゃうのは少ないとは思うけど#俺もやらないようにしてる
他にはRubyしか使えないのでRubyで例書くけどfoo = ["hoge", "fuga"]bar = foofoo ["hoge", "fuga", "piyo"]このあたりの挙動ってポインタの知識そのものかと
後から見直したらrubyの部分化けてるなぁ<<がの行が消えてるっぽい。<ecode>使わないとだめなのね
foo = ["hoge", "fuga"]bar = foofoo << "piyo"p "bar" # => ["hoge", "fuga", "piyo"]
って書いたつもり
イマドキの言語では「ポインタ」ではなく「参照型」を使うし、そっちの概念で考えるのでは。C言語のポインタ (や配列に関してのsyntax sugarなど)はデータアクセスの抽象化が未熟な頃の仕様では。実行時にメモリイメージを想起しやすいというメリットはあるけど、そんなメリットを求めるのって組み込み屋さんとかくらいだし。
あなたが書いてるのも別に「ポインタの知識」じゃないよね。どちらかというとメモリアドレスやその演算を意識した例じゃないとポインタっぽくないのでは。
メモリアドレスやその演算を意識した実装なんて、脆弱性の臭いがプンプンする悪しき風習ですね。
8086のセグメントアドレス方式を意識したポインタ操作ができる高級言語はあっただろうか
それもポインタだけどポインタ知らなくても誰でも使える程度のものだから・・・
CASLの達人は?
CASLはさっぱりわからんかったCASLが一番簡単だって聞いてたんだけども結局COBOLで取ったわ
8086のアセンブラの経験は、RL78という車載マイコンの開発で役に立ったよ。50億個を売ったルネサスのマイコン「RL78」、第2世代品が登場https://xtech.nikkei.com/atcl/nxt/news/18/10106/ [nikkei.com]16bitマイコンなんでfarポインタが現役。こいつのアセンブラが完璧にできたら、当面は失業はなさそう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
逆に言えば (スコア:0)
Python使えるのは掃いて捨てるほど居るとな。
Python使えるのはいいんだが、そのライブラリを作れるのはそのうち何人だろう。
潰しが効くのはCとアセンブラ、この2つができれば食いっぱぐれることはないと勝手に思っている
Re:逆に言えば (スコア:0)
8086アセンブラなら使える(た?)けど、今時役に立つ気が全くしない。
ただ、他言語やるときメモリとかポインタとかで苦労することないというのはあるのかな?
Re:逆に言えば (スコア:1)
どんなCPUでもいいので、1種類だけでもアセンブラやってれば他のも読めるでしょ。
コンパイラが吐くコードを読めるのは強いし、それを意識して書けないと最適化はできない。
もっと高度な最適化したいなら、HDLも触ったことあると強いですね。
Re:逆に言えば (スコア:2)
まともなコンパイラで最適化オプションを適切に振ってやれば、自前でアセンブラ書くほどではないですが、
最適化した結果うまく動かなくなったとか、リリースビルドした実行イメージが落ちたなどのデバッグでは、
アセンブラやCとのミックスで読めないと確かに仕事にならないですね。
あと画像処理の最適化などで、ARM-NEONとかのような高速化命令を使う場合はアセンブラで書きます。
より有効に働くように処理粒度や処理手順を組み替えたり必要があるので。
ただその手の分野だと、CPU固有の高速化命令だけじゃなくGPGPU活用やFPGA化まで選択肢はあるし、
その場合はハード間のデータバスやキャッシュヒットなども考慮した検討になるんで、
アセンブラ読めるだけの知識だけではあまり意味がないですが。
アセンブラが時に必要になるデバイスドライバやOSのブートコードなども同様に、
ハード周りの知識が前提となるので、一般的なアセンブラが読める・書けるだけでは使い道がなさそう...
Re: (スコア:0)
rustだともうSIMDにアセンブリ使わなくなってるよ。
アーキテクチャ依存な部分は標準ライブラリにあって移植性のある部分はいまは外部クレートとして開発してるけどアセンブリ使わないのは同じ。
メモリマップドレジスタも有名所はクレートある。
>ハード周りの知識が前提となるので、一般的なアセンブラが読める・書けるだけでは使い道がなさそう...
同意する。いまは特定のアセンブラ知ってるかよりハードの知識のほうがより重要だと思う。
Re: (スコア:0)
HDLなんてソフトの最適化と全然関係ないです。
Re: (スコア:0)
俺もそう思った、ソフトの最適化とHDLの経験は全く無関係だな
しかし、HDLというかFPGAをやるとマイコンのペリフェラルモジュールの気持ちが分かるようにはなる
Re: (スコア:0)
HDLでFPGA書くってことじゃない?
確かにデータバスやキャッシュ、低消費電力コードに関する理解は深まった。
Re: (スコア:0)
横だがそれはHDLでグルーロジック記述しないと身に付かない訳じゃないだろ
Re: (スコア:0)
HDL使えれば、何のどんな最適化が出来るんだろう・・・
Re:逆に言えば (スコア:1)
一昔前の「NASA」(NASA通信社でなく米航空宇宙局)なら、8086アセンブラ・マシン語の仕事があったらしい。
パチンコ機・パチスロ機なら今でも?
Re: (スコア:0)
パチンコなどの遊戯機はZ80だったような。
(不正コードが混じってないかを読む検査官がZ80しか読めないおじいちゃん説)
Re: (スコア:0)
内蔵ROMプロテクトでお上的なセキュリティが強いと言われるZ80コア使用のCPUです
ROMは8KB、RAMは512B
これで\3000もするのを買わされる
asmコードのリロケータブルリンクは禁止
ORGのアドレス指定で書かねばならん
Re: (スコア:0)
> asmコードのリロケータブルリンクは禁止
> ORGのアドレス指定で書かねばならん
なんかもうorz
Re: (スコア:0)
メインとサブで開発会社別れてるし昔からサブの方は映像系がやってたし今はサブ基板の方なら今のゲーム開発と変わんね。
演出用ROM容量の上限撤廃が大きいんじゃないかと思う。
Re: (スコア:0)
むしろCとアセンブラ以外のポインターで苦労する言語 is 何
それしか知らないから認知が偏っているのでは
Re:逆に言えば (スコア:2)
多くの言語でポインタ使ってない?
Cみたいにポインタで演算できちゃうのは少ないとは思うけど
#俺もやらないようにしてる
他にはRubyしか使えないのでRubyで例書くけど
foo = ["hoge", "fuga"]
bar = foo
foo ["hoge", "fuga", "piyo"]
このあたりの挙動ってポインタの知識そのものかと
Re:逆に言えば (スコア:1)
後から見直したらrubyの部分化けてるなぁ
<<がの行が消えてるっぽい。<ecode>使わないとだめなのね
って書いたつもり
Re: (スコア:0)
イマドキの言語では「ポインタ」ではなく「参照型」を使うし、そっちの概念で考えるのでは。
C言語のポインタ (や配列に関してのsyntax sugarなど)はデータアクセスの抽象化が未熟な頃の仕様では。
実行時にメモリイメージを想起しやすいというメリットはあるけど、
そんなメリットを求めるのって組み込み屋さんとかくらいだし。
あなたが書いてるのも別に「ポインタの知識」じゃないよね。
どちらかというとメモリアドレスやその演算を意識した例じゃないとポインタっぽくないのでは。
Re: (スコア:0)
メモリアドレスやその演算を意識した実装なんて、脆弱性の臭いがプンプンする悪しき風習ですね。
Re: (スコア:0)
8086のセグメントアドレス方式を意識したポインタ操作ができる高級言語はあっただろうか
Re:逆に言えば (スコア:1)
Re: (スコア:0)
それもポインタだけどポインタ知らなくても誰でも使える程度のものだから・・・
Re: (スコア:0)
CASLの達人は?
Re: (スコア:0)
周囲が皆CASLを苦手にしているのがよくわからんかった
Re: (スコア:0)
CASLはさっぱりわからんかった
CASLが一番簡単だって聞いてたんだけども結局COBOLで取ったわ
Re: (スコア:0)
8086のアセンブラの経験は、RL78という車載マイコンの開発で役に立ったよ。
50億個を売ったルネサスのマイコン「RL78」、第2世代品が登場
https://xtech.nikkei.com/atcl/nxt/news/18/10106/ [nikkei.com]
16bitマイコンなんでfarポインタが現役。
こいつのアセンブラが完璧にできたら、当面は失業はなさそう。