MD5 (Message Digest Algorithm 5) は、 RFC 1321 でアルゴリズムが紹介されていて、 Appendix (付録) として C によるリファレンス実装が付属しているが、 その global.h に /* UINT4 defines a four byte word */ typedef unsigned long int UINT4; と書いて... 続きを読む
はなおか じった 世界遺産の近くに住んでます。 Microsoft MVP for Visual Developer ASP/ASP.NET 10, 2004 - 9, 2008 x64 環境なのかどうかの判定をする方法。 OS のバージョンを見ても、x64 なのかどうかはわかりません。例えば、32ビット版 Windows XP のバ... 続きを読む
moshObject クラスのメンバ関数呼べた。うまく動くはずなのになんで動かないんだろう?とずっと悩んでいた件も解決。isNumber の call 後に第一引数 VM*(rdi) を restore し忘れていた。正確には rdi を参照している場合は restore が必要な事は理解していたの... 続きを読む
moshIntel 64 and IA-32 Architectures Software Developer's Manual を読んでも ModR/M や SIB が理解できない。x86系CPUのネイティブコードを解析する(2/3):CodeZine を読んでやっと理解できた。日本語でまとまっているのは大変ありがたい。 例えば以下の... 続きを読む
もちろん64ビット環境があるに越したことはないのですが、仮に無くても逆アセンブルさえできればなんとかなるので、ndisasmの64ビットオプションで頑張れます。http://www.nasm.us/http://www.nasm.us/pub/nasm/releasebuilds/2.07/win32/nasm-2.07-win32.zipタ... 続きを読む
We created a patch to build FastCGI client library for 64bit windows. This patch is based on fcgi-2.4.0.tar.gz available on FastCGI official site. Download fcgi-2.4.0-x64.patch See README.win64 file after extracting the archive and applying t... 続きを読む
技術メモWindows@i386でのatomic 64bit store。_InterlockedCompareExchange64を使ったほうがいいのかな?だいたい、ちゃんと動作してるのかしら…ツッコミ求む。 #include #include #define int32_t INT32 #define uint32_t UINT32 #define int64_t INT64 #def... 続きを読む
本日オライリージャパン様より「Debug Hacks――デバッグを極めるテクニック&ツール」の献本をいただきました。著者の皆様、出版社の皆様ありがとうございます。 とりあえず、ざっくりと気になる章だけをかいつまんで読んでみたのですが、最後の章「#66.手元の... 続きを読む
This section contains register level documentation on AMD graphics processors for chip initialization, displays, and overlays. Documents for mobile chips are a superset of the desktop chip documentation; they contain all the desktop chip info... 続きを読む
AMD64 Architecture The AMD64 architecture is a new 64-bit architecture developed by AMD, based on the 32-bit x86 architecture. It extends the original x86 architecture by doubling the number of general purpose and SIMD registers, extending th... 続きを読む
ふと思い立って YARV からの JIT コンパイラを Xbyak で書き始めてみました。 x86 と x86_64 を両方サポートするつもりだったけど、とりあえず適当にやりすぎて x86_64 に依存しまくってしまったのでとりあえず現状そっちだけ。今度 x86 対応はちゃんとやる。あ... 続きを読む
最近,Visual C++ のことを高機能なマクロアセンブラだと思っている光成です. その考えを64bit Windows/Linuxにも押し進めるため,64bitに対応したJITアセンブラXbyakを公開しました. 64bit Visual Studioではインラインアセンブラが廃止されたため,何かと便... 続きを読む
gccgccでatomicに64bitの値を代入したい。一応、以下のようなコードで実現はできるんだけど。。 #include #include #define SEN_SET_64BIT(p,v) \ __asm__ __volatile__ ("1:\n" "\tmovl (%0), %%eax\n" "\tmovl 4(%0), %%edx\n" "\tlock; cmpxchg8b (%0)\n" "\... 続きを読む
京都大学大学院工学研究科情報工学専攻修了。株式会社日立製作所で遺伝的アルゴリズムおよびネットワーク基盤技術の研究に従事。1997年に情報処理学会山下記念研究賞受賞。1998年、電気学会先端システム技術の産業応用調査専門委員会委員。2000年、KLab株式会社... 続きを読む
linux, pc最近メモリが安いので,Dell PowerEdge SC420 にメモリ 4GB とおごってみました。ところが OS から見えるメモリは 3GB 強程度。さらっと調べた感じだと, PAE を有効にすればできるよ,たぶん x86_64 な OS だと大丈夫だよ,たぶんという意見がよく出... 続きを読む