Skip to content

Instantly share code, notes, and snippets.

🏠
Working from home

市川 真一 tenpoku1000

🏠
Working from home
Block or report user

Report or block tenpoku1000

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@tenpoku1000
tenpoku1000 / x64_PM.md
Created Jan 11, 2019
x64 の電力管理についてのメモ
View x64_PM.md
@tenpoku1000
tenpoku1000 / memo.md
Last active May 10, 2019
コンパイラ・IDE・OS・VMM・IME の開発のためのメモ
View memo.md
@tenpoku1000
tenpoku1000 / AC_2018-12-24_x64_JIT_compiler.md
Created Dec 28, 2018
32 ビット整数式の x64 JIT コンパイラを試作する
View AC_2018-12-24_x64_JIT_compiler.md
@tenpoku1000
tenpoku1000 / AC_2018-12-11_NMI.md
Created Dec 8, 2018
NMI に割り込まれたい
View AC_2018-12-11_NMI.md

NMI に割り込まれたい

この記事は、自作OS Advent Calendar 2018の 12/11 の記事として書かれました。

2018 年 12 月現在の PC では NMI が、どんな時に発生するのか、あるいは意図的に発生させることができるのか、調べてみました。 致命的なハードウェア・エラー発生時以外に、デバッグ用途で意図的に発生させることができる場合があるようです。

調べただけで、実機を使って検証などしていませんので、この記事を参照して生じた、いかなる損失・損害について一切の責任を負いません。ご理解をお願いいたします。

@tenpoku1000
tenpoku1000 / AC_2018-12-06_C-global-var.md
Last active Dec 6, 2018
C のグローバル変数の仮定義とは
View AC_2018-12-06_C-global-var.md

C のグローバル変数の仮定義とは

この記事は、自作OS Advent Calendar 2018の 12/6 の記事として書かれました。

2018 年 12 月現在、C が使われている事例が減っていて、C 固有の事情を知っている必要性に乏しいという事情もありますが、C++ との非互換の仕様で、あまり知られていない仕様の話を書きます。

C のグローバル変数

私が JIS C99 と呼んでいるのは以下の文書です。

@tenpoku1000
tenpoku1000 / AC_2018-12-05_SATA.md
Created Nov 30, 2018
レガシー規格 SATA を振り返る
View AC_2018-12-05_SATA.md

レガシー規格 SATA を振り返る

この記事は、自作OS Advent Calendar 2018の 12/5 の記事として書かれました。

釣りタイトルの印象はあるとは思います。SATA は、NVM Express への移行も進んでいると思われるので、主な仕様と製品を振り返ってみようという企画です。

自作 OS で SATA 対応といっても、どのような範囲まで対応しているのか、明記しておく必要があるのではないかと思います。なぜならば、本稿に記載しているように多様なデバイスがあり、個別の対応が必要な場合があると思われるからです。

SATA で十分だ、NVM Express 不要みたいな議論は、やるだけ無駄でしょう。PC を買い替えたら、NVM Express SSD だったという状況は増えていきます。新製品を買わせないと、メーカーや販売店は存続できないので、新規格を推進していきます。SATA や eMMC は低価格品などで残る可能性はあると思いますが。

@tenpoku1000
tenpoku1000 / AC_2018-12-02_Intel-doc-links.md
Created Nov 30, 2018
インテル関連ドキュメント・リンク集
View AC_2018-12-02_Intel-doc-links.md
@tenpoku1000
tenpoku1000 / x64_エンコーディングの概略.txt
Last active Jun 8, 2019
x64 の 64 ビットモードのエンコーディング概略
View x64_エンコーディングの概略.txt
x64 の 64 ビットモードのエンコーディング概略
@tenpoku1000
2018/10/15
1. 命令の方向
初歩的な命令の場合:
ニーモニック ディスティネーション・オペランド, ソース・オペランド
@tenpoku1000
tenpoku1000 / AC_2017-12-02.md
Last active Aug 1, 2019
2 年以上かけて自作 OS 開発のための資料を集めた話
View AC_2017-12-02.md

2 年以上かけて自作 OS 開発のための資料を集めた話

この記事は、自作OS Advent Calendar 2017の 12/2 の記事として書かれました。

2015 年以降に収集・整理した資料

ブックマーク(サイズは 10MB 超)の収集を先行させ、それを整理することで Gist にメモを書いたり、非公開のテキストファイルにメモをするなどしました。

ブックマークのリポジトリのバックアップの都合で、リポジトリが肥大化した際に過去の歴史を改ざんして、古い履歴を捨てているので一部の情報は消失しています

@tenpoku1000
tenpoku1000 / AC_2017-12-04.md
Last active Jul 1, 2019
自作派の人のためのコンパイラ関連規格のメモ
View AC_2017-12-04.md

自作派の人のためのコンパイラ関連規格のメモ

この記事は、自作OS Advent Calendar 2017の 12/4 の記事として書かれました。C 言語と JavaScript、それに両者を繋ぐ役割を持つ Web IDL についてのメモです。

主に、仕様書のダウンロード・サイトなどの URL を集めてみました。この他の URL は、以下でブックマークを公開していますので、興味がある方は参照してみてください。

データに着目したコンパイラの処理の流れ

You can’t perform that action at this time.