ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

2008-07-01から1ヶ月間の記事一覧

関数呼び出しMIPS編

MIPSの関数呼び出し規約を、gccを使って確認してみました。教科書によると、$4〜$7($a0〜$a3)が引数、$2〜$3($v0〜$v1)が戻り値として使われます。 元となるソース 違いを確認するために、引数が4個の関数と、引数が5個の関数を呼び出し、gccの出したアセン…

Digital Design and Computer Architecture

パタヘネに関係する本の紹介です。 http://www.elsevier.com/wps/find/bookdescription.cws_home/710749/description#description http://www.amazon.com/Digital-Design-Computer-Architecture-Harris/dp/0123704979 Amazon.comではベタほめですが、私の評…

Exercise 2.13 control flow graph

このプログラムのcontrol flow graphを書きなさい。 for(i=0;i

jump table

jump tableとは何か jump tableとは、アセンブラやCにおいて制御の飛び先(jump先)を配列にして並べた物です。jump tableのイメージ図はこのようになります。Cのswtich文のように、同じような条件で複数の飛び先がある場合を考えます。 int foo(int k){ int f…

Exercise 2.10 C言語のswitch文

Cのswtich文がどのようにアセンブラになるかの話。 これが教科書に載っているCのソースです。 switch (k) { case 0:f = i + j; break; /* k = 0 */ case 1:f = g + h; break; /* k = 1 */ case 2:f = g - h; break; /* k = 2 */ case 3:f = i - j; break; /*…