トップページ⇒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のエミュレータ−みたいなのがあったように思うが…
アセンブラ編集できて、動かせる奴。
0101究極の8BITNGNG
6809なんか、結構楽しいけど、エミュレータあるかな?
実用的にはZ80なんだろうけどね。
0102名無しさん@お腹いっぱい。NGNG
>>101
そうだね。6809ってとっくに廃品だもんね。
0103名無しさん@お腹いっぱい。NGNG
6809ってもう作ってないの?
0104名無しさん@お腹いっぱい。NGNG
TK-80 エミュレータ入れて 8080 を勉強するというのはどうか?
あのCPUはちょっと辛いか?
0105名無しさん@お腹いっぱい。NGNG
>>103
もうカタログから名前が消えて随分経つとおもう。
6809って知名度の割に採用例が少なかったから値段も下がんなかったし
商売的には失敗かな。8bitマイコンの時代に高級言語でのソフトウェア
開発がもうちょっとポピュラーだったらアーキテクチャのメリットも結
構生かせたかとおもうんだけど、なんだか惜しいね。
0106名無しさん@お腹いっぱい。NGNG
>>104
8080はアーキテクチャもスッキリしてるし、いいんでない?
ただあのムックだけじゃ勉強にならんよなぁ…
0107名無しさん@お腹いっぱい。NGNG
>>105
6809といえばOS-9とかもね、実用性は兎も角として理想は高かったよね。
惜しいね。
0108名無しさん@お腹いっぱい。NGNG
8080はニーモニックが厭、8080命令しか使えないとしてもZ80の
アセンブラで書きたいな。
0109名無しさん@お腹いっぱい。NGNG
cs=ds=es(=ss)として、8086アセンブラから始めるってのはダメですかね?
0110名無しさん@お腹いっぱい。NGNG
別にセグメントあったっていいじゃん。
0111名無しさん@お腹いっぱい。NGNG
セグメントですかぁ

「データとコードは混在しない!」つう、Intelさんの思想ですね。
ま、でも実際に動かせるって意味なら、8086は有効ですか・・・。

いっそのこと、80386プロテクトモードで覚えるってーのも手ですよ。
32bitで、レジスタの役割分担厳しくないし・・・。
0112名無しさん@お腹いっぱい。NGNG
Z80から始めるのがお勧め。一世を風靡したチップだけあって、
まだまだ解説書も出回ってるので。

いきなり86系から始めると、2や4のかけ算・わり算でも
ビットシフト使わない人になってしまうのでやめた方がいいす。
0113109NGNG
いやー、セグメント意識せずに、8ビットもどきとして扱わせれば
初心者でもわかりやすいかな、と思ったんですが。

8ビット機やPC-9801全盛期だった頃は、VRAMアクセスするプログラムとか
作らせれば、初心者でもメモリのイメージとか掴みやすかったように思います。
0114名無しさん@お腹いっぱい。NGNG
今更セグメントを覚えても使い道がないし・・・
0115名無しさん@お腹いっぱい。NGNG
組込みとかでDOS使ってたら意味があるかも。
0116名無しさん@お腹いっぱい。NGNG
88えみゅで動くアセンブラあったらなぁ
ぁぁ、べつに98えみゅでもいいけど
0117名無しさん@お腹いっぱい。NGNG
開発環境を考えると、秋月にあるキットのものを使った方が
入手の面でもいいよね。いまだと、PICかAVR、ちょっと上でH8かな。
Z80の方はROMライタがネックだからねぇ。他はISPができたり、書き
込み環境付属だったりするんで楽。
まぁ、PICはちょっと癖があるから初心者にはAVRの方がいいだろうけ
ど、PICの方が有名かつ旬で解説書も多いから迷うところだね。
0118名無しさん@お腹いっぱい。NGNG
88はSuperMonitorとか超便利なモニタがあったけど、あれはもう
入手不可なんだろうな。ROM内蔵モニタは8080用なのでちょっとね。

他にCDOS系でいろいろあったと思ったけど、もう忘れちゃったよ・・
0119名無しさん@お腹いっぱい。NGNG
Z80風というところでGameBoyエミュレータ用のプログラムを組む
なんてのも楽しいかもね。
0120>104NGNG
TK-80のエミュレータ−って、
本屋で売ってる奴?
あれは使いにくそう。
せめて今のもののようなキーボートとディスプレイが欲しい。
やはりMSXの実機を買うか貰うかするのが
一番分かりやすいのではないかと思う。
ゲーム作るのにもちょうどいいし。
マシン語はゲームを作るととてもよく分かるようになると思うんだが。
経験上。
0121ししゃも@KNGNG
Z-80シミュ
http://www.vector.co.jp/soft/win95/util/se091567.html
試してないので、使い勝手はわからんが、どう?
0122名無しさん@お腹いっぱい。NGNG
やはりAKI-80だな
0123あぼーんNGNG
あぼーん
0124>123NGNG
どのような文脈で何を言っているのか分からない。
0125名無しさん@お腹いっぱい。NGNG
>124
多分突っ込むスレを間違えたんずら。
「あん、そこじゃないっ、そこじゃないって…
言ってるのにもう出してしまったのね。」
0126名無しさんi486NGNG
>>124
コピペ。無視すれ。
0127名無しさん@お腹いっぱい。NGNG
Oh!X復活版に載っていたMipsのアセンブリ言語ではだめですか?

それはともかく。
コンピュータ言語では,CとかJavaとかより
なぜかアセンブラがお気に入り。
そう言う人いませんか?
0128名無しさん@お腹いっぱい。NGNG
>>127
なにそれ?
しかし、化石スレをあげたなあ。
0129>127NGNG
てめえ本当にアセンブラだけでプログラムしたことねえだろ。
あんなめんどくせーもんできれば二度と触れたくないぜ
高級言語万歳
0130名無しさん@お腹いっぱい。NGNG
>>129
まったくだね・・・・・・

ただ127も、自身がアセンブラ好きとは言ってないような
0131名無しさん@お腹いっぱい。NGNG
そういえば、アセンブラ「だけ」って開発は無いなあ。
0132名無しさん@お腹いっぱい。NGNG
あることはある、でも新規では・・・無いだろうな〜
0133名無しさん@お腹いっぱい。NGNG
ファミコンのソフト作ったことある。
アセンブラで組んだよ。
A・X・Yレジスタがあるんだよ。
足算しかないと思った引き算は補数でやる。
掛け算・割り算や浮動小数点なんて無い。
全部8ビットで計算。
おまけに計算はAレジでしかできん。
X・Yはアドレスに対するインデックス指定のみに使用。
もちろん8ビットなので255以上は指定できない。
ジャンプ命令もアドレス番地256以内と256以上離れた場合では別の命令を使う。
その他不満がいっぱい。
もう2度とファミコンのソフトは作りたくない。
0134名無しさんi486NGNG
アキュムレータあげ。
0135名無しさん@お腹いっぱい。NGNG
ファミコンのCPUコアは6502コンパチだからねえ、
70年代の8ビットCPUはそれぐらい不自由で当たり前だった。
最近のCPUに慣れるとあれはキツイかもな。
0136名無しさん@お腹いっぱい。NGNG
いやでも 6502は今でも使い易いCPUのひとつだよ
PICや4ビットに比べりゃ・・・
0137名無しさん@お腹いっぱい。NGNG
ゼロページさげ
0138名無しさん@お腹いっぱい。NGNG
>>1
マジレス。特に1番上のはおすすめ。

http://webster.cs.ucr.edu/index.html
http://linuxassembly.org/
http://asmjournal.freeservers.com/
http://www.e-net.or.jp/user/missing-link/assembler/
0139名無しさんi486NGNG
linuxassembly.orgはイイよ。あんがと
0140名無しさん@お腹いっぱい。NGNG
4ビットと電卓系の石だけはね・・
特に後者は・・・
0141139NGNG
クリスマスだってのにアセンブラ萌え〜
gasいじりまくりです(w
0142名無しさん@お腹いっぱい。NGNG
ザイログなんかケッ!
やっぱり正統派インテルだね
4004マンセー!
0143名無しさん@お腹いっぱい。NGNG
>>142
でもZ80を作った人達は、8080を作った人達だよ。その8080やZ80の
開発メンバの一人は日本人の嶋正利という人で、この人は4004も作って
たりして。
0144デフォルトの名無しさんNGNG
SH-3のアセンブラってやっぱり日立のマニュアルを読むのが一番ですか?
エミュレータってどっかにないですかねえ?
0145143NGNG
石を作った人はエライ!けどオレはその人をしらんのだスマン。
おれは4004の次に8080に行き68000へ飛び、高級言語へ飛びCOBOL・PL/Iを5年さらって、低級言語へ戻ってきたのだ
今はメインフレームでアッセンブラーだ。
俺の原点は4004なんだぁモンクアルカァ!!!

1へ告ぐ
アッセンブラー仕事のある会社へ入れば近道だ!
メーカー系や周辺機器系の会社やその下請けにコンタクトし、開口一番アッセンブラーをヤラセロと言うのだぁ!
0146マジレスNGNG
>>145 なかなか威勢がいいな。
ところでその勢いで少し意見を聞かせてほしいのだが、
68000 のリトルエンディアンって、なんかメリットある?
すくなくともオレはあんましイイと思ったことがない。
経験が少ないせいかもしれん。ちなみに使ったことがあるのは
Z80,8086,68000 の3種類。
0147デフォルトの名無しさんNGNG
逆。68000はビッグエンディアンでZ80,8086がリトルエンディアン。
語源から分かるように下らん争いになるから突っ込まないほうが良いよ。
0148146NGNG
すまん、逆だったか。指摘ありがとう。
煽りじゃなくてマジなつもりだったが宗教戦争になりそうだったら
この件はもういいっス。
0149デフォルトの名無しさんNGNG
通信の世界は、ビッグエンデアンだよん。
通信機器のモートローラが作ったのが68000シリーズだったね。

あ、ageちゃった。
0150あさはかマンNGNG
アセンブラは
アセンブラを組める人とコンタクトが有るか無いかで
覚えるまでの時間が10倍は違う気がします。

まずはアークテキチャは問わずアセンブラ組める人を
知り合いにするのが早道。

ホビーユースならマイコンを買ってきてロボット作ってみるのはいかが?

最近はCPUが格段に速くなってメモリも激安化して
重たくて敬遠されていたOSがずいぶん楽になった上に
割りこみベクタを細分化する流行のおかげで
組み込みCPUはアセンブラ覚えなくても組めたりして
アセンブラを覚える必要もあんましなくなってきて
馴染みのローカル線が無くなるよーな気分ですな。

>>149
TIがDSPやってるのはやっぱり山師だから?
0151S/370NGNG
学生時代に TI の DSP を一瞬使ったが、アセンブラを買ってもらえず
ハンドアセンブルしたことが……
会社に入ったら IBM の 308x, 309x があっていきなり 370 の
アセンブラやらされた。今でも蛇腹が机の引き出しに眠ってるナー。

今は Perl, SQL, sh スクリプトでことが足りる。次は Java かな
0152天照NGNG
>>1
TASM32,MASM32などをLDしてください。
書籍はもうあまりでていないようですので
サンプルを元にどうぞです。とりあえず基礎的なものばかりですが。
ttp://www.pbq.com.au/home/hutch/
ttp://visualasm.cjb.net/
ttp://www.thefreecountry.com/developercity/index.html
ttp://www.programmersheaven.com/
ttp://www.piic.net/~win32asm/
0153デフォルトの名無しさんNGNG
ここはキシュツですか?
ttp://www.nk.rim.or.jp/~jun/lxasm/asm00.html
0154デフォルトの名無しさんNGNG
キシュツってなあに?
0155デフォルトの名無しさんNGNG
>>154
きしゅつ 【既出】
以前にすでに提示されていること。「―の単語」
じゃないか。
0156デフォルトの名無しさんNGNG
がいしゅつじゃないのか?
0157デフォルトの名無しさんNGNG
>>156
そんなに2ちゃんに染まらんでもいいじゃない…
0158not 156NGNG
うぞ! 既出ってがいしゅつじゃないのか〜。fj で
 A「それは的を得てますね?」
 B「は? 的は射るものですが」
的な発言をよく見るのと同じで、2ch でも
 A「きしゅつです」
 B「はぁ? きしゅつってなにさ(藁」
とかいうのが流行った結果、2ちゃんねらーは
がいしゅつがいしゅつ言ってるのかと思ってたよ…。
# じゃあ何でみんながいしゅつって言うの?
0159デフォルトの名無しさんNGNG
どっかのスレッドの1番の発言で、「既出」の意味で「がいしゅつ」とか
言った人がいて、それがむちゃくちゃに煽られて、2chでは「がいしゅつ」が
流行った。
0160デフォルトの名無しさんNGNG
今では「きしゅつ」の方が不自然に感じる。
0161名無しさん@お腹いっぱい。NGNG
つーか漢字で書こうぜ、既出
0162デフォルトの名無しさんNGNG
>>152 LDって? ロード?
0163デフォルトの名無しさんNGNG
LD:レーザーディスク
0164デフォルトの名無しさんNGNG
普段なにげなくポロッと言ってしまわないか心配だ>がいしゅつ
0165デフォルトの名無しさんNGNG
「ガイシュツ」の真相情報どうもです。
変換できないからおかしいとは思ってたのだ。
0166デフォルトの名無しさんNGNG
2chに染まりすぎると言語障害に陥ります。
0167デフォルトの名無しさんNGNG
>>165
ははは。
「的を射る」と書いて「まとをえる」と読みます。
0168デフォルトの名無しさんNGNG
2chだと、巣窟が「すくつ」、既出が「がいしゅつ」になる。
馬鹿だと思われるぞ。
0169デフォルトの名無しさんNGNG
アセンブリ言語じゃなくて日本語を学ぶスレと化したな。
0170not 156NGNG
>>164
> 普段なにげなくポロッと言ってしまわないか心配だ>がいしゅつ
そだそだ。昔はきしゅつとさらっと読めたが、今だと
がいしゅつの方がまず頭に浮かぶもの。ひどいや 2ちゃんねらー。
0171デフォルトの名無しさんNGNG
普通のBBSで「行く」を間違えて「逝く」と誤変換してるのを見ると
ほほえましいです。
0172たNGNG
2ちゃんねらーであることをカミングアウトしているようなもんだな
0173名無しさん@お腹いっぱい。NGNG
きしゅつは話し言葉じゃないと思うんだが
0174デフォルトの名無しさんNGNG
話し言葉ではまず使わないだろうけど、
読むときが問題なんじゃない?たとえば報告書を読み上げたりする時とか。
0175デフォルトの名無しさんNGNG
いく
行く
行く
うむ。OK。
0176名無しさんi586NGNG
逝く(ゆく)です。
0177デフォルトの名無しさんNGNG
>>175-176
ワラタ
01781NGNG
うむ。OK。


176 名前:名無しさんi586投稿日:2001/01/12(金) 14:16
逝く(ゆく)です。


177 名前:デフォルトの名無しさん投稿日:2001/01/12(
0179名無しでGO!NGNG
「池脇」が「逝け脇」に変換された時はマジ氏のうかと思った。
0180デフォルトの名無しさんNGNG
消えてくれ>〜179
0181デフォの名無しNGNG
さっき仕事場の人が、
「現行と同じようにコンテンツ毎であるが」
の文章を、
「げんこうとおなじようにコンテンツいちごであるが」
と読んでた。笑ったよ。
「ネタか?」とか言いそうになった。あほじゃん。
0182デフォルトの名無しさんNGNG
>>181
疲れてるんだよ。
ノイローゼ間近っぽいな。
0183デフォルトの名無しさんNGNG
あげ
0184デフォルトの名無しさんNGNG
どうでもいいが、なんのスレだよここ(笑)
0185デフォルトの名無しさんNGNG
アセンブラ出来るとなにか良いことありますか?
0186デフォルトの名無しさんNGNG
>185
一般的に小さくて速いプログラムが作れる。
解析やデバッグが容易にできる。
0187デフォルトの名無しさんNGNG
>>185
いまは使う機会あまりないよ。よほどハードに密着したプログラムを
書くとか、ループ内部のようなどうしても最適化したい場面でも
なければ。っていうかキャッシュミスとかまで考えるとやってられない。
コンパイラに任せた方がマシ。
サイズも昔は重要だったけどね…。>>186

かくいう自分は厨房時代にMSXのマシン語してたくらいだけどね。
そのおかげでx86系も読むぐらいはできるかな。
あと、アセンブラできるとなぜかシェアウェアにお金を払わなくて
すむようになります(謎 が、ほどほどにね(笑
0188デフォルトの名無しさんNGNG
>>187
よく知らないんですが
パスワードを直接埋めこんでたりするんですかね?
0189186NGNG
>187
「いまは」・・?。
「いまだに」デバドラ組んだりするやつらの立場も考えろ。

まあ、そういったハードウェア寄りの開発にも効くってことで。>185
0190デフォルトの名無しさんNGNG
>>187
コウハン、ワラタ
0191デフォルトの名無しさんNGNG
>>189
ハードに密着したプログラムを書くとか…は除外してるでしょ。
昔は普通のプログラムでも必要だったからね。
>>188
それならバイナリエディタで充分じゃん(笑)
条件分岐とかをいじるの。
0192デフォルトの名無しさんNGNG
>>185
ターゲットCPUのアーキテクチャ、および、
コンパイラがどのようなコードを吐くかを知らなければ、
良いプログラムは書けません。

実際にアセンブラを使うことはなくても、
アセンブラの知識は必須なのです。

同じ高級言語であっても、
アセンブラを知らないプログラマと知っているプログラマの
書いたコードを比べた場合、
数倍以上速度差があるなんてことはザラです。
0193デフォルトの名無しさんNGNG
OSやCのライブラリを書く場合は、アセンブリ言語を使って最適化したほうがよい
場合が多いようです。

たとえば
http://cvsweb.netbsd.org/bsdweb.cgi/basesrc/lib/libc/arch/にはNetBSDの
libcの、各アーキテクチャ向けに最適化されたものがあります(ほとんど空の
ディレクトリもありますが)。

それと、多くのJavaの仮想マシンもアセンブリで最適化されているらしいです。
0194Polymorphia ★NGNG
>>187 名前: デフォルトの名無しさん
後半:確かにです。
end of line
0195Polymorphia ★NGNG
そういえばdosのころもAntiDebugRoutineってありましたよね。
例えば
.
.
.
stop_trace:
push bx
pop ax
dec sp
dec sp
pop ax
cmp ax,bx
je tsr_check
hlt
int 19h
.
.
こんなのとか。
end of line
0196デフォルトの名無しさんNGNG
「初めて読む8086」は確かに初心者向けだったが、
「初めて読む486」は未だ理解に至っていない。鬱。
0197七審じゃNGNG
消えて欲しくないので、あげさせていただきます。
0198あさはかマンNGNG
>>196
それは486が決して判りやすいものでは無いからでは・・?
0199デフォルトの名無しさんNGNG
>>198
心からx68系が羨ましくなったよ・・・・・
0200デフォルトの名無しさんNGNG
でも、OSくらいまで作ろうとしなければ面倒なのも減るっしょ?
GDTとかさ・・・
0201デフォルトの名無しさんNGNG
僕のさくらちゃん!ヽ(´ー`)ノ
0202デフォルトの名無しさんNGNG
Z80のならちょっとだけ覚えてるかも。
C9がRETでCDがCALLでC3がJPだっけ?
0203デフォルトの名無しさんNGNG
昔は人間アセンブラ・ディスアセンブラなんてひともいたんだけどね。
0204デフォルトの名無しさんNGNG
そうそう。紙テープ読んで、東京湾に怪獣出現とかわかるひとも(略
0205デフォルトの名無しさんNGNG
そうそう。カセットテープに録音されたBASICのプログラムを”聞いて”、
何のプログラムか当てたり、あまつさえそれを紙に書き下せたりするひとも(略
0206デフォルトの名無しさんNGNG
あぐぇ
もっと、お話聞かせてよ。あと、MBRに置くローダーとかはアセンブラで
なくても良いの?

0207デフォルトの名無しさんNGNG
2ちゃんねるはメガネオタクの集まり!!
どうしょうも出来へんな!!
スキルも無いくせに能書きだけは一人前の奴ばっか!!
ほんまにスキルある奴は軽く遊んだるから、かかってこいや!!
アホが!!2ちゃんねるはメガネオタクの集まり!!
メガネ割りたい!!
文句あるなら、かかってこいや!!
アホが!!
http://www.rju666.com/


0208.NGNG
コンパイラの作り方を教えて
0209デフォルトの名無しさんNGNG
>>208
ポーランドでもトルコでも行って勉強して来い
0210208NGNG
>209
ボーランドってあの有名なIDEメーカーですよね?
トルコって?
0211デフォルトの名無しさんNGNG
>208
真下にあるぞ、コンパイラスクリプトエンジンとかのスレ
0212デフォルトの名無しさんNGNG
CとC++にさわり初めてはや5年。どうも大事な所が抜けている気がして
「初めて読む8086」とかでアセンブラの勉強を初めてみました。

おかげでコンピュータに対する理解は深まったのですが、いざVC++のはく
アセンブラコードなんか読んでみようとすると、途端につまずいてしまいます。

果たして>>192辺りのレベルに至るには、具体的に何が必要なのでしょうか?
やっぱり自分でアセンブラを使い、なんか書いて見るしかないのですかね・・・
0213いつでもどこでも名無しさんNGNG
    mov $100, %ecx
1:
    call write_code
    call has_understand
    test %eax, %eax
    beq 2f
    loop 1b  
    halt
2:
    ret
   
0214212NGNG
>>213
うーんと100回なんかやってるんですよねぇ。でeax同士を
test・・・どういうことなんだろう?んでbeq・・・なんだろうこれは。
もしかして・・・、うーんそもそもネタかなぁ、どうかなぁ。

てなレベルなんです
0215beq 2fNGNG
'branch equal forward label 2'ってことか?
x86は知らん。
0216beq 2f NGNG
先頭が英文字でなくてもラベルはれるの?
x86は知らん。
0217デフォルトの名無しさんNGNG
ネイティブにはbeqなんて命令はないよ。マクロ?
branch 〜っていうのはモトローラ系のにおいがするね(^^;
x86なら jz @f(←MASM互換ならね)でしょ。
0218213NGNG
ああ、そこだけ MIPSが混じってしまった >>217
x86しばらくいじってないんで。鬱堕死膿
ちなみに intel標準じゃなくて gasですが >>216

0219ここにもあるぞよNGNG
http://hp.vector.co.jp/authors/VA000124/index.htm
0220デフォルトの名無しさんNGNG
どなたか、Windows上で動く68000用逆アセンブラのいいやつを教えていただけないでしょうか。
フリーソフトの奴で。
僕が探してみた奴はいまいち使い勝手が悪い(4Kbyteぶんしか逆アセンブルしない)とか、
シェアウェアだったりしたので。
0221デフォルトの名無しさんNGNG
HAS.X>220
0222バカなりに答えてみます。NGNG
>>212
藤原博文「Cプログラミング専門課程」(技術評論社)によると…
メモリマップを書くのが大事だそうです。
静的変数、関数、動的変数、一時変数、
のメモリ配置は、おおよそ決まったパターンがあります。
OSのしくみを解説した本にもありますが、
データ領域、テキスト領域、ヒープ領域、スタック領域、など
メモリ配置の仕方が分かると、より理解が深まるのではないでしょうか。
0223デフォルトの名無しさんNGNG
>>220
EX68 上で dis だ.

0224デフォルトの名無しさんNGNG
>>1
無い
0225212NGNG
ここ数日switchとif〜elseのはくコードの違いは?みたいなことやってました
>>222
遅レスですいません。で・・・うーん、DSとかSSとかの話ですよね。
正直今まで、これはDOS時代の話だと思ってました(^ ^;
確かに私、こういうのさっぱりで・・・高低の具合ですらあやふやなぐらいでして。
「メモリマップを書く」難しそうですが勉強してみます。キーワードサンクスです
0226デフォルトの名無しさんNGNG
test
■ このスレッドは過去ログ倉庫に格納されています