PowerPC アセンブラ
■ このスレッドは過去ログ倉庫に格納されています
0001どなたかよろしくお願いします。
NGNG有用な文献や日本語で解説しているホームページがあったら教えてください。
ご存じの方、よろしくお願いいたします。
仕方なく今はモトローラの PDF(英文)を読んでいます。
英語でもいいという方は以下のリンクをどうぞ。
PowerPC ファミリー リファレンスマニュアル
http://e-www.motorola.com/brdata/PDFDB/MICROPROCESSORS/32_BIT/POWERPC/MPCFPE32B.pdf
G3(MPC750) 関連PDF
http://e-www.motorola.com/webapp/sps/prod_cat/prod_summary.jsp?code=MPC750&catId=M98654
G4(MPC7450) 関連PDF
http://e-www.motorola.com/webapp/sps/prod_cat/prod_summary.jsp?code=MPC7450&catId=M950644686128
PowerPC スペック概要(日本語)
http://www-6.ibm.com/jp/chips/chips2/products/powerpc/index.html
0002>1
NGNG00031
NGNG困らなければなんでもいいのではなくて
できることなら英語より日本語で読みたいわけです。
あとRISCチップでのマナーとかも知りたいです。
同じくPowerPCをやろうとしてる人には有意義ではないかと。
0004デフォルトの名無しさん
NGNGなんでPowerPCアセンブラやりてえのよ?
もうちょっと速ければ、日本語の文献(紙媒体)がモトローラから手に入ったんだがなあ。しかもタダ。
http://www.mot.co.jp/SPS/html/materials/
PowerPCって、他のRISCと比べるとあまりRISCって感じしないよ。
日本で出版されてたPowerPCの書籍って、ほぼ絶版だと思うよ。
Inside PowerPCくらいはまだ在庫があるんじゃない? ちなみにソフトバンクね。
あの故 宮永好道先生の監訳
00051
NGNG情報ありがとうございます!
リンク先にPowerPCファミリーリファレンスの日本語版があった!と
思ったらPDFのダウンロードさせてくれないみたいですね…。(ケチ!)
>なんでPowerPCアセンブラやりてえのよ?
純粋にPowerPCの挙動を知りたかったのと、
MacOS X が出てきたのでアセンブラ読めるぐらいには
なっておいても悪くないかなと思いました。
今はCでちょこっと書いたものを逆アセンブルソースと比べて、
pdfのリファレンスでわからない命令を調べて…
という感じでやってます。
もしかしたらメモリに直値入れられないんですかね。
86系では考えられない”シバリ”があるのでかなり新鮮です。
86系で言うスタック命令 push, pop って
PowerPCに見当たらないんですけど、
レジスタとメモリストアで遣り繰りしろってことなのでしょうか?
…まだまだわからないことだらけです。
この辺の86系との違いなんかが日本語で読めるところがあると
うれしいですけどねぇ。
00064
NGNG読めないって事ですよね? 知ってると思いますが16ビットまでなら読めます。
「addi r0,r0,xx」で、r0にxx(16ビットまで)が入ります。
CodeWarriorとかだと、「li r0,xx」で通ります。(Load Immidiateの略)
他にも、レジスタ間転送は「or[.] r0,r1,r1」とかを使うんですが、
これも「mr[.] r0,r1」(Move Registerの略)と書く事ができます。
こういう、最終的には同じ命令になるんだけどニモニックは違う、といった一覧表を
どっかで探しといたほうがいいです。IBMやモトローラのサイトにもあるかな?
私は「OPTIMIZING PowerPC CODE」って洋書を買いました。ISBN 0-201-40839-2
前に書いた「Inside PowerPC」はISBN 4-89502-606-4です。
どちらもPowerPC60xが中心です。750や7400の本は恐らく日本じゃ出てません。
モトローラがタダで配ってた750の英語版ももう手に入らないでしょう。
レジスタは汎用32個もあるんで、そんなにpush/popするような必要はないと
思うんですがー。使いたければ自前で管理する必要があったかと。
アセンブラだけで大きい関数書いた事ないんで、私もあまり詳しくないです。
00074
NGNGたとえばmr[.] r0,r1ですが、mr. r0,r1だと実行結果がフラグに
反映されます。mr r0,r1だと反映されません。
00084
NGNGメモリに直値を入れる命令は(少なくとも60x,750,74xxには)ありません。
でもこれって使えないと困る???
高速化のテクニックとしては、GPRに対する命令とFPRに対する命令両方あるなら、
交互に書いた方が速くなるとかいうのがあります。パイプラインが別になってるんで。
でもプログラムとしては見にくくなるよね。
ちゅうか、もっと詳しい人達はMac関係のメーリングリストとかfj行かないといないでしょう。
0009デフォルトの名無しさん
NGNG【mips RISCアーキテクチャ】でも読んで、
まずRISCチップの基礎を学んでからの方が良いと思うよ。
0010デフォルトの名無しさん
NGNG取れるから、コード書き換えてはプロファイルとって、
アセンブラ出力を眺めたり、手でアセンブラコード書いたり、
ってついしちゃうよね。ひまなときとか。
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGアセンブリ言語を アセンブルするのが、アセンブラだ。
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGコピペ、カコワルイ
しかも終わってるスレに反応してやがる。
>>11はage荒らしだろ、アホ。
■ このスレッドは過去ログ倉庫に格納されています