2014-11-24から1日間の記事一覧

【アセンブリ】再帰で10の階乗を求めるプログラムを通して手続き呼び出し規約を理解する学習ノート【MIPS】

まず、再帰的な構造を持つプログラムを作るにあたって、手続き呼び出し規約をしっかりと理解しなければいけないらしい。レジスタ使用規約って、言われた方が自分にとってはピンと来るけども。 Patteron&Hennesy本の日本語訳verでは手続き呼び出し規約って単…

【アセンブリ】スタックフレームの大きさはなぜ24バイト以上?8バイト単位?【MIPS】

手続き呼び出し規約にスタックフレームの大きさは24バイト以上と定められている (P.766) Patterson&Hennessy本によると この最低限のフレームに4つの引数レジスタ ($a0 - $a3) と戻りアドレス$raを、倍長語の境界に整列化して持たせることができる。mainで…

【アセンブリ】スタックフレームを生成するときにスタックポインタから値を引く理由【MIPS】

スタックフレームを生成するときになぜ$spから値を「引く」のか分からなかったのでそれについての考察と現状の理解をまとめた記事を書いておく。 スタックポインタからフレームのサイズを引いて、フレーム用にメモリを割り当てる (p. 764) スタックフレーム…

【swift】半角全角を判定してフォントを使い分けてサイズとかも変更する【CoffeeNote開発記】

だいたいのローカライズが済んだときに申請前のテストでいじってたら、日本語のときにすげーださくなってるときに気付いた。 こんな感じ。 英語かっこいいのに、日本語だせぇ。。 ということでシステム設定言語に応じてフォントを切り替える設定をしてみよう…