トップページ⇒tech
226コメント63KB

アセンブリ言語

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさんNGNG
アセンブリ言語を学びたいのですが、効率良く学ぶ方法は、
ないでしょうか?
お勧めの書籍等があったら教えてください。
0002名無しさんi486NGNG
俺も探してるけど店にはでっかいところでも少ない。
大学なんかの図書館には結構ある。
ちなみに工業系のうちの学校はかなりの宝庫。
0003名無しさん@お腹いっぱい。NGNG
CPUは何?
0004名無しさん@お腹いっぱい。NGNG
>2
初めて読む486 人気でまだ貸し出し中だね。
00054NGNG
あ、嘘です。ありました。
0006名無しさん@お腹いっぱい。NGNG
目的を持つことが一番の早道だね。
例えばxxxのデバイスドライバを作りたいとか。
で、1は何か目的あるの?
0007名無しさん@お腹いっぱい。NGNG
俺はMASMを買った時に着いてきたリファレンスマニュアルを
見ながら覚えたよ。あれって結構使えるんだよね。
もうかれこれ7,8年前の話だから今じゃ手に入らないだろうけど。
# 意外と細々と今でもマニュアルだけ売ってたりして・・・
0008名無しさん@お腹いっぱい。NGNG
i80x86系なら、www.intel.comからマニュアルのPDFをゲット!
それで十分だと思うが。
0009名無しさん@お腹いっぱい。NGNG
>i80x86系
また知ったか厨房が無茶苦茶な用語を作ってるし・・・
0010名無しさん@お腹いっぱい。NGNG
最初のiが余分だな。
0011名無しさん@お腹いっぱい。NGNG
その次の80も余計だ。
0012名無しさん@お腹いっぱい。NGNG
内容ではなく、単なる表記ミス程度に鬼の首とったみたいに
揚げ足とりする餓鬼が、プログラマ関係って多いよな。
故意でないミスを認めない狭量な奴って会社には向いて
ないと思うよ。
0013名無しさん@お腹いっぱい。NGNG
x or 系 も余計。
x86 か 86系で十分通じる。
0014名無しさん@お腹いっぱい。NGNG
>>12
あれは表記ミスではありません
CPUの固有名称と系列を理解していないから
あのような間違いを平気でやってしまうんです
おそらく>>8はいつから略称にiが付き始めたのかも知らないのでしょう
001512NGNG
>14
表記ミスといったのは俺の不勉強(スマソ)だが、そういう風に
自分の守備範囲に入った瞬間に、発言者の意図の中心から外れた
話題にとってそれほど重要じゃない重箱の隅で”鬼の首とった
発言”で急に饒舌になるのは、見てて”痛い”よ。

2chでちょっとした憂さ晴らしなら良いけど、現実社会で同じこと
やってない?もしそうだったら、”まともなコミュニケーション
ができる”というスキル先に勉強した方がいいと思うが。
0016名無しさん@お腹いっぱい。NGNG
>>15
コミュニケーションがとりたいなら、仲良し初心者掲示板へ逝け
0017名無しさん@お腹いっぱい。NGNG
つまらん表記ミスを連発する奴は、つまらんバグを出す。定説です。
0018名無しさん@お腹いっぱい。NGNG
>>17
そのとおり
0019名無しさん@お腹いっぱい。NGNG
まともなコミュニケーション云々言いたいんだったら、
全員がsageてることで雰囲気察すれや>>15
0020ちゅうぼーNGNG
>>14
おら、ちゅうぼうだが、
>CPUの固有名称と系列を理解していないからあのような間違いを平気でやってしまうんです
アセンブラを勉強する前に、プロセッサの歴史と名前を全部覚えないとおはなしできねーの?
そら、たいへんやなぁ。
低学歴でアホなぼくちゃんでも、わかるように、おせーてけれ。
いまつかいたいのはTMS320C6xっつーシリーズらしいんだけど。
その系列とやらってどういうふうにするといいの?86系なんていわれてもわかんないよぉ。
高学歴で、なんでもスマートにこなすすごい人なんだろうねえ。うらまやしいだす。
0021名無しさん@お腹いっぱい。NGNG
>アセンブラを勉強する前に、プロセッサの歴史と名前を全部覚えないとおはなしできねーの?
>そら、たいへんやなぁ。

そんな風に曲解するなんてホント厨房だな。まあ自覚があるだけ一寸はマシな厨房だが。
0022名無しさん@お腹いっぱい。NGNG
15 はひとつだけ正しいことを言ってる。それは、まともなコミュ
ニケーションをとるスキルは重要だということだ。まともなコミュ
ニケーションを取るには相手との意志の疎通が正しく行われなけれ
ばならない。つまり、自分だけに通じる用語を発明するようでは話
にならんということだ。>>20
0023ちゅーぼーNGNG
>>22
むずかしーよねー。
マイクロプロセッサのことをCPUなんて言ったりしたら、馬鹿にされまくることもあるもんね。
86系じゃつーじないばあいもあるし。86系で十分な場合もあるし。
0024名無しさん@お腹いっぱい。NGNG
iがついたのは432から(とかいってみる)
0025名無しさん@お腹いっぱい。NGNG
iは386の途中から
他社が互換チップに似たような名前を付けるのでIntelが商標登録しようとしたら
数字だけはダメだと言われたので、しかたなく頭にiを付けた
Intelのサイトで、正式名称を見ると歴史が良く分かる
その後さらに商標問題が絡んできたので、数字表記をやめてPentiumになった
0026名無しさんNGNG
i4004→i4040→i8080→(Z80)→i8088→i8086→(V30)→i80186→i80286→i80386→i80486→Pentium ...

M6800→M6809→M68000→M68020→M68030→(消沈)

6500→6502→65816→(不明)

補足、添削希望!
0027名無しさん@お腹いっぱい。NGNG
86の
int3ってなんですか?
なんでこれは一つの命令になってるのですか?
0028名無しさん@お腹いっぱい。NGNG
ブレークポイントに使うので、発見しやすい+元の命令を退避しやすいように1バイト長なのだと思います
0029名無しさん@お腹いっぱい。NGNG
>>26
(略)→M68060→(略)→ColdFire→(略)→ColdFireV4
勝手に氏なすなよ
0030名無しさんNGNG
改訂版メジャーCPU(MPU)史

i4004→i4040→i8080→(Z80)→i8088→i8086→(V30)→i80186→i80286→i80386→i80486→Pentium ...

M6800→M6809→M68000→M68020→M68030→M68060→(略)→ColdFire→(略)→ColdFireV4

6500→6502→65816→(不明)

補足、添削希望!

0031名無しさん@お腹いっぱい。NGNG
だから386より前はiがつかないって
http://www.intel.co.jp/jp/home/cpc/museum/Hof/tspecs.htm
0032名無しさん@お腹いっぱい。NGNG
つかZ80はザイログ社だろ
PowerPCについて言及しないところもマイナスだね
0033名無しさん@お腹いっぱい。NGNG
8080の後に8085もいれてね。

ところで、インテル純正品を指す場合、便宜的にiをつけて互換品を含めた総称
と区別することはあった気がする、8086くらいのときに。
それと、486はi486ってよばなかったっけ?
0034名無しさんi486NGNG
ChipList なんていかが?
http://einstein.et.tudelft.nl/~offerman/chiplist.html

0035名無しさんNGNG
>>34
6502や、65186が無いね
0036名無しさん@お腹いっぱい。NGNG
68040ってなかったっけ?
あとV30シリーズもどうなったんかな?
V30,V40,V50,V60,V70,V33
(かなりうそくさい)
0037名無しさん@お腹いっぱい。NGNG
MIPSやSPARCも語れや。
0038名無しさん@お腹いっぱい。NGNG
armもな
0039名無しさん@お腹いっぱい。NGNG
AMD29000はMacIIciでおせわになったなぁ。
Z800、Z8000もよろしくね。
0040名無しさん@お腹いっぱい。NGNG
68008と68010も欠けてるな。
68008は8ビットデータバス版で、68010はMMU内蔵だったと思う。
違ってたらすまん。
それとMじゃなくてMCなんじゃないの?
FPU内蔵してない、68LC040ってのもあるよ。

PowerPCは601,603,603e,604,604e,750(G3),7400(G4)でいいかな?

x86互換機能つきの615や、601が出た頃に上位CPUとして名前だけ出てた620は
どうなったんだー。あとエクスポシャンネルとかいう会社が出してた、
速いけど熱を出しまくるやつは何て言ったっけ?

NECのVシリーズで、x86互換なんはV30,V30HL,V33だけだったかと。
0041名無しさん@お腹いっぱい。NGNG
MC6809とMC68000はシリーズが違うだろう。ColdFireも違うぞ。
修正ついでにDragonBallも調べてまとめといてくれや。
0042名無しさん@お腹いっぱい。NGNG
>>40
x86互換なのはV20からV55+辺りまで
0043名無しさん@お腹いっぱい。NGNG
Z800やZ8000なんて型番のチップないけどね。勘違い?>>39
0044名無しさん@お腹いっぱい。NGNG
Alphaについてまとめてくれ
0045名無しさん@お腹いっぱい。NGNG
6500はファミリ名で、チップの名前じゃないよ。大体6502と65816も別の会社の製品だし。
あと、65802も忘れないでね。
0046名無しさん@お腹いっぱい。NGNG
NS32シリーズもな。
0047名無しさん@お腹いっぱい。NGNG
>43
Z8000ってなかったっけ?正式名称は違うのかな?
Z820なんてのも覚えがあるんだが‥ちょっと記憶があやしい‥
0048名無しさん@お腹いっぱい。NGNG
>>47
Z8000はファミリ名。チップはZ8001とZ8002のふたつがあった。
Z800は発表時の名前でそれから数年後の販売時にはZ280の名前
に変った。
あとZ80000シリーズってのもあったらしいがよく知らん。
0049名無しさん@お腹いっぱい。NGNG
>47
NECでV820ってのがあったけど。
0050しろーとNGNG
いったい、どれが正解?<CPU(MPU)史への添削
0051ネコ麦茶NGNG
>49
それはRISC系列では?
ちなみにV810がPC-FXで使ってたような。
0052名無しさん@お腹いっぱい。NGNG
Hシリーズもお願い
0053名無しさん@お腹いっぱい。NGNG
SHマイコンなんかはどうだい?
0054名無しさん@お腹いっぱい。NGNG
>>53 いま、SH4の割り込みと戦い中。
0055゜Д゜メNGNG
NASMって何すか?
0056名無しさん@お腹いっぱい。NGNG
>55
アセンブラの一種じゃないの?
LASMなんてのもあるね
0057名無しさん@お腹すいたNGNG
いゃ〜、激しく脱線していますなぁ。
私もアセンブラの勉強したいので、どなたか教えて下さいまし。
0058名無しさん@お腹いっぱい。NGNG
プロセッサのマニュアルを読めや
0059名無しさん@お腹いっぱい。NGNG
組込み用PowerPCの800番シリーズは?
0060名無しさん@お腹いっぱい。NGNG
プログラムをデバッガでハックするよろし。
パチンコ台のROMなんかハックしがいあるかも。(藁
0061名無しさん@お腹いっぱい。NGNG
昔の石の話なら、
ttp://www.st.rim.or.jp/~nkomatsu/ICcollection.html
なんかどう?
0062名無しさん@お腹いっぱい。NGNG
26はどうした?
006326NGNG
氏んだ
オーバーフローっす。
0064名無しさん@お腹いっぱい。NGNG
>>57
http://www.geocities.co.jp/SiliconValley-PaloAlto/5989/programming.html
ここで基本は解かるよ、リファレンス類のリンクもあるし。
0065名無しさん@お腹いっぱい。NGNG
>>64
>ひとつのセグメントには、4Gバイトまで(!)使うことができます。驚きですね。たとえば CS
>セグメントだったら CS:00000000h 〜 CS:FFFFFFFFh までの領域があります。もちろん、メモリはこんなにないので使うことはできませんが…
>セグメントはコードの大きさに応じてOSに割り当てられているので、勝手に変えてはいけません。

たしかに驚きです(藁
もう少し理解してから書いて欲しい・・・
0066名無しさん@お腹いっぱい。NGNG
>>64
ここのリンク先にあるHTMLHelpはかなり便利そうだ、
IntelのマニュアルPDFなんで使い勝手悪いんだもん、
いいページだったよ、ありがとう
0067名無しさん@お腹いっぱい。NGNG
簡単なDOS Extenderでも書いてみればわかるのにねえ。

32ビットアセンブラつっても、ほとんどの人はレジスタ幅と
便利な命令が増えた程度しか見てないだろし。
現状ではそれでじゅうぶんではあるんだけど。

昔、仕事で簡易DOS Extenderを作ったけど、最初は頭がウニでした。
80286だとCPUにリセットかけないとリアルモードに戻れないし。
0068名無しさん@お腹いっぱい。NGNG
PC-8001あたりを手に入れればそのありがた味に後押しされて
習得のスピードも速いんだがなあ
今の贅沢なマシンじゃ速さを有り難むことも無いし
低水準な事をやろうったって難しくて嫌になりそうだし…
0069ああっ名無しさまっNGNG
>68
486マシン+DOSでも速すぎますもんね。

今ならPC-98x1やEPSON機がゴミみたいな値段だから
それで行くとか・・・。
あとはワンダーウィッチか?
0070名無しNGNG
MSX2ならもってるよ。
sony製の奴。
あと、X‐1と言うシャープ製の奴も持ってる。
物置に入ってる。
みんなザイログ。
0071名無しさん@お腹いっぱい。NGNG
自社でセカンドソース品を生産していたシャープ製品にザイログ製
Z80シリーズが使われているとは考えにくいのですが、本当ですか?>>70
007271NGNG
シャープ製品
↓
シャープの製品
0073マジレスさんNGNG
ところで、何のスレだっけ???
0074名無しさん@お腹いっぱい。NGNG
アセンブリ言語をどう学べばいいかってのでしょ。
1出てこねぇなぁ。
0075ああっ名無しさまっNGNG
>71
ザイログ系って事で勘弁してやれよ。いちいち突っ込むような事でもないだろ。
NECのμPD780よりは確実にザイログだし。
0076>71,75NGNG
でも説明書には、
Z80の文字が書かれていた記憶があるんだが。
X-1に関しては、basicのようなものとゲームしかやらなかったから
詳細は分からんが。
何せ小学生だったんで。
0077名無しさん@お腹いっぱい。NGNG
たしかMZシリーズはZ80、Z80A、Z80Bを使ってて、
X1シリーズはZ80AとμPDが載っているのを見た記憶がある。
MZ-3500以降だとシャープ製が使われていたかもしれないけど不明。
0078>71,75NGNG
物置から出して調べたよ。
間違いない。Z80だよ。
実際の生産はシャープかもしれんが、
設計はザイログで、多分Z80は登録商標だから、
その名前を銘打っている以上は、それはZ80だよ。

知ったかをされてしまいましたな。
007975NGNG
NECのμPDはセカンドソースではなく、Z80を解析して作ったいわばコピー品だったはず。
SHARPのLH00080(ゼロの数違うかも)は、ザイログのセカンドソース。

ま、どっちもピンコンパチだし、セカンドソースでないμPDでも
隠し命令はきちんと動作するみたいだから、別にいいんでない?
Z80と呼んでもさ。

「LH00080」と書いてあったらSHARP製だよ。
あとセカンドソース、もう1社くらいなかったっけ? 東芝だったか?
0080>79NGNG
つーかよ。
シャープが説明書等にZ80って記載するってことは、
ザイログがそのシャープの作ったものをZ80と
認めているって事だろ。
それなのに、何でお前はZ80だと認めないの?
本家本元が認めてるんだぞ。
0081名無しさん@お腹いっぱい。NGNG
昔は、そんなに うるさくなかったんだよ。
「みんなでコンピュータ財産を共有しましょう」
って感じで、おおらかだったんだよ。
ゲイツ君が出てくるまではね。

0082名無しさん@お腹いっぱい。NGNG
>>81
こんなことまでゲイツのせいかよ。
0083名無しさん@お腹いっぱい。NGNG
つか>>77と>>78スレからすると、Z80そのものが載っているんだから
シャープ云々は関係無いと思うが?どうよ
0084名無しさん@お腹いっぱい。NGNG
>>82
コンピュータ界の悪い出来事は全てMSが裏で糸を引いてます(ウソ)
0085ななしNGNG
>>40
じゃなくて、V40、50とかも80806互換(実質80186)相当。
確か、周辺チップ内蔵だったとおもいます。
V33だけはちょっと特殊で、マイクロプログラム方式でなくハードワイアード
方式で実装されていた(だから高クロックで動作できた)と記憶しています。あと、V20,30についていた8080エミュレーションはV33ではサポートされていなっかったと思います
0086名無しさん@お腹いっぱい。NGNG
>>83
いや、シャープ製Z80をザイログって呼ぶかってことでしょ?
ザイログ製のが載ってるのかも知れんけどさ。
まぁどっちにしろつまんないツッコミではあるな。
0087名無しさん@お腹いっぱい。NGNG
>>85
V30もV33も動作周波数はそんなに変らない。
V33はV30に比べて命令当たりの実行サイクル数が小さくなってるので
その分は高速に動作する。
0088名無しさん@お腹いっぱい。NGNG
やっぱZ80はザイログ純正じゃなきゃ。
0089名無しさん@お腹いっぱい。NGNG
Z80全盛期、真性ちゅうぼうだったけど(今も成長してないが)、
Z80AってZ80となにが違うんですか?
0090名無しさん@お腹いっぱい。NGNG
>89
Z80は2MHzまで。
Z80Aは4MHzまで。
Z80Bは6MHzまで。
Z80Hは8MHzまで。

もちろんオーバークロック耐性が高い個体はこの限りではない。
MZ-80K/C/1200はZ80/2MHzだったけど、4MHz化改造すると
すんなり動いた。
ちなみにPC-8001は最初から4MHzだが、2MHzのMZ-80シリーズと
動作速度はたいして変わらなかった。設計ひどすぎ。
0091>86NGNG
いや、そうじゃないよ。
俺がザイログって言ったのは、Z80の意味だから、
シャープ製の奴がZ80と言えるかだよ。
MSXと言った時のザイログって言ったらZ80だろ。
0092名無しさん@お腹いっぱい。NGNG
V33はケツにAがつくかどうかで、未定義命令実行割り込みのベクタなど
が全然違うんだよな。ややっこしい。
V30は後期にはV30HLという16MHz動作版があったからね。V33は最大
20MHzだから、動作クロックとしてはそう変わらない。
0093名無しさん@お腹いっぱい。NGNG
NECの作るマシンって、シャープ製の同等マシンより遅いものが
多かったね。
特にPC-8801のグラフィック描画速度の遅さは泣けた!
0094名無しさん@お腹いっぱい。NGNG
>93
PC-8001/8801に関しては、VRTCがテキストVRAMをアクセスしている間は
CPUはバスに全くアクセスできない状態なんですな。
つまり垂直帰線期間しかメモリアクセスできないという・・・。
だから表示を殺すと約2倍の速度になります。
改善されたのはPC-8801mk2SR以降。

88のグラフィックが遅かったのは、単にN88-BASICがタコなだけで。
でもタイルペイントだけはうらやましかった俺はMZ信者でした。
0095名無しさん@お腹いっぱい。NGNG
>>94
バスを占有するのは DMAC の uPD8257 ね。
でもって、DMAC が動作するのはキャラクターの高さ(通常は 8 か 10 ラ
イン)毎の水平帰線タイミングだけで、それ以外では CPU にバスの優先権
があるから、垂直帰線期間しかメモリをアクセスできないってのは間違い。
表示を殺すと約 2 倍の速度ってのはそうだけど、M1 サイクルに WAIT が
入るから、それでもまだ X1 や MZ-80/2000 には勝てないんだよな。
0096わ・・・話題が・・・@名無しさんNGNG
アセンブラやってみようと思ってNASM落としてみたけど、何が何だか・・・
http://www.bekkoame.ne.jp/~bero/docj/nasm/nasmdoc0.htm
 ↑ この日本語訳もわけワカメ。

どうやって勉強すればいいんでしょう!?
0097名無しさん@お腹いっぱい。NGNG
その日本語訳って機械翻訳じゃなかった?
原文を読みながら参考程度にした方が・・・
0098名無しさん@お腹いっぱい。NGNG
>>90
Z80は2.5MHzまで。
009994NGNG
>95
どうもありがとうございます。
うろ覚えで知った風な事かいちゃだめですね・・・。


設計がタコでもシェアNo1。
今も昔も変わらないって事なのか・・・。
0100名無しNGNG
z80から覚えたほうがいいのではないかと思います。
vectorかなんかに、
Z80のエミュレータ−みたいなのがあったように思うが…
アセンブラ編集できて、動かせる奴。
■ このスレッドは過去ログ倉庫に格納されています