From b2862f980f3d78012066ef1cc09d4ad58f886c0f Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Wed, 7 Oct 2026 09:53:15 -0700 Subject: Pick up japanese transaltion A bunch of minor README fixes, missing TOC, grammer cleanup --- chapter21/docs/encoding-reference.ja.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'chapter21/docs/encoding-reference.ja.md') diff --git a/chapter21/docs/encoding-reference.ja.md b/chapter21/docs/encoding-reference.ja.md index 8ccdc728..d04fc469 100644 --- a/chapter21/docs/encoding-reference.ja.md +++ b/chapter21/docs/encoding-reference.ja.md @@ -40,9 +40,6 @@ - [条件フラグ](#条件フラグ-1) 7. [再配置](#再配置) -> 訳注:原文の目次には本文に対応する節がない項目や、別の節を指すリンクがあります。 -> 日本語版の目次は本文の見出しに合わせています。本文の技術的な説明とコード例は原文に沿っています。 - この章では命令エンコーディングを追加します。命令エンコーディングとは、 プロセッサの命令セットアーキテクチャ(ISA)が定義する特定のバイナリ形式で機械命令を表すことです。 @@ -429,7 +426,7 @@ Arm は次の間接参照形式をサポートします。 [ストア](https://docsmirror.github.io/A64/2023-06/strb_imm.html):`str dst, [base + #offset]` -オフセットが定数でなければ……(訳注:原文のこの文は途中で途切れています)。 +オフセットがレジスタの場合は、即値オフセット形式ではなくレジスタオフセット形式を使います。 #### 分岐 @@ -465,7 +462,7 @@ Arm は次の間接参照形式をサポートします。 それ以外の場合は無視されます。 Simple では、REX プレフィックスをビットストリームの先頭に追加するだけです -(SEE の浮動小数点命令を除く。訳注:「SEE」は原文の表記です)。配置は次のとおりです。 +(SSE の浮動小数点命令を除く)。配置は次のとおりです。 | **フィールド** | **長さ** | **説明** | |:---------:|:----------:|---------------------------------------------------------------------------------| @@ -528,12 +525,14 @@ public enum MOD { ##### reg -reg フィールドは3ビットのフィールドで、15種類のレジスタをエンコードできます。 -(訳注:ビット数とレジスタ数について、ここでは原文の記述を保持しています。) +reg フィールドは3ビットで、8個のレジスタから1個を選びます。レジスタを指定する場合、 +REX.R によって4ビットに拡張され、16個のレジスタから1個を選べます。 ##### r/m -rm フィールドは直接または間接のレジスタオペランドを指定し、15種類のレジスタをエンコードできます。 +r/m フィールドは3ビットです。レジスタ直接指定モードでは、REX.B によって拡張され、 +16個のレジスタから1個を選べます。メモリ指定モードでは、アドレッシング形式または +ベースレジスタを選びます。一部の値は SIB バイトや RIP 相対アドレッシングを指定します。 ```java public static int modrm(MOD mod, int reg, int m_r) { @@ -625,7 +624,7 @@ X86-64 は複数の間接アドレッシングモードをサポートします #### 浮動小数点数 浮動小数点演算には、XMM レジスタまたはメモリにあるスカラーの単精度浮動小数点値を操作する -`SEE SIMD` 命令を使います(訳注:命令名の表記は原文どおりです)。 +`SSE SIMD` 命令を使います。 *注*:ALU 演算で XMM レジスタを使う場合、エンコーディングは非常に似ていますが、 レジスタ番号から `XMM_OFFSET` を引く必要がある点が異なります。 レジスタを連続した番号で数えているため、XMM レジスタに対応する GPR のペアを得るには、 -- cgit v1.2.3