プログラム
linux2.6.34のswitch_to()を見てたら、インラインアセンブラで見慣れない記述があったので、ちょっと確認してみた。test1()は通常通りに0番目、1番目って感じで変数を使ってるパターンで、test2()は名前を付けてアクセスする方法。こんなやり方って前からあ…
ネットでスレッドの実装をするという課題を見つけたのですが、x86版のコードだったのでx86_64で動くようにしてみました。課題のコードから変えたのはスレッドを作る処理と、コンテキストスイッチの切り替え部分です。 それ以外の部分は、基本的には課題で要…
twitterの極一部で熱狂的ブームになっているYUREXを入手したので,libusb-1.0で遊んでます. ということで,その辺のc⌒っ゜д゜)っφ メモメモ... コードは割とやっつけです・・・ libusbはこちらの 「Introduction to using LibUSB-1.0」を参考にしてます.ド…
仕事でテストデータ作るのが面倒だったのでw ツールを作成してみました. 何がしたいかというと,.mp3ファイルがたくさん欲しかったので,IDv3タグを変更してIdv3タグ的に別のアーティスト・アルバムにしたかったのです.IDv3タグをいじれるライブラリを探し…
この前のTD4エミュレータをgithubに置いてみますた。
CPUの創りかたは前から持っていて、実際に作ってみたかったんだけど、 電子工作は得意ではないので、その前にエミュレータを書いてみた。 著者の方はエミュレータを公開してくれているけど、自分Windows持ってないので本で紹介されている画面とかから このエ…
これってできたよなと思ったのでメモ。ちょっと使いたかったので・・・こんな感じで書いて・・。 #include <stdio.h> #define func_def(func_name, type, arg) \ void func_name(type arg) { \ printf("%s\n", arg); \ } #define test(nnn, type, arg) func_def(test </stdio.h>…
brainf*ckの文法はウィキペディアにも書いてあるので、 インタープリタの実装自体は分かりやすいけど、実際に"A"を表示させる方法が分かりづらかったと。。"A"を表示するコード ++++++++[>++++++++<-]>+.ここで出てくる記号の意味を簡単に書くと、 :ポイン…
やっぱり関数型言語も覚えてみたかったので、金曜にアキバのヨドバシにある有隣堂で本を探してきました。 そんで、買ったのは「やさしいEmacs-Lisp講座」と言う本。Emacs-Lispなら~/.emacsいじるとかemacsの拡張が出来るし便利かなと思ったってゆうのが大き…
スライドショーで表示する時間が3秒固定だったりして色々アレであるが、一応スライドショーにはなるしこれで良いや( ̄ー ̄)ニヤリ diff -uprN old/gpicview-0.2.0/src/main-win.c new/gpicview-0.2.0/src/main-win.c --- old/gpicview-0.2.0/src/main-win.c 200…
git format-patchで時系列に沿った形の一連のパッチ作成。リポジトリを初期化して、ファイルを追加 [masami@moon:~/build/hello]% git init Initialized empty Git repository in /home/masami/build/hello/.git/ [masami@moon:~/build/hello]% emacs hello.…
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <assert.h> struct foobar { int length; char str[0]; }; void *xmalloc(size_t size) { void *p = malloc(size); assert(p != NULL); return p; } int main(int argc, char **argv) { struct foobar *p = NULL; int len = 0;</assert.h></stdlib.h></string.h></stdio.h>…
x86_64環境でシェルコードを実行するコードをテスト。 元ネタのシェルコードはここ。 とりあえずこれはアセンブラのソースなので適当な名前で保存してgccの-cオプションでオブジェクトファイルに変換。 それをobjdump使ってバイトコードを出力、それをcharの…