1 :
仕様書無しさん:
c言語だけ、理解していれば、プログラマーとして、大丈夫なのでしょうか?
2 :
仕様書無しさん:2009/06/12(金) 19:58:48
>>1 マシン語は不要。
アセンブラは、「おれ業務系のプログラムだったらもう余裕。工数も機能を言われるだけである程度見積もれる」ってレベルになって
仕事にマンネリ化して、さらにもう一皮向けたプログラマになりたいと思ったら、マイコンと一緒に始めなさい
知らないよりは、知ってれば有利。
今じゃほぼ無いと思うが、昔はコンパイラにもバグがあって、それを調べるのに重宝した。
むしろ言語を学ぶこと自体既に意味がなくなりつつ
5 :
仕様書無しさん:2009/06/12(金) 20:23:41
なぜにC言語
言うのが20年ばかり遅くはないか
>>2 そういうレベルになっちゃうと、もうアセンブラ仕事なんか理解できないよ。
業種によるだろ。JK
9 :
仕様書無しさん:2009/06/12(金) 21:47:13
ニーモニック表が読めればOK
10 :
仕様書無しさん:2009/06/12(金) 22:10:32
ローカル変数やヒープ、関数の呼び出し規約、スタックの構造が想像できるようになると、デバッグ効率も全然違うから是非覚えておくべき。
というか、アセンブリ言語を経験していないブログラマは、セックスを経験していないホストのようなもの。見てくれだけで女を喜ばそうなんざ、
どだい無理な話だわな。
学生時代に経験したけどほとんど覚えてない
というかこれは憶える必要はない、と断言できるものってそうそう無い。
>>1が何系のプログラマーになりたいか、でその進路にアセンブラは必要か否か
ならまだ答えられるんだけど、プログラマーと漠然とした範囲なら
「おぼえておいてソンは無い」という当たり障りない答えになってしまうかと。
13 :
仕様書無しさん:2009/06/12(金) 23:27:11
アセンブリ言語
アセンブラ
アセロラ飲料
プリクラ
>>1はまず日本語を覚えて、句読点の分量を適宜調整して欲しい。
最低限、そのコードが動くマシンがどうなっているのかは知っているべきだし、
はき出すコードがおかしくないかどうか位は自分で見てわかるべき。(あんちょこ使って良いから。)
配列にマシン語いれといて自己書き換えとかC言語でも希に良くやる。
アセンブリ言語なんて、
計算機アーテクチャを知ってないと、自分が何やってるかわからんようになって
一発でやる気が無くなるのがオチ
最低でもタネンバウムのOS本は読んどかないとな
18 :
仕様書無しさん:2009/06/13(土) 01:01:48
クラッキングのためだと思ったら、結構楽しく覚えられるんじゃね?
それは修羅の道
普通に勉強する方が遥かに楽
20 :
仕様書無しさん:2009/06/13(土) 01:38:41
マシン語はさすがにおぼえなくていいよ
21 :
仕様書無しさん:2009/06/13(土) 02:12:54
組込なら書けなくても読めたほうがいいよ。Cで書いたプログラムの動きが納得できないときに
コンパイラが吐いたアセンブラで机上デバッグするというのはよくやること。
汎用機からJavaに移植する仕事したときにアセンブラの解析やったなぁ
自分は8ビットでマシン語やってたからある程度理解出来たけど
他のプログラマはみんな業務系の人だったんで誰も読めなかった
そのプロジェクトってアセンブラ解析部隊のおじいちゃん集団がいたんだけど
ディスプレイの文字が小さくて読めないらしく、
17インチモニタなのにみんなSVGAでモニタあげてた
>>2はきっと、組込み開発のことを全く知らないんだろうな。
それはそれで幸せなことだw
とりあえず、情報処理技術者試験のCASL2程度はやっとけ。
8086でもいいけど、要するにそのぐらいの基本レベル。
アセンブラを知らない組み込みプログラマは、モグリ。
大学でひととおり習ってるはず
28 :
仕様書無しさん:2009/06/13(土) 16:35:06
今だったら、アセンブラで、
ファイルからリードして標準出力へ表示ぐらい出来れば良いんじゃね。
>>28 ファイルでは敷居が高いから、キーボードから1文字リードしてTTYに出力の方がいいよ。
それならシステム関数使わないで全部まるまるっとアセンブラで組めるだろ?
シリアル入力→演算→シリアル出力
これならワンチップマイコンでも作れるからね。
そう考えると中級アマチュアでもみんなマシン語書いてた
ベーマガI/O世代はレベル高かったんだな
>>31 いや、当時は覚える範囲がすごく狭いから
プログラマーのスキル=どれくらい深く知ってるか=アセンブラ等のハードよりの技術
みたいな感じだった。今は目的に適した言語、ツール、書き方等、スキルの方向性も変わってきてる。
アセンブラを憶えると希少価値は上がるけど活用する場面は少なかった。俺の場合。
そのうちUVパイプやらRISCやらアセンブラに直訳するだけでは高速化すら難しくなり、今は必要なら読む程度。
同じ労力で
>>1が別言語覚えるのと迷っているならそちらを進める。
9801以外の奴はBASICとマシン語しか選択肢なかったようなもんだからな
ちょっと前に誰か偉い人が
僕らの時代はC言語を覚えなきゃならないのが不幸だったとか言ってたな
個人的に技術追求するんじゃなかったら特定の高給言語だけできればいいんだよね
Cを覚えたくないのに覚えなきゃならないから不幸だった、とかいう人は
そもそもプログラマに向いてない。
逆に、今の若い人は、Cもアセンブラも不要なので、習得が難しく、
ソフトウェアの本質を知らないまま突き進んで気の毒だと思うけどね。
Cやアセンブラがソフトの本質ぅ?
>>35 最初がいきなりC言語だと挫折する人の方が多いから
そもそもソフト作れる人がほとんどいなかったって意味だろ
ソフトを作れる人を減らしていかないと
俺の仕事がなくなる
39 :
仕様書無しさん:2009/06/13(土) 19:41:58
>>34 んなこたーない。
今は一つのシステム作るのに複数の言語・複数のプラットフォームを
使うのは当たり前になってきてる。
昔と違って「C言語さえできればプログラマとして一人前」みたいなことは無くなった。
客の要求に応じたシステムを作れれば言語ひとつしか出来なくても一人前だと思うんだが。
複数言語使い分けてなんてのは技術者側の自己満足でしょ。
アーキテクチャやってる人なら複数言語使ってみて比較して使い分けてってのは必要だろうけど。
客の要求に応じたシステムを安く作るために、いろんな言語を使うんだよ。
一つの言語でやろうっていう方が、技術屋の自己満足。
>>35 それで仕事になるなら知らなくてもいいことを知らないのは気の毒とは違うんじゃないかな
いろんな言語使わんよ実際は
やったとしても上級PGがせいぜい似た感じの言語を2つ3つやる程度
例えばJavaとPHPとか、VBとVCとかみたいな
もちろんSQLやBASHやHTMLは1言語と数えないでね
だから業種によって様々だから。
言い切れるおまいらが異常だよ。
沢山覚えてて当たり前なのか、必要な人だけ沢山覚えればいいのかって話じゃないの?
複数の言語を沢山覚えるのが当たり前ではないって反論なだけでしょ
そりゃいくつもの言語を使い分ける必要がある人はいるだろうよ
いや、言語一つだけでPGやっていけるっていう方が珍しいと思うぞ。
COBOLとかの特殊な世界は知らんが。
半数以上のPGは言語1つ2つでやってると思うが、
そんなにいろんな言語をやらんといけない業種って何?
CとC++とMakeとshellとSQLで5言語と計算とか無しな
WEB系だけどJavaとPHP以外は壊滅してるから殆ど使わんな。
ってかその中でもPHPが殆ど。
業界ではレアケースだったのかこれ。
業務系の請負でもライブラリはCのインタフェース触らないといけないものがあって、UIはJavaで運用スクリプトがPerlだったりするが。
もちろんSQLとshくらい普通に知ってる感じで。
あとは案件によって時々ABAPとか付いてきたりか。
仕事が来てから必要に応じて勉強しても間に合う話しなので
どうってことは無い事だけど。
アセンブラ必要なのは組み込み系だけじゃね?
業務系とかWEB系は高級言語レベルで動作が保証されればハードに近い所が何やってんのか知る必要無いからな。
WEB系の仕事するときでも、Java,PHP,JavaScript(AS含む),Rubyくらいは出てくるなぁ。
(一つのプロジェクトで全部使うわけでもないけど)
マスタメンテなどの管理アプリ欲しいっていわれればC#あたりで作ることになるし、
会社としてはWEB系以外の仕事も請負ってるんで、そっちはまたべつの技術使うし。
おれも情報処理技術者試験のCASL勉強したけど全然覚えてない
でも先にこれやっとくとCのポインタが理解しやすかったと思う
つまり複数言語を沢山使う人は、みんな無駄に改行を入れるということですね。
引数をスタックでわたすかレジスターで渡すかの違いがわかるのは大きい
わけねーだろ!
55 :
仕様書無しさん:2009/06/14(日) 01:28:29
知識はただじゃない
けど、オープンソースが僕の技術力を高めてくれた
プラマイ0
>>51 そんなバラバラで作っちゃって、メンテナンスどうしてんの?
同じ言語や環境で揃えて、誰か辞めてもメンテナンス出来るようにしないと
のちのち面倒くさいだろ。
二次受けで元請けの言いなりみたいな会社だったらそうなのかもしれないけど、
自社開発の所は環境揃えるもんだぜ。
>>56 言語が違うくらいでメンテナンス不能になるようなことはないって。
新人でも一ヶ月くらいで新しい言語使えるようになるから。
言語よりコンピュータで何ができるかわかってる方が大きい。
Cでもjavaでも.NETでもちょっとしたアプリなら誰でもできる。
でもスレッドをつかったプログラミングとか、異機種間通信で文字コードの違いを
頭に入れて作らなきゃいけないとかはまた別次元の問題。
大切なのは前者より後者
一ヶ月やった程度の新人に、動いてる客のシステムいじらせるとか正気ですか。
バラバラの言語で作っていたものを社内で統一するってことはよくあるね。
うちもJava,PHP,Perl,ASPってあったけど、一部の大規模なのをのぞいて、
新規案件は基本PHP+Symfonyに統一になった。
Webの場合は、言語の使い分けって技術者の自己満足でしかないんだよね。
HTML出てくればそれでいい。
61 :
仕様書無しさん:2009/06/14(日) 08:50:27
>>59 結局、その程度の規模なんでしょ。
10万ステップ級の業務プログラムとかいじることはないでしょ。
所詮、使い捨てプログラムレベル
小規模システムを作り切りで納品するだけの下請なんじゃね
だからメンテナンスは考えないで、
目新しい言語に次々手を出すと
63 :
仕様書無しさん:2009/06/14(日) 09:14:26
>>62 怖いよね。そーゆー会社。
プログラムが使い捨てってことは、それを作っているプログラマも使い捨てにできるってことに気づいたら、さっさと転職考えるよな
> 10万ステップ級
すいぶん小規模なんだなw
それは拷問だ
67 :
仕様書無しさん:2009/06/14(日) 10:30:27
>>64 でけぇよ
厨房はひっこんでろ。
OSですら500万STEPだぞ。
業務系で10万STEP規模なら、相当なもん作れる
>>59 お前の会社は、新人に仕事投げっぱなしなのかな?
69 :
仕様書無しさん:2009/06/14(日) 10:35:35
>>67 どうせ1000ステップ20ファンクションくらいのプログラム作成に1ヶ月くらいかけている素人でしょ。
10万ステップ、医療系ならレセプトシステムが作れるな
>>59 ちゃんとテストして動けばだれがつくっても同じだろ
>>65 >ひとつのファイルが10万ステップだお
1行に平均40バイト書かれてると仮定すれば、ファイルサイズは4メガバイト足らずか。
そんなソースコードが存在してる時点で会社のレベルが知れるね。
新人をいれるとかいれないとか以前の問題だと思うぞ。
保守できないじゃん。
業務系には蛙がたくさんいるようだな
アセンブラが出来ない奴らがスレ違いの話を延々とw
結論出てんのなら、このスレ終了でいいじゃん。
なにスレ違いな話を延々としてんの。
>>76 >>1 読めよ。
>c言語だけ、理解していれば、プログラマーとして、大丈夫なのでしょうか?
この問いに何と答えるのか
>>1への答えとしては
「まずその前に、日本語をもっと勉強しましょう」。
Cを理解してるっていってもねえ。
理解してると思ってるのは自分だけって奴もいっぱいいるしな。
static関数のプロトタイプ宣言をヘッダに書くみたいな狂ったことして
「Cわかります」って威張られても笑っちゃうだけだよ。
関数のポインタが嫌でifをずらずら並べたり、プロトタイプ宣言がわからなくて
ボトムアップ順で関数記述したり、ローカルでしか使わない関数なのにstatic
つけなかったり、分割コンパイルがよくわからないから1個のソースに何でもかんでも
入れたり・・・「なんちゃってCプログラマ」は無数にいるよ。
>>80 日本語ネイティブは、あんなに読点を打たない。
ま、アセンブラの次にcは最後まで生き残る言語だからな。
コンピュータという機械がある限りアセンブラは存在し、
アセンブラが存在する限りcは存在する。
>>82 それはフォンノイマン型コンピュータの話だろう。
いずれちょびっツに出てくるようなパソコンが主流となる。
そうなれば機械語は終わりだ。
>>83 生きてるうちにちょびっつが完成したらいいなー
無理だろうなorz
>>83 intelがあの調子じゃ今世紀一杯(あと91年)は無理だろw
アセンブラぐらいマニュアル見ながら読めるのが普通だろ。ユーザーレポートのレジスタ値見ても障害解析できねーじゃないか。
何も上級シスアド受かれとか言ってるわけじゃないし、基本だけ知ってれば何とでもなる。2日で覚えれるさ。
C言語「覚えた」の基準は、構造化やモジュール結合度の概念が身についてないと何の意味もないよね。
>>85 つまりドラえもんの時代まで待てということか
簡単なアセンブラぐらいできないんだったら、
プログラマやめたほうがいいだろ。
アセンブラでアプリ1本作るというのなら、大変だけど。
90 :
仕様書無しさん:2009/06/16(火) 08:12:49
>>67 >> OSですら500万STEPだぞ。
君ねー、OS書いたことないの、バレバレだよーん。
その君の言ってるOSって、まあ、基本的なドライバは
含めるとしても、ExcelやWordは入ってないよな?(笑)
つーか、マイコンやれば簡単な電子回路も学べるし
アセンブラも学べるしドライバが何やってるかもよくわかるし
PCだけやってても技術者にはなれない
つーか、自分でCPU作ってCコンパイラを作らなければいいんだよ
>>54 > 引数をスタックでわたすかレジスターで渡すかの違いがわかるのは大きい
> わけねーだろ!
組み込みだと結構気にしますが。
関数の第一引数はint型であれば、レジスタ渡しを優先的に選択するマイコンとか。
知らないと損をすることがあるので違うマイコンをはじめて使う時は
このあたりのことから勉強してます。
>>94 それはマイコンがどうとか言うより、そのマイコンのCコンパイラの癖じゃないのか。
96 :
94:2009/06/16(火) 22:49:59
>>95 >
>>94 > それはマイコンがどうとか言うより、そのマイコンのCコンパイラの癖じゃないのか。
そうですね正確にはそういうことです
-O -fomit-frame-pointer -fforce-register
ってやれば出来るだけスタック渡ししてくれるでそ
まちがえた 出来るだけレジスタ渡し、ね
99 :
仕様書無しさん:2009/06/17(水) 02:45:46
組込みマイコンでもGCC使えないのは、もうモチベーション出ないな。
GCCがあってもむしろアセンブラでガリガリ書きたい石もある。
ColdFireとか。
101 :
仕様書無しさん:2009/06/17(水) 04:47:33
>>1 アセンブラはプログラマーとして必需言語です。
主にSIMDを使った最適化や、難読化に使います。
102 :
仕様書無しさん:2009/06/17(水) 05:29:38
>>65 10万ステップの内、実際実行されるステップ数が1000行で残りはゴミとか容量気にしないアホが作るとこうなるんだな
あとオブジェクト指向言語から始めた奴なんかも容量まったく気にしてないしな
携帯500万行っていってっけど、ゴミがわんさかwww
103 :
仕様書無しさん:2009/06/17(水) 08:00:33
アセンブラなどは、大工で云えば「カンナ使った面仕上げや、カナヅチ使った釘打ちの技など」だよ。
今の住宅建設では、ほとんど使わないだろ。
工場で面仕上げ済みだし、釘は電動釘打ち機で打つ。
プレハブ方式で、ユニットを組み上げるイメージで建設してる。
だから、ド素人に近い大工でも使えてる。
ソフト業界も似たことやってるよな。
素人の若いの集めて、生産性の高い最新言語を即席で教え込んで
バカスカとアホなコード粗製濫造して、何とかシステムを完成に持ち込んでいる。
やっぱ、カンナも使えない釘打ちもできないじゃあ、大工じゃないよな。
細かな調整や裏技のためには必須だろ?
>>103 きわめて同意。
なんだか自分たちが頑固オヤジになった気分だなあ。
でも、ほんとうに速度やメモリ効率を重視される時が来たら、出番があると信じてるが。
105 :
仕様書無しさん:2009/06/17(水) 10:08:21
昔話 まだ仮想記憶でなかったメインフレームの頃
初心者~低レベルプログラマーの書くCOBOLプログラムが原因不明のアドレスエラーで
落ちるケースが続出した。
ソースを読むと、一見落ちる理由がない。
あるとすればテーブルの添え字がゾーン形式であることくらい。
ま、やってみよう、とその添え字をパック形式やバイナリー形式に直すと、OK。
初めのうち首をひねった。落ちないプログラムもあるのだ。
落ちたプログラムのオブジェクトリストを出して追跡してみて、ようやくわかった。
FILE-CONTROLの4番目以降に記述したファイルのフィールドに対してゾーン形式の
添え字を使うとレジスターのやりくりがつかなくなって落ちるということ。
すぐにメーカーに現象を連絡し、各プログラマーにはゾーン形式の添え字を使うなと厳命。
仮想記憶コンピューターが入った頃転勤したので、その後どうなったかは知らない。
コンパイラも同時進行で作ってるような出来立てのホヤホヤの石とかで
新規で構築するとかなら、アセンブラ必要だな。
マシンの性能が良くなり、メモリもいくらでも使える時代なんだから
アセンブラなど不要。
…と思ってる馬鹿はおらんか?w
108 :
仕様書無しさん:2009/06/17(水) 17:47:20
新しい石ができれば最小限誰かがどこかで機械語を使わなきゃならんのだがな
新規の石はむしろコンパイラの不具合が出切ってないから、実地で修正でバッグしなならん。
コンパイラの吐き出すコードが正しいかどうかを検証する事もしばしば。
オープン系のもれにはなんで枯れたコンパイラがあるCPUを使わないのか
不思議でならない。
>>110 組み込みだとそういう理由でハードを選定しないからかと。
大概、基盤の搭載性とかコストでほぼ決まる。
112 :
99:2009/06/18(木) 03:07:12
組込制御系だけど、
>>110みたいな理由でGCCの使えない案件(石)は
もうヌルーすることにしてる。GCCだけでなく、gdbやmakeも含めて。
石に依存した新しいIDEの突っつき方ばかり次々と憶えるのが馬鹿らしい。
アルゴリズムやOS, TCP/IPとかのプロトコルの使いこなしをマスターする
方が学習コスト/パフォーマンスが良い。
>>103 >工場で面仕上げ済みだし
今は工場も派遣のド素人がツールやライブラリ作ってるんだぜw
それをド素人の派遣SEにOOPで組立てさせるorさせたことにする
などという粗製乱造に拍車が掛かってる。
>>104 >でも、ほんとうに速度やメモリ効率を重視される時が来たら、出番があると信じてるが。
組込では無いが、マルチスレッドで作ることを強制される時代が近いはず
高級言語でも俺達の持つ枯れた知識の出番も近づいていると思うんだけど。
あ、異動してPGではなかったonz
マルチスレッドなんてもう使いまくりでしょ業務系は
DBとかのミドルウェアでは使われてるだろうけど、業務系プログラミングではほとんど使ってない。
というか、使う場面が無い。
>>113 並列処理の知識って、あまり広まってなくね?
教科書とか論文とか読み始めてはいるが。。
組込制御系でも、32bitの石を使うような案件だと、
もうマルチスッドレぐらい使いまくり。
空ループ禁止とか、mutexやセマフォなんかの排他/同期
手法ぐらい理解しといてくれ。
>>114 なんかのサーバープログラムではマルチスレッドなしでは無理。
でもクライアント画面とかにマルチスレッドが必要?
>>117 クライアントでもストレスない操作性を実装しようと
思ったらマルチスレッド使うよ。
何かするたびにユーザーを待たせてもいいなら使わないけどね。
マルチスレッドなんて使わなくても、実装方法一つで幾らでも解決できるのにね。
でもマルチスレッドのほうが楽でしょ?
目的による。
マルチスレッドにするコストってのはあるからなぁ
むしろ単にループを工夫するだけで目的達成できればそっちの方が楽なのはある。
全部ARMだろう。
モバイルはだいたいARMかSHの互換だな
全く独自ってのはまずない
>>117 PC-機器とのタイマー監視アプリとかで必要でね?
リアルタイム性が重要なのはマルチスレッドにしてプロセス数上げるより
シングルスレッドで安定性重視なんじゃないのか
>>126 いまだにRTOS乗ってない案件やってます。
OSの不要な組み込み機器はいっぱいあるぞ。
だいいち、RTだけが必要でOS部分なんて不要なんだよな
っていうかOSがあるほうがめずらしいだろ
ちっこいのしか相手してなきゃそうなるんでないかい。
俺も自前マルチタスクモニタ持ち出す方が多いかもしれん。
最近はめっきり減ってしまったが…
汎用機を使用した開発では、COBOLやPL/Iブログラムの性能が出ない時にアセンブラをコンパイラに出力させて、ホットスポットの解析を行うことがあります。
ソースコード上は問題無いようにみえても、アセンブラのステップ数がかさんでいたりする問題などを検出するためです。
※コンパイラが出力するのは、正確には擬似アセンブラです。コンパイルリストと呼ばれています。
なにが言いたいかというと、汎用機の開発ではまだまだアセンブラが現役のスキルとして重宝されているので、そっち系の仕事をするならば勉強して損はありません。
組込作ってる会社でもアセンブラできない人は結構いる.
チーム(開発)違うのに解析・最適化頼まれる事も ;P
おまいら!
別に自分がアセンブラできなくても,
好きな奴がやってくれるからイイヤって思ってないか?
「アセンブラ扱える」
=「アセンブラでハァハァできる奴」
=「お金と時間とアセンブラコード渡せば
喜んで解析・最適化してくれる」
と勘違いしてないか?
・・・いや確かにそうかもしれないが,
本見ながら, 読める程度にはなろうぜ!
汎用機でアセンブラソースをメンテした事が2回ある
可変長レコードファイル出力と単なる帳票出力
後者でCOBOLを使わなかった理由は知らん
処理速度をウリにしてたんだろうきっと。
136 :
仕様書無しさん:2009/07/01(水) 07:08:45
昔話だが、俺のいた電子計算室ではCOBOLを開発言語と決めていた。
ところがあるチームが室長に黙ってアセンブラで業務を書き換えた。
発覚したとき「これはアセンブラでなければ書けない」と言い訳をした。
その後、他のチームの人は2~3年でどんどん人事異動で入れ替わってゆくのに
そこは5年間人事異動なし、10年後にCOBOLで書き換えられるまで
半数が異動できなかった。
俺もC++とアセンブリ言語併用してそういうことやってるよ
他の人間には理解できないように作るのは保身の基本だと思ってる
138 :
仕様書無しさん:2009/07/01(水) 10:49:16
それは止めとけ。
「策士策に溺れる」「上手の手から水が漏れる」って昔から云うだろ。
バグを誘引して、自滅する。
アセンブリって一番簡単な言語なのになぁ
140 :
仕様書無しさん:2009/07/01(水) 11:03:42
アセンブリって一番原始的な言語なのになぁ
原始的だから一番簡単なんだよなぁ
簡単過ぎて難しい
何をやってるかが理解出来るまで少し読むだけでは理解出来ない
143 :
仕様書無しさん:2009/07/01(水) 11:25:26
FORTRANでやればなんでもない超多元配列など
アセンブラでどうやって書けっちゅうんだ!
>>143 [10][10][10][10]の多次元配列なら、
各最大要素 10*10*10*10 のメモリを確保しておいて、
[i1][i2][i3][i4]をアクセスするときは
basePoint + ( i1 * 1000 + i2 * 100 + i3 * 10 + i4 ) の中身を参照すればいいんでないか?
メモリ参照する度に乗算命令なんかコスト高すぎて使ってられねえ。
10は、(2*2+1)*2
2回シフトに元足して更に1回シフト。
4ステップだけど、いまどき乗算なんて1サイクルだからなぁ…
>>145 だから普通はループの外でアドレスレジスタを設定し
ループ内ではインクリメントで済むように書くわけですが。
デバッガによるx86プログラム解析入門 こういう本を理解するにはアセンブラやc言語をマスターしておかないと理解できないものなんですか?
そもそもプログラマ辞めろ
そうだそうだ
プログラマは少ないほうが俺の給料はよくなる
プログラマになりたいんじゃなくてゲーム解析したいだけっす
俺はエロゲ起動時のDVDチェックを外したいだけだぜ。
マスターなんてできるわきゃないから必要に応じて調べながら読めばいいだろ
154 :
仕様書無しさん:2009/08/03(月) 08:58:21
IBM360アセンブラで育った俺にとっては
インテルのアセンブラはもうめちゃくちゃで理解不能な代物
老舗旅館の増築工事みたいなニーモニックだからな。
RISC系とは違うのさ。
醜さに納得は出来ないが、一応使う事はできる。
MN1610のマシン語から入った俺でも
インテル系くらい読めるが。
あんなもん慣れだ。
インテル系の石、拡張されないかな?
どの命令にも好きなアドレッシングモードで使える汎用レジスタ32本追加とか。
命令長固定な追加汎用レジスタ専用命令とか。
Z80と6809のマシン語やっててSystem370もいじってたけど
今の86系のはさっぱりだな
System360アーキは、コテコテのCISCだが。
そのCISCの中でもintelアーキは最悪に醜い。
i8080の時ですら醜いと思ったが、それの増築工事
の繰り返しだもんな。
MC68kに移った時は美しいと思ったが、RISCは
もっと美しかったな。個人的にはMIPSが一番好き
だが、最近はARMの案件が多いな。
SPARCやAlphaはx86より遥かに安定してるって聞いた時は
はぁ?CPUのアーキテクチャでそんなの変わんねーだろUNIX厨が
とか思っていたが、今は反省している
アーキの違いがそのまま発熱の違いになって、組み込みにARMが多いのもそんな感じで。
変わらなかったら誰も馬鹿高いSPARCなんて買わんわな
164 :
仕様書無しさん:2009/08/05(水) 10:49:54
アセンブラのニーモックに対して疑問。
例えばmovl %esp, %ebp と書くから呪文ぽいんだよ。
32ビット値のムーブ レジスタ1 レジスタ2
と書ければ良いだけ。こういうアセンブラ作れば、小学生でも
機械語をマスター出来るようになる。なので誰か作れ。
簡単なはず。
165 :
仕様書無しさん:2009/08/05(水) 10:54:01
>小学生でも機械語をマスター出来るようになる。
pu
発想がぴゅう太から進化してねぇw
167 :
仕様書無しさん:2009/08/05(水) 11:40:39
>>166 俺の感じ方は逆で、ぴゅう太の時代から求められているのに
みんなめんどくさがってやってないだけだと思う。
そんな前から思ってたんなら自分でやれよとも思う
s/レジスタ1/eax/g
s/レジスタ2/ebx/g
s/レジスタ3/ecx/g
s/レジスタ4/edx/g
s/レジスタ5/esi/g
s/レジスタ6/edi/g
s/レジスタ7/esp/g
s/レジスタ8/ebp/g
s/8ビット値のムーブ/movb/g
s/16ビット値のムーブ/movw/g
s/32ビット値のムーブ/movl/g
あとはまかせた
171 :
仕様書無しさん:2009/08/05(水) 14:41:11
gasのソース落としてきたけど、オペコードを何処で定義してるの?
今Winしか触れない環境だから探すのが面倒。
というのが面倒、そりゃあ具烈婦使えば一発だろうけども、
もっといいツール探せばいくらでもなんぼでもあるし、そもそも
家に帰ればちゃんとツール一通りそろってるし。
というが面倒。
>>164 小学生の頃からZ80でハンドアセンブルしてた身としては、データシートさえ日本語で
書いてあれば、ニモニックは現状のままで何も問題はない。というか、小学生なめんな。
表記と意味の結びつけはわりと問題無くできるんだよ。手に入る資料と違う表記を強要
される方がよっぽど辛いわ。
それにアセンブリ言語自体は小学生にとってちっとも難しくない。糞設計の石だと
使えるレジスタやアドレッシングモードに変な制限があるから、機能を実装しようと
した時に、難しいと感じる事があるだけで。
日本語の何がダメって、入力するシステムを安定させるまでが大変。
それそれ。
Windowsが一番使われている理由もきっとそこが一番まともなOSだからだろう。
Windowsさえなければ、日本語処理はもっと楽になるのに。
176 :
仕様書無しさん:2009/08/06(木) 19:13:14
>>1 日本語も理解出来ない奴は仕事があっても騙されるだけ、日本語も理解できる様にしなきゃ良い鴨だね。
177 :
仕様書無しさん:2009/08/06(木) 19:46:21
それでなくてもいいけど、OpenCLはやっとけ。
癖ありすぎて全然つかいものにならん。
180 :
仕様書無しさん:2009/08/09(日) 14:29:50
アセンブリやる=人間やめる
ジサカーはにんげんじゃないわけか
神の領域w
アセンブリ言語とマシン語の区別付いてない馬鹿が大杉だな。
ちなみに小学生でもマシン語16進直打ちでプログラミング
ぐらい出来る。昔の俺とか…。
>>172さんじゃないが、小学生舐めんな! ってか小学生に劣る
文系大卒大杉だろ。論理的思考力無さ杉。
アセンブリ言語とマシン語の区別付いてない馬鹿が大杉だな
アセンブリ言語とマシン語の区別付いてない馬鹿が大杉だな
アセンブリ言語とマシン語の区別付いてない馬鹿が大杉だな
おいおい
論理的思考だけあってもねぇ、って人もたまに居たりする。
なんだろう、勉強が出来るだけで仕事が出来てないっていうか・・・。
誰もアセンブリ言語とマシン語を混同してるように見えないな確かに
マシン語出来ても日本語出来ないのかもね
Cとかアセンブリとかにいちいち「言語」つけたがる男の人って
188 :
仕様書無しさん:2009/08/11(火) 10:35:40
189 :
仕様書無しさん:2009/08/11(火) 11:27:11
>>187 RPG言語は「言語」を付けないと勘違いされるのである
マシン語はCPUが理解できる言語
アセンブリ言語は人間が理解できる言語
いや、マシン語も人間は理解できるか。
192 :
仕様書無しさん:2009/08/11(火) 11:49:12
組込みだとアセンブラは理解しとかないとデバッグできないんじゃね?
最適化されたCコードのデバッグはデバッガがアセンブラにリバースしたコードでやるし。
PCとかとそんなに変わらんと思うけどな。
まあ地雷が多いので、うっかり踏んでしまって泣きながらデバッグする
確率はPCより高いかも知れん。
>>190 マシン語はCPUが理解できる”唯一の”言語
アセンブリ言語は人間が理解しやすいように改造したマシン語
>マシン語はCPUが理解できる”唯一の”言語
ダウト
>>195 厳しいなw
じゃあ、そのダウトの理由を示してくれ。
197 :
仕様書無しさん:2009/08/12(水) 21:02:44
「理解」する、というのがそもそも厳密に言うと正確ではないかも。
コンピュータを擬人化した言い方なんだろうけどね。
コンピュータが「処理できる」言語(というか符号)
とでもいうべきなのかな。
なんですかのう。この脱力感は…
199 :
仕様書無しさん:2009/08/12(水) 21:11:07
>>196 つ[ ARM ]
バイトコードを直接実行できるぞ
なんですかのう。 この無気力感は…
鬱ですな。お薬出しておきましょう。
ナニをナニしたら、僕も虚脱感が出てきました…ふぅ。
CPUは0か1かしかわからんよ。マシン語自体が高級言語。
つまり、俺達は汎用レジスタだったんだよ!
>>204 まあ、1と0だけど、論理回路と違って、気まぐれで伝達経路が変化するからなぁ…
nVidiaのGPUをGPGPUに使いたい場合、アセンブラは公開されてないよね?
公開されている中では、OpenCLやCUDAが一番ハードウェア寄りということになるかな?
将来的には、PCでパフォーマンスを上げたい場合、
アセンブラの限界がより高水準な言語の限界を下回る、という時代が来るのかもね。
>>207 無理にGPGPUのネイティブコードをアセンブラと呼んでるだけでさ、
実質あれは通信プロトコルだからねぇ。
209 :
ぅへ:2009/09/08(火) 04:19:37
で?
211 :
仕様書無しさん:2009/09/14(月) 23:48:55
他業種ですがいまパソコン使う仕事してます
インストール禁止の職場です
メモ帳にプログラム書き込むのはOKですが
コンパイラをインストールできません
アセンブラって機械語なんで
コンパイラインストールしなくても
メモ帳だけあれば動くんでしょうか?
超簡単な演算処理なんですけど
メモ帳じゃ無理。せめてバイナリエディタにしときなさい。
超簡単な演算処理ならメモ帳で保存したファイルの拡張子をhtmlにして
JavaScriptでも使ったほうが早そう
214 :
仕様書無しさん:2009/09/15(火) 00:12:33
メモ帳ってことはWindowsでしょ
WSH使えば大抵のことはできる
MS Office ぐらい入ってるだろ
VBA で
217 :
215:2009/09/15(火) 00:48:38
VBAか、やるなあ
じゃあ.NET Framework入ってたらcsc.exeでコンパイルできるだろうと
仕事で使うならインストール禁止じゃ仕事んなんねぇって暴れた方が早い気が
そんな馬鹿な職場でよく働いてるなあ
皆さん色々ありがとうございます
これを機会にアセンブラ勉強しておきます
組み込みソフトでmain()が始まる前のこと考えたことある?
変数の初期値は誰が代入しているのかな?
223 :
仕様書無しさん:2009/09/15(火) 20:49:27
アセンブラも慣れれば高級言語やっているのと変わらなくなるな。
なんでも慣れだよ、慣れ。
マシン語になれるやつはいないだろうがw
いたら見世物小屋に売った方がいいw
>>221 main()前こそが、組み込みだと思うけど。。
そんなわけないだろw
30年前ならしょうがないけど、今時そういう「低水準の処理を書ける奴が一番偉い」
みたいな意識は時代錯誤も甚だしいと思うよ。
時代錯誤っていうより、それは普通のプログラマにとっては「厨房時代の恥ずかしい勘違いの思い出の臭いがする」
とでも言った方がいいかなw
低水準の処理をあまり意識しなくともあまり、問題にならないほど
PCのスペックがよくなったからな
時代とはつまりは必要性なんだな
っていうより、今時そんな「自己満オナニー」に呑気に浸ってる暇ないんだよ。
他に山ほどコード書かなきゃならん時代なんだから。
CPUスペックの向上に伴い、処理できることが増えた
↓
求められる処理の質、量が増えた
↓
低水準の言語では、もはや開発が追いつかない
↓
クロック有効利用率を考えるより、開発効率を考える方が
遥かに重要
↓
人間がより楽できるようにプログラム言語が進化している
>>221 >組み込みソフトでmain()が始まる前のこと考えたことある?
お前は Windows や Unix でも、main() が始まる前のことなんざ
考えたことないんだろうな。
>>225 えらいとかえらくないとか、じゃなくて、
main()前が、組み込みって言ってるだけだよ。
main()後は、(組み込み)アプリなだけ。
>>229 そんなの全部あぷりけーしょんじゃねーか。
OS無しでリセットベクタから起動するコード書いてからきやがれ。
微妙に話がかみ合ってないけど、
とりあえず、コード量で自慢してる奴って馬鹿なの?
>>231 某ATMのIPLなら書いたことはあるが、そんなことより
お前が何を興奮しているのか解らないし、
>そんなの全部あぷりけーしょんじゃねーか。
何を言っているのかも解らない。
OSなしでリセットベクタから書けるより
MikuMikuDanceを作れるほうが偉いと思う。
マラソン選手と短距離選手のどっちがすごい、みたいな比較は…
レイヤーが違う、といってるだけで、
えらいとかえらくないとかは、別に無いだろう。
OSなしでリセットベクタから書くのは知識だけでいいけど
MikuMikuDanceは頭がよくないと作れないからな
どっちも作れない人が想像で言ってるだけのように聞こえる。
いやMikuMikuDanceが作れないだけだ
ところで、それなに?
ggrks
やだよ。めんどうだし。早く教えて。
>>235 マラソンと短距離走は依存していない。
リセットベクタから起動しないとなにもアプリは動かない。
よってお前のレスは的はずれ。
りせっとべくたいいたいだきちゃうんかと。
>>243 そういうヲタ系文化は興味ないけど作者は男だねえ。
日本じゃ本当にしょうもないソフトでも金をとるケツの穴の小さい奴が多いのに。
どっちも書けねえよ
しかし、例えば建設工学なら低水準の仕事(例えば道路を舗装する土方作業)より
高水準の仕事(例えば高速のインターチェンジを設計すること)より高度だ、
なんてほざく倒錯野郎はまずいないんだが、プログラミングの世界だと
未だに80年代前半の「マイコン」雑誌の感覚でそういう寝ぼけたことを言う奴がいるから、
困るというか微笑ましいというか……。
っていうか、たぶん年齢が若いと思われる
>>237の方がアホなオッサンより
ずっと本質が分かってるな。
>>249 >低水準の仕事より
>高水準の仕事より高度だ、
ってどっちがどっちで、何が言いたいんだ?
微笑ましいな。
正直、おれは初音ミクとか、全く興味なかったし、MikuMikuDanceも
知らなかったが、作ったやつすげーな。。
こういう優秀なフリーウェアプログラマにすごい憧れる
さすがにこのレベルになると、頭が良くないと無理だな。
なんか、写像使ってポリゴンをくるくる回すJava Appletつくって
よろこんでたおれが馬鹿みてぇだw
フリーで出すのなら、高度なライブラリが使えるからね。
基本ってのは知識でカバー可能だけど応用ってのは
頭の良さが必要で、リセットベクタうんぬんは基本で
MikuMikuDanceは応用だかんな。
MMD作者は今リセットベクタうんぬんを知らなくても
一日、本でもネットでも読めば理解してすぐマスターするでしょう。
でも逆は無理。そういうことだよね。
ローレイヤとwinアプリは比較できないし、
両方とも基本があれば応用があるよ。
そのMMRは、winアプリとしては基本に近いと思うけど。
winアプリなら秀○エディタとかが応用じゃやないか?
255 :
仕様書無しさん:2009/09/27(日) 16:05:57
そんなもんに奇怪語の知識なんてもったいないなw
>>255 馬鹿か
なんで割れの手伝いしなきゃならんのか
この板の住人のほとんどはソフトウェアを作ることで飯を食ってるのに
そこにのこのこやって来て改造手伝えってちょっとゆとり過ぎるだろ
店員呼び止めて万引き手伝ってって言うようなもんだぞ
しかし相手は人間
出すべきモノさえ出してやれば手伝わせることは可能だ
それをせずに手伝わせようとするのは無理だ
つうかな、独学で頑張れないような奴がそういうもんに手を出すなと
>1
こういう事を、自分で判断できない奴ははっきり言って向いてない。
他業種へ転職を勧める。
答えは1つではないと思うがな。
>アセンブラ・・・
たしかに言われてみればそうだな
アセンブリ好きなのに仕事ねーよ
FASMでSSE2のコードを書いた。1単位5秒かかって
いた処理が、推定で 1ms以内 に終わるようになった
学び方:イギリスの職業アセンブラーから直接
いきなり超高速な最適化技術を教えられた。通常の
SSE2プログラミングより、10倍以上高速化する技術
だけど難しくて訳わからなかったので、IA32の資料
を見ながらコーディングw たった2日で完了。
彼の方法に従えば 0.1ms 以内が可能かもしれない
いずれにしても日本語圏でFASMを使うくらい速さに
こだわる人はいないので、ヨーロッパの職業アセンブラー
に友人を作って、教えてもらうのが早道です。
アセンブラより英語のコミュニケーション力を鍛えろw
逆にアメリカ人に教わって
もっさりになったりする可能性
5秒が1msってロジック自体の問題だろ
単にお前が思考停止になってただけなのを
たまたま欧米人に指摘されたってだけだろ
敢えてヨーロッパつってんのに「欧米」で纏めちゃうのかよ
欧米か!
>>257 >馬鹿か
>なんで割れの手伝いしなきゃならんのか
お前がバカか
UMD起動は遅いしかさ張るからISO起動させようとしてんだよ
CFW=割れとか知識が無い猿丸出しも大概にしろ
>>270 大部分が落としてきた磯を起動させてるんだからその意見はおかしい
273 :
仕様書無しさん:2009/12/19(土) 08:35:29
もはや使用環境が無くなってるのに
近代科学社
アセンブラプログラミング詳説
IBMシステム/360,370(上巻)(下巻)
に今、凝ってしまっている。
パソコンに360アセンブラのエミュレーターかシミュレーターがないもんかなー
Hercules ってエミュレータがあるらしい
275 :
仕様書無しさん:2009/12/19(土) 18:37:32
276 :
仕様書無しさん:2009/12/19(土) 18:43:14
高速処理のためにはアセンブラが必須だろうがwww
278 :
仕様書無しさん:2009/12/20(日) 13:46:12
おガキ様です。
279 :
uy:2009/12/22(火) 00:26:00
アセンブラほど覚える概念少ない言語ないよ
四の五の言わずさっさと覚えりゃいいのにって思う
ああほら、君がこのレスに対し考えてる時間だよ
くだらんレスを考えてないでその時間に覚えりゃいいんだよ
全ての命令が2~3文字だぞ、それを20~30覚えればもうだいたいは読めるだろ
280 :
uy:2009/12/22(火) 00:27:48
ああ、2~3文字の命令を、たったの20個暗記することも出来ないのか、 クズか
そりゃ悪かったな
そんな頭に生まれていたとは知らず、つらいことをいってしまったな
おバカさまがいらっしゃいました
282 :
uy:2009/12/22(火) 05:09:27
2~3文字の命令を、たったの20個暗記することも出来ないおバカさまがいらっしゃいました
レッテル貼り+鸚鵡返し
これをおバカ様と言わずに何と言えば?
覚える必要はないんだけどな。そういったものはマニュアルという外部記憶にまかせておけばいい。
重要なのはCPUの特性にあったアルゴリズムにデータ構造の設計と配置。
必要な時にL1かL2に入れればいいものであって、ROM化しておく必要はない知識。
アセンブラ言語やマシン語って基礎的な部分で言えば知識じゃなくて根気だよね
計算できる奴なら誰でも解るけどいざ実装するとなると異常に面倒
ただそれだけのこと
CPU依存命令とか使い出したら話は別だけど
まぁ「腕力」もプログラマの素養としてある程度は必要ではあるので
言語仕様を覚えれば使えるようになったと錯覚する奴の多いこと多いこと
おっそい石で115200のシリアル通信とかFPGAのJTAG焼きとか、
嫌でもアセンブラで書かざるを得ない。
bpsな
単位を省く奴は信用できないし、多分仕事も無いだろ
115200回かもしれんぞ
115200という名の機械と通信するのかもしれん
「木を見て森を見ず」
まあ齧る程度だけでもやっといた方が何かと役に立つよ。
295 :
仕様書無しさん:2009/12/29(火) 22:57:05
>>1 あたりまえだろ
どんなときでもベーシックな知識は役に立つもんだ。
は?何言ってるの?
DDK使いか組み込みでもなければイランだろ。
組み込みでもまともなOS使えれば全部Cで書けるからなあ。
読めたほうが色々便利だと思うけど。
よく読め
Cだけ理解していればいいのか?
だぞ
いいわけないだろ
>>1 時代遅れな程に非常に基本的な事でも
完璧に理解していると言うのは大きな強みになるのではないかと。
ただ、C言語だけでいいかとか、アセンブリ言語をちょっと齧れば大丈夫かとか、
そういう馬鹿げた事考えているようなら先は見えてるかと。
とりあえず
C言語でポインタと再起、アセンブリ言語でレジスタとスタックをそれぞれマスターして
さらに余裕があればBasic系(Basic系、PASCAL、Fortran連中)とLisp系のプログラムを
マニュアル見つつ読み書きできるようになれば
とりあえずパッケージ系のプログラマとしては多分一生大丈夫だと思うぞ。
組み込み系ならx86以外の石も触っておいたほうがいいかと思う。
301 :
uy ◆e6.oHu1j.o :2009/12/31(木) 16:22:52
匿名掲示板で自己主張しないで下さい
303 :
仕様書無しさん:2009/12/31(木) 17:13:04
誰か知らんがクソ板のコテは本物も偽物もゴミ
誰も興味ない
自己主張の激しい糞コテはいつ見ても哀れだな。
偽物が云々言うアホコテに限ってトリを常に付けない矛盾
本物がアホだから偽物が本物を装うのも楽になるという寸法ですな
とは言っても真性のアホを装うのは並のアホには難しいらしいですけどね
308 :
uy:2010/01/01(金) 01:35:10
汚水でも飲んでろ
おお、本物っぽいバカさ。
310 :
仕様書無しさん:2010/01/01(金) 20:19:51
>>299 アセンブラを理解しておいたほうがCでもいいはずだべ
いざ処理がおかしい時アセンブルリストでアセンブラのバグを追える
いやそういう意味じゃなくてCだけでいいわけないだろって話だろ
Cが出来ればJavaやPHPやPerlなんていつでも出来るみたいに吹聴する奴いるけど
単にifやforの文法がほぼ同じなだけで各言語全然違うわけだし
Cだけ知っていればOKなんて話はおかしいってことだよ
だいたいCをしっかり出来る奴なんて5%くらいしか居ないんじゃないか?
5%も居ると思ってるの?
アセンブラができないやつは馬鹿
Cがしっかり出来なくても仕事で使う言語が出来ればいい
Cができないからと言って貶される理由もないし
Cが出来るからと言って他の言語も自動的に出来る訳じゃない
概してCプログラマが他の言語に手を出すと
CならできるのにとかCのやり方と違うと言い出して嫌われるというオチがある
316 :
仕様書無しさん:2010/01/02(土) 08:55:35
俺はDelphi使いだが何か?
ハードウェア理解度との相関って指標として
一般的な高級言語 ≦ C < アセンブラ
ってのはあるとおもう。
ハードウェアを理解したからどうなんだって言われればそれまでだけどなー。
>>315 それ全部Cに限った話じゃないと思うが…
> c言語だけ、理解していれば、プログラマーとして、大丈夫なのでしょうか?
ってスレなんだからC言語だけじゃないよって話になってるんだろうに
>ハードウェアを理解したからどうなんだって言われればそれまでだけどなー。
ド・モルガンだの、真理値表からの論理圧縮だのは
プログラミングに活かせるな、と強弁。
320 :
仕様書無しさん:2010/01/15(金) 13:29:38
時代遅れのプログラマーになりたい~♪
ヘンリー・S・ウォーレン、ジュニアの「ハッカーの楽しみ」でも嫁。
面白くってしょうがないから。
でも、面白いと思える変人はごく少数だと思う・・・
新人にアセンブラでOSのデバッグを
やらせたら鬱になって辞めました。
使えねー
>>322 そんなことを新人にやらせる奴はもっと使えないと思う。
最初から難しいこと押しつけておまえは使えないやつだって偉そうに言うやついるよな
鬱になるまで頑張る新人か。
使える奴がちゃんと指導していたら、さぞ優秀に育ったろうにな。
鬱になった振りして辞めて、別の会社で幸せにやってんだろ。
鬱ぐらいチャッチャと直せ。
鬱は甘え、ということですね。
どうやったら治るのかおしえてください
原因を殺す。
関東沿線の電車はやめて下さいね。迷惑だから。
333 :
仕様書無しさん:2010/01/20(水) 20:43:17
そういやー、ピンクフロイド「鬱」にのめり込んだこともあったけなー
自分じゃ手に負えないから新人に任せ、できなきゃ新人のせいにする。だめな上司(先輩)の典型だな
/人? ?? ?人\
必要な時にCPUのマニュアルとエラッタ表をさらっと読めばすむので覚える必要はないよね
速読でも習得した方がまし
337 :
仕様書無しさん:2011/08/31(水) 07:02:02.43
338 :
仕様書無しさん:2011/08/31(水) 20:11:51.81
>>337 すげえ!!!
欲しいっす。環境ないけど欲しいっす
売る気はありませんか?
エミュあるだろ
340 :
337:2011/09/01(木) 19:26:46.83
もう一組入手できたら考えよう
覚えなくてもいいけど、覚えておくと見える世界が驚くほど広がる。
ハードウェアやOSが変わっても、コンピュータの基礎とはそれほど
変わらぬもの。
目の前にある問題に対する推論や解決の幅が変わる。
ただ、「必ず必要」なものでもない。
俺自身は経験して心底良かったと思ってる。
仮想記憶やメモリ管理など、おぼろげな知識はあったものの、
実感できるのはメモリダンプを見るのが楽しくなってから。
機会と時間があればやってみるといい。
343 :
仕様書無しさん:2012/10/05(金) 19:49:37.30
9月末で定年退職。
40年間俺に付いたあだ名が「マシン語ーZ」。
344 :
仕様書無しさん:2012/10/05(金) 19:59:13.33
他の人のプログラムのデバッグにいちいちアセンブルリストを出すのでそう言われるようになった。
が、CISC機の頃はそれができたけどRISC機ではそれはさすがに無理w
無能乙
346 :
仕様書無しさん:2012/11/02(金) 02:47:11.45
EFIだとアセンブリて何か変わる?
>>343 先生、Z80の需要はまだありますかちーす
Z80わかりやすいから好きだ
8086以降のアセンブラ、ハンドアセンブルめんどくせーから嫌いだ!
覚えなくて良いけど、知っとくと良い。
352 :
仕様書無しさん:2014/08/16(土) 07:29:00.81
アセンブラ言語やマシン語は覚えておくべきですか?
353 :
仕様書無しさん:2014/08/18(月) 19:06:15.41
ハード寄りの仕事なんかやるもんじゃねぇ
知ってても知らぬフリが賢明だ。
2chでアセンブラできるって言ってる連中の9割は20年くらい前の知識だろ。
最近のアセンブラの性能を引き出すようなコード書けない。
「最近の~」と一口に言っても、組み込み用のちっこい8ビットマイコンの最近の製品とか、x86アーキテクチャに
最近になって追加された命令だとか、色々だけどな。
>最近のアセンブラの性能を引き出すようなコード書けない。
「最近のアセンブラ」の意味もわからんで言ってる様で微笑ましいなw
ああ「最近のアセンブラ」じゃおかしいな。
CPUだわ。
まあこういうの揚げ足取って煽ってくるやつは、図星なんだろうな。
>2chでアセンブラできるって言ってる連中の9割は20年くらい前の知識だろ。
>最近のアセンブラの性能を引き出すようなコード書けない。
>まあこういうの揚げ足取って煽ってくるやつは、図星なんだろうな。
根拠もないことを平気で書きっぱなしにできるおめでたい頭の方ですねw
>>357 「2chでアセンブラできるって言ってる連中の9割は20年くらい前の知識だろ。
最近のCPUの性能を引き出すようなコード書けない。」
↑に訂正するとして、
「最近のCPU」と一口に言っても色々あることが理解できてない様で微笑ましいなw
まあ
>>354を見て、できる1割のほう人は「そうそう。ここでアセンブラできるって言ってる連中って8ビットとかそういうのだろ」って
べつにムカついたりしないよな。
ムカついて、どうでもいい揚げ足取りとかで煽ってるのはできない9割のほう。
>>358 たしかに根拠ないね。最新のCPUの性能を引き出すようなコードを書けてる人は1割より少ないと思う。
だけど、できないほうが95%でも99%でも別にいいじゃん。
そんな必死にツッコムところ?
俺の推定が間違っていても、ほとんどはヘボコードしか書けないってことには違いないし。
「俺が間違ってました。ここの人たちがすごいレベルの高い人たちばっかりでした」ってことにはならないから。
>>354 >最近のアセンブラの性能を引き出すようなコード書けない。
アセンブリ言語を読み書きできるようになって得られるメリットってそれだけじゃないし
指摘としては浅はか過ぎるな。
結論:
2chでアセンブラできるって言ってる連中の9割以上は、20年前の知識で最近のCPUを使いこなせるわけじゃない。
>>360 >まあ
>>354を見て、できる1割のほう人は「そうそう。ここでアセンブラできるって言ってる連中って8ビットとかそういうのだろ」って
>べつにムカついたりしないよな。
>>354が「20年くらい前の知識」って言ってんのに「8ビットとかそういうのだろ」って頭おかしいな。
まあz80互換のCPUでも、最近のCPUだよね。
>>363 20年前の486とかの知識しかなくても、命令表見ながらいまどきのCPU用のコンパイラ出力を追っかける
くらいは支障ない筈。
>>365 eZ80AcclaimPlus! 辺りはもう最近のCPUという感じはしないけどどの辺りの製品のこと言ってんの?
このスレのスレタイ『アセンブラ言語やマシン語は覚えておくべきですか?』に対して、
「最近のCPUの性能を引き出す」こと「だけ」がアセンブラ言語やマシン語を覚える目的と
思ってる
>>354が、
> 2chでアセンブラできるって言ってる連中の9割は20年くらい前の知識だろ。
> 最近のアセンブラの性能を引き出すようなコード書けない。
というトンチンカンな主張をしてる構図ね。
うむ
さすがに今どきガッツリアセンブラで書くことはないけど、
最適化で挙動がおかしい時とかの調査はアセンブラモードでやるしかなかったりするな。
スタートアップやフレームワークのちょっとした依存部分をアセンブラで書いたりするのも、たまには楽しい。
覚えておくべきかというと、別に覚えてなくても誰かがやってくれるだろうけど、
自分の担当部分に関係するような場合は嫌な汗かくかも。
371 :
仕様書無しさん:2014/08/19(火) 21:03:45.53
86系のアセンブラには馴染めたけど
情報処理資格試験のCOMPXのアセンブラには未だ馴染めないwww
CAP-Xなんてもう30年近く前に終わったろう
> 勤務地の選択 > 関西地方 - 中国地方
w
仕事としてアセンブリ言語で組むかという話と、スキルとして把握しておく必要があるかってのは違う話なんだよなあ。
その辺わかってない奴が
>>354みたいなトンチンカンなこと言い出すんだよ。
ちょっとパワーのあるCPUならC言語で組むだろうし、Z80は今でも色々使えるだろ
また馬鹿が現れたw
お前のことか?
> ちょっとパワーのあるCPUならC言語で組むだろうし、Z80は今でも色々使えるだろ
コイツ↑本物の馬鹿だなw
オワコンスレ
383 :
仕様書無しさん:2014/08/30(土) 23:08:43.61
このスレの存在自体が迷惑
アセンブラすら使えない人にはそうなのか
385 :
仕様書無しさん:2014/08/31(日) 03:24:23.73
>>384 お前はやっとの事でアセンブラを使ったな?顔の見えない掲示板では相手を見下す為にレッテルを貼る。
もしかしたら使えないのかもしれないがww
残念だが俺は言語の違いでどうこうするほど初心者じゃない。
>>385 まあ、顔の見えない掲示板では何とでも言えますねw
387 :
仕様書無しさん:2014/08/31(日) 04:51:00.29
ハード寄りのソフト組むなら必須だな。
色んな機器に共通的に使えるようにソフト作るのが
常識の時代だが、やっぱ個々の機器事に細かい合わせ込みを
出来るかどうかで、他から抜きんでる存在になれるかが
決まるからな。
ビッグデータ解析、ウェブサイト開発、事務屋コボラーなどは
そのぶん先端技術の勉強したほうが良いな。
将棋ソフトが宇宙最強のプロ棋士をボコりまくり
自動車の運転が自動化されるという
かつて無いほどソフトが高度化複雑化している時代に
下水の配管工みたいな泥臭い仕事やってる奴に未来はないな
他より強い将棋ソフトを作るのでも、安全を確保しなければならない自動車の制御でも、
コンパイラが吐くコードぐらいはプログラマは把握できてなきゃどうにもならないんじゃないの。
コンパイラの出力を評価して効率のいいコードを吐かせるためのソースの記述を把握するとか、プログラムの
想定外の動作の原因を探るためにコンパイラの出力を確認したりデバッガでアセンブリレベルでのトレースを
行ったりってのは基本レベルのスキルだろう。
>>388 何もすべてをアセンブラで記述する必要はありません。そんなことは誰もがわかっていることです。
388はそういったアプリの下にコンパイラとかOSとかいうものが存在するという
あたりまえのことすら認識できないほどのウスラボケなのだろう。
393 :
仕様書無しさん:2014/08/31(日) 23:58:09.98
CPUに出来ることなんか限られてるからある意味では一番簡単な言語だ。
その機能もそうそう大きく変わるものじゃないからCPUが変わったからといって決定的には違わない。
アセンブラに苦労するとなると、最適化のトラブルはもちろん、パフォーマンスやリソース問題に
全く手がつけられないという事だ。
覚えなくてもどんなものかは知っておいたらいいだろうね
本一冊おいておくとか
うちにはトランジスタ技術スペシャルの本がいっぱいあるのでときどき見ているね
各々「基礎知識として~は抑えておくべき」と好き勝手言い始めると
あまりにも項目が増えすぎて収集つかなくなる
今どきアセンブラが基礎知識とかねーわ
話を「最初に覚えるべき言語TOP5」に限定したとしても絶対に入らない
低水準言語としてはぎりぎりでCが入るかどうかだろ
CやC++にしても、どういうコードに落ちるかまでを理解してなければ分かってるとは言えない。
398 :
仕様書無しさん:2014/09/01(月) 08:28:26.42
↑コピペのマルチレスで運営に通報されてるぞwwwww
400 :
仕様書無しさん:2014/09/01(月) 12:24:16.90
>>397 Cはまだしも、c++はアセンブラレベルじゃジャンプテーブルとデータテーブルが混在してて流れを追うのも大変だぞ。
> c++はアセンブラレベルじゃジャンプテーブルとデータテーブルが混在
分かってない奴はこゆこと言いそうw
じゃあてめぇがvtblを説明してみろよ
>>402 煽って教えてもらおうとするなんて、幼稚園児ですか?
405 :
仕様書無しさん:2014/09/01(月) 15:48:40.11
>>400 > c++はアセンブラレベルじゃジャンプテーブルとデータテーブルが混在してて
アセンブリソース出力する分には混在なんかせんだろ。
407 :
仕様書無しさん:2014/09/01(月) 15:51:38.75
コンパイラ次第。
409 :
仕様書無しさん:2014/09/01(月) 15:58:59.94
vtblとデータテーブル(て何?)が混在される具体例待ち
410 :
仕様書無しさん:2014/09/01(月) 16:00:16.68
三年間くらい前にやったARMのコンパイラ。
メーカー名は忘れた。
混在と言うか、境界が分かりづらかった。
412 :
仕様書無しさん:2014/09/01(月) 16:25:23.32
関数型変数使えばコンパイラ頼らず混在できるよ。
>>410 ARMのコンパイラってKEILとIARとGreen HillsとMSとGNU以外になんかあったっけ?
混在厨必死すぎw
>>410 コンパイラに出力させたアセンブリソースでvtblとデータテーブルの「境界が分かりづらい」ってどういうこと?
COBOLは天地を創造できる
418 :
仕様書無しさん:2014/09/01(月) 22:18:12.28
1インスタンスにテーブルのポインタ1つあれば充分なのでは?
10011001・・・うぁじゃまくさw
ああああああああああああああああああああああああああ
久しぶりにものすごく68000のアセンブラが書きたい!
書きたいぃぃぃぃぃいいいいいいいいいいいいいいいいいいいいいい
Z80でもx86でもARMでもなくて68000が良い!!!!
でもエミュはヤダ
ベクターから書きたいんだよぅぅううううううううううう
書いていいぞ。
423 :
仕様書無しさん:2014/09/06(土) 12:16:29.31
6809なら今でも結構覚えてるな。
424 :
仕様書無しさん:2014/09/06(土) 15:51:07.63
6502の事も時々思い出してやって下さいね。
425 :
仕様書無しさん:2014/09/06(土) 16:31:19.27
コモドール64を入手できずに、替りにFM-7買ったんだった。
コモドール買っていれば6502(6510)の方を習得していたかもなぁ。
8bitCPUなんて単純なもんだし「習得」なんて言うほど大げさなものではない。
427 :
仕様書無しさん:2014/09/06(土) 19:40:04.23
細かい所に突っ込むなぁw
まぁ、たしかにね。ルールは至ってシンプルだし。
皆さんこんばんわ。天才エンジニアの福士春男です。
青森出身、金沢工業大学卒業です。
私は童貞です。
自己愛が強すぎて女と付き合える性格じゃありません。
そこで私は女子高生やおばさんでも使える3Dモデリングアプリを開発することにしたのです。
勿論、3Dプリンタがマスコミで流行る前から開発してます。
429 :
仕様書無しさん:2014/09/06(土) 22:31:12.02
あげあげ。
430 :
仕様書無しさん:2014/09/25(木) 08:43:13.10
431 :
仕様書無しさん:2014/09/26(金) 20:34:59.56
EAがJumpでNOPが80Hだっけ?w
432 :
仕様書無しさん:2014/09/27(土) 17:48:30.28
アセンブラは8bitとか64bitとか、ピット幅で難易度あがったりしないから。
パイブラインとかマルチコアとか言うのは時代の変遷で追加されてる技術で、ビット幅とは無関係。
ピット幅か
>>432 >アセンブラは8bitとか64bitとか、ピット幅で難易度あがったりしないから。
傾向として、規模がでかいと構造や命令が複雑になるので、一般的に言って8bitプロセッサより
64bitプロセッサのほうが難易度は高い。
ビット幅とは関係ないが、パイプラインやマルチコアで難易度は変わるだろ。
あとZ80とか単純ではあるけどそれなりに変則的な命令が多い。64ビットだとPOWERが代表だと思うけど、
逆に命令体系はすっきりしているから、Z80とかより逆に簡単だと思う。
x86-64なんかはむちゃくちゃに複雑だがw
遅延ロードや遅延分岐、ストールなんかを意識しなくてはいけないアーキテクチャでない限りは
パイプラインは難易度には影響しない
>>435 Z80は8080の命令だけでおおよその処理は書けるので全部を理解しようとしなければ簡単
>>435 > 64ビットだとPOWERが代表だと思うけど、
途中で64ビット化されたアーキテクチャが代表なわけがない。
439 :
仕様書無しさん:2014/09/30(火) 13:10:42.25
だからビット幅は難易度に無関係だと言ったろ。
関係あるのはアーキテクトだと。
http://ejje.weblio.jp/content/architect > architect
> 音節ar・chi・tect 発音記号/άɚkətèkt|άː‐/音声を聞く
> 【名詞】【可算名詞】
> 1建築家,建築技師.
> 2設計者,企画者,創造者 〔of〕.
> 用例
> the architect of one's own fortunes [of U.S. foreign policy] 自己の運命の開拓者[米国外交政策の立案者].
> 可算名詞としての「architect」のイディオムやフレーズ
> the (Great) Architect
> [ギリシャ語「棟梁(とうりよう), 親方」の意]
441 :
仕様書無しさん:2014/09/30(火) 14:41:41.65
いちいち上げ足とるだけの無能か。
無知を晒してごめんなさい勉強になりましたありがとうございますと言えないところが残念なところ
>>439 >関係あるのはアーキテクトだと。
設計者って言いたいの?
ありゃ既出か。
445 :
仕様書無しさん:2014/09/30(火) 14:51:56.29
いちいち誤記を晒して会議時間を無駄に消費させる系の奴らか。
erをつけたら、○○をする人という意味になる。
例 teach (教える) → teacher (教える人)
アーキテクト(設計) → アーキテクチャー(設計する人)
>>446 アーキテクトで設計者って意味だからなあ。ピアノ弾く人=ピアニストに er 付けないよね。
449 :
仕様書無しさん:2014/09/30(火) 15:01:55.12
RISC系は命令数少ないから覚えるのは簡単。
ロジックも少なく済むからbit幅広げやすい。
CISC系は複雑怪奇な命令が多く覚えるだけでも大変。
ロジックも大規模になるためbit幅広げるのが容易ではない。
450 :
仕様書無しさん:2014/09/30(火) 15:03:59.99
だからさ、そんな本筋と関係無い話はどうでもいいんだよ。
bit幅と難易度は無関係だと認めろよ。
>>449 >RISC系は命令数少ないから覚えるのは簡単。
ARMv7とかけっこう命令数多いと思うぞ。
ピアノでもピアニストでもどっちでもいいだろ。
関係有るのはピアノといおうが
関係有るのはピアニストと硫黄が
いみはつうじるどr.あ
>>449 最近は CISC にもパイプラインとか実装されていて、RISC はただ使いにくいだけのアーキテクチャになりつつある。
そもそも RISC も命令が増えてきて命令長が可変だったりと、何をもって RISC やらわからなくなってきてる。
>>453 >最近は CISC にもパイプラインとか実装されていて、
30何年前の6502にも実装されてるよ
命令を単純化して並列実行させようってことだったのでは
RISC
>>453 >最近は CISC にもパイプラインとか実装されていて、
30何年前の8086/88にも実装されてるよ
IBMの7030にありましたが何か?
パイプラインが深すぎて、自己書き換えができなくなったと
一部の人、騒いでました
パイプラインが深すぎたところで自己書き換えができなくなる、ということはない。
そりゃ検出してパージしてるから。
Pentium以降では大丈夫だけど、486だとダメだよ。
486でも自己書き換えした後でパイプラインの内容捨てればいいだけ。
>>458 そうやってなんでもRISC/CISCのどちらかに決めつけるのは間違いだってパターソンさんが言ってるから
パターソンは素人
RISC教徒信者かつヘネシー原理主義者なんて奴が存在するとは思わんかったw
>>463 RISC/CISCのどちらかに決めつけるのが間違いなら、「最近は CISC にも~」に対して
> IBMの7030にありましたが何か?
なんてレスするのがおかしい。