Update some broken anchor links (#1444)

This commit is contained in:
Philipp Oppermann
2025-12-08 17:31:52 +01:00
committed by GitHub
parent 86c36479cf
commit 211f460251
56 changed files with 387 additions and 387 deletions

View File

@@ -30,12 +30,12 @@ translators = ["swnakamura", "JohnTitor"]
## VGAテキストバッファ
VGAテキストモードにおいて、文字を画面に出力するには、VGAハードウェアのテキストバッファにそれを書き込まないといけません。VGAテキストバッファは、普通25行と80列からなる2次元配列で、画面に直接書き出されます。それぞれの配列の要素は画面上の一つの文字を以下の形式で表現しています
ビット | 値
------ | ----------------
0-7 | ASCII コードポイント
8-11 | フォアグラウンド(前景)色
12-14 | バックグラウンド(背景)色
15 | 点滅
| ビット | 値 |
| ------ | -------------------------- |
| 0-7 | ASCII コードポイント |
| 8-11 | フォアグラウンド(前景)色 |
| 12-14 | バックグラウンド(背景)色 |
| 15 | 点滅 |
最初の1バイトは、出力されるべき文字を[ASCIIエンコーディング][ASCII encoding]で表します。正確に言うと、完全にASCIIではなく、[コードページ437][_code page 437_]という、いくつか文字が追加され、軽微な修正のなされたものです。簡単のため、この記事ではASCII文字と呼ぶことにします。
@@ -44,16 +44,16 @@ VGAテキストモードにおいて、文字を画面に出力するには、VG
2つ目のバイトはその文字がどのように出力されるのかを定義します。最初の4ビットが前景色訳注文字自体の色を、次の3ビットが背景色を、最後のビットがその文字が点滅するのかを決めます。以下の色を使うことができます
数字 | 色 | 数字 + Bright Bit | <ruby>Bright<rp> (</rp><rt>明るい</rt><rp>) </rp></ruby> 色
------ | ---------- | ------------------- | -------------
0x0 | 黒 | 0x8 | 暗いグレー
0x1 | 青 | 0x9 | 明るい青
0x2 | 緑 | 0xa | 明るい緑
0x3 | シアン | 0xb | 明るいシアン
0x4 | 赤 | 0xc | 明るい赤
0x5 | マゼンタ | 0xd | ピンク
0x6 | 茶色 | 0xe | 黄色
0x7 | 明るいグレー| 0xf | 白
| 数字 | 色 | 数字 + Bright Bit | <ruby>Bright<rp> (</rp><rt>明るい</rt><rp>) </rp></ruby> 色 |
| ---- | ------------ | ----------------- | ----------------------------------------------------------- |
| 0x0 | 黒 | 0x8 | 暗いグレー |
| 0x1 | 青 | 0x9 | 明るい青 |
| 0x2 | 緑 | 0xa | 明るい緑 |
| 0x3 | シアン | 0xb | 明るいシアン |
| 0x4 | 赤 | 0xc | 明るい赤 |
| 0x5 | マゼンタ | 0xd | ピンク |
| 0x6 | 茶色 | 0xe | 黄色 |
| 0x7 | 明るいグレー | 0xf | 白 |
4ビット目は **bright bit** で、これは1になっているときたとえば青を明るい青に変えます。背景色については、このビットは点滅ビットとして再利用されています。
@@ -597,7 +597,7 @@ pub extern "C" fn _start() -> ! {
### printlnマクロ
大域的なwriterを手に入れたので、プログラムのどこでも使える`println`マクロを追加できます。Rustの[マクロの構文][macro syntax]はすこしややこしいので、一からマクロを書くことはしません。代わりに、標準ライブラリで[`println!`マクロ][`println!` macro]のソースを見てみます:
[macro syntax]: https://doc.rust-lang.org/nightly/book/ch19-06-macros.html#declarative-macros-with-macro_rules-for-general-metaprogramming
[macro syntax]: https://doc.rust-lang.org/nightly/book/ch20-05-macros.html#declarative-macros-for-general-metaprogramming
[`println!` macro]: https://doc.rust-lang.org/nightly/std/macro.println!.html
```rust