フィットログ2016 その11

3/14~の分。
月曜 エアロバイク運動(2回分で20分から30分くらいを2本)
火曜 エアロバイク運動
水曜 エアロバイク運動
木曜 エアロバイク運動 + 筋トレ(プランク運動) + ストレッチ
金曜 エアロバイク運動
土曜 エアロバイク運動半分
日曜 NT京都というイベントに出掛けて、運動をしていない。

先週後半に体重が一時的に増加していたのを取り戻すため、エアロバイクをちゃんとやっていたのだが、体重が戻らなかった。
週末のNT京都というイベントでバーベキューなど食べ過ぎてかなり体重が増加してしまった。
また頑張って体重を落とさないといけない。

メガネ形の簡易AR HMDを作ってみる (その2 原理確認2)

メガネ形の簡易AR HMDを作ってみるのを試している。(昨日書いた話の続き)

昨日の物とは少し作り方が違っていて、LEDを格子状の板に貼り付けてディスプレイにするという作りの物も作っている。先に作り始めたのはこちらのほうだったりする。
Rimg0006
続きを読む →

メガネ形の簡易AR HMDを作ってみる (その1 原理確認)

メガネ形の簡易AR HMDを作ってみるのを試している。
Rimg0002

最初は、このあたりのメガネ形のマッサージ機をベースにして、何か表示用の電子部品を取り付けようと考えていた。
Rimg0008
このメガネ形マッサージ機の内側の突起がなんだかLEDみたいに見える。で、1つ思いついた。

表示用にLEDを使うのは可能だろうか? というのを試してみようと思った。
目のすぐそばにLEDを取り付けて、何か表示させるディスプレイを作ったら、それを読み取ることはできるだろうか?
続きを読む →

LLVM-IR(LLVM中間コード)用コンパイラの作り方 その10

前回の続き

INPUT文の実装について。

10 INPUT A
みたいなINPUT (変数)という構文を実装する。

入力を促すためのプロンプト表示として”?”を出力する。
これは前回のPRINTと同様にコード出力すればよい。

そのあとは、C言語のgets関数をcall命令で呼び出して、文字列を入力し、atoi関数で整数に変換する。
セキュアなコードではないのだけど、手抜きをして作ったのでこんなもので。
そして、そのatoiの戻り値をstore命令で変数%aのメモリに格納する。

まとめると、このようになる。

  %1 = call i32(i8*,...)* @printf(i8* getelementptr inbounds([3 x i8]* @.2, i32 0, i32 0)) nounwind
  %2 = call i8* @gets(i8* getelementptr inbounds ([1024 x i8]* @buf, i32 0, i32 0)) nounwind
  %3 = call i32 @atoi(i8* getelementptr inbounds ([1024 x i8]* @buf, i32 0, i32 0)) nounwind
  store i32 %3, i32* %a ,align 4

続きを読む →