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

アセンブリ言語

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん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
きしゅつは話し言葉じゃないと思うんだが
■ このスレッドは過去ログ倉庫に格納されています