bamboo’s blog

Bambooの気まぐれブログ

2021-02-01から1ヶ月間の記事一覧

命令の末尾に"s"をつけると・・・?(Arm)

はじめに 皆さんはArm命令の末尾にsがついた命令を見たことがあるだろうか。見たことはあっても、通常の命令と何が違うのかイマイチ分からない、という方も多いかもしれない。今回はこのsがどのような意味を持つのか詳しく見てみよう。 sの意味 末尾にsを付…

即値もレジスタも自由に操作!バレルシフタの役割(Arm)

はじめに ArmをはじめとするRISCプロセッサは固定長命令であるため、32bitの即値をそのまま使用することはできない。Armの命令では、下位8bitが即値に割り当てられることが多い。 「それだと8bitサイズの即値しか使えないじゃないか!!」そう思った方がいる…

x86-64 呼び出し規約(概略)

Microsoft x64 引数 型 第1 第2 第3 第4 整数・ポインタ RCX RDX R8 R9 浮動小数点 XMM0 XMM1 XMM2 XMM3 レジスタだけでは引数が不足する場合、スタックを使用する。 戻り値 整数型・ポインタ型はRAXを、浮動小数点型はXMM0を使用して返される。 System …

フォークしたリポジトリを同期する方法

はじめに リポジトリをフォークした後、フォーク元のリポジトリが更新された場合に同期する方法を紹介。 方法 ①フォーク元のリポジトリをupstreamという名前で追加する。 git remote add upstream (元のリポジトリのURL) ②フォーク元のリポジトリが追加され…

Thumb命令とは(ARM)

はじめに Thumb命令とは、ARMプロセッサに組み込まれている16bit長の命令である。命令に制限はあるものの、ARM命令の半分の長さで実行できるため、ARM命令と組み合わせることで効率のよいコードを作成することができる。 Thumb関数の書き方 .thumb .thumb_fu…