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

アセンブリ言語

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさんNGNG
アセンブリ言語を学びたいのですが、効率良く学ぶ方法は、
ないでしょうか?
お勧めの書籍等があったら教えてください。
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ちゃった。
■ このスレッドは過去ログ倉庫に格納されています