mistakes
の編集
http://hrb.osask.jp/wiki/?mistakes
[
リロード
|
差分
|
単語検索
|
一覧
] [
編集
|
バックアップ
|
添付
]
-- 雛形とするページ --
A
Akkie
Athlon64X2
Clover
DAsoran
Falcon
FormatRule
FrontPage
Genesis
Help
I
InterWikiName
InterWikiSandBox
InterWikiテクニカル
Jormungand
K
Kebo
Kor_Lee_Hee_Rak
Leaf
Linux
Linux/wako_memo
MOIZ99
MW
MenuBar
OSC
PG_MANA
ReadersOS
RecentDeleted
SKYDASH
SandBox
Sero
Sigle
Source
Triangle_Ld.
Zxcvbnm
advance
advance/CPU
advance/FDC
advance/FPU
advance/NotHariMain
advance/QEMUVGA
advance/RTC
advance/blike
advance/cpu_reset
advance/driver
advance/driver/01
advance/driver/02
advance/families
advance/filesystem
advance/fwrite
advance/hddboot
advance/he86
advance/hints
advance/ipl
advance/kernel
advance/keycode
advance/osselect
advance/smaller1
advance/startup
advnace/smaller2
anzy
aotatsu
banbi-
bluedwarf
bo
bugs
challengers
cybozulabsyouth11
deskmanta
esb02b
faq
faq/advance
faq/asm
faq/c00-03
faq/c04-07
faq/c08-15
faq/c16-23
faq/c24-31
faq/make
faq/others
faq/qemu
guide
guide03
guide05
guide07
hikarupsp
imp_log/0000
imp_log/0001
imp_log/0002
imp_log/0003
impressions
index
k
killer_elf
kota
lea
lea/10_memory
lea/4_color
lea/idea
lea/terms
links
logs
logs/osa_hrb/comments0000
logs/osa_hrb/rumors0000
masa
members
message
mistakes
moge32
moppoi5168
notice
osdevjp
populars
prog_index
projects
q_and_a
q_and_a_2
qa_log/0000
qa_log/0001
qa_log/0002
qa_log/0003
qa_log/0004
qa_log/0005
qa_log/0006
qa_log/0007
qa_log/0008
qa_log/0009
quark
rankings
rule
sakamoto
sasaki
spc09
spcc_30min_os
tatsu
tools
tools/bim2hrb
tools/bin2obj
tools/cc1
tools/edimg
tools/gas2nask
tools/makefont
tools/nask
tools/obj2bim
tools/sjisconv
uchan
uho
updates
violations
wako
white
win64-bit
x
ytakano
ヘルプ
リックス
質問します
整形ルール
本は買ったぞ!持ってるぞ!
練習用ページ
* ここはおかしいと思うよ のページ -(by [[K]], 2006.02.19) ~ ~ -本の文章でおかしいところを見つけたら教えてください(ご協力をお願いします)。 --誤字や脱字などのレベルの話です。 --確認できたら[[サポートページの正誤表>http://hrb.osask.jp/bugfix.html]]に載せます(多分次の刷があれば反映されます)。 --大規模な修正は次の刷でも修正できないと思いますが、それはごめんなさい。 --「そもそも日本語がなってない!」:すみませんそのとおりです。それはどうかお許しください。 -Wikiや他のサポートページでおかしいと思ったら、[[impressions]]へ。 ---- -初版・第1刷のp.15の「EB4E004845」は間違いでした。正しくは「EB4E904845」です。お詫びして訂正します。 -- [[K]] SIZE(10){2006-02-23 (木) 20:07:41} -初版・第1刷のp.54のリスト内の「エラーがおきなれば」は間違いでした。正しくは「エラーがおきなければ」です。お詫びして訂正します。同様のミスはこのプログラムを改造して作られたプログラムのすべてに引き継がれてしまっています。 -- ''K'' SIZE(10){2006-02-23 (木) 20:14:12} -初版・第1刷のp.671のリスト内の「/* info[3] ; ysize */」は間違いでした。正しくは「/* info[3] : ysize */」です(セミコロンとコロンの違い)。お詫びして訂正します。 -- ''K'' SIZE(10){2006-02-23 (木) 20:22:37} -初版・第1刷のp.31に「enrty」とかかれた部分がありますが、これはスペルミスです。正しくは「entry」です。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-03 (金) 04:13:35} -初版・第1刷のp.60の本文中に「256が色使える」という部分がありますが、これは「256色が使える」の誤りです。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-03 (金) 04:20:50} -初版・第1刷のp.62本文下から2行目のVARMは、VRAMの間違いですね。 -- ''autumngoodluck'' SIZE(10){2006-03-05 (日) 11:59:41} -ご指摘ありがとうございます。そのとおりです。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-05 (日) 12:19:23} -初版・第1刷のp.3の「C言語がたくさんできてきますが」は「C言語がたくさん出てきますが」の間違いでした。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-05 (日) 16:20:09} -初版・第1刷のp.7の脚注のgccの説明の「GNUという団体が作った」は「GNUというプロジェクトが作った」の間違いでした。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-05 (日) 16:24:41} -初版・第1刷のp.21の「連(つら)なっただけもので、」は「連(つら)なっただけのもので、」の誤りです。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-05 (日) 18:32:13} -初版・第1刷のp.82の「筆者も理解しくいと思っていて」は「筆者も理解しにくいと思っていて」の誤りです。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-05 (日) 21:44:42} -初版一刷、harib19g/a_nask.nas にある api_openwin ですが、このファイルだけ EBX を PUSH/POP する処理が消えています。harib20aでは復活しているので、mistakes の方に報告しておきます。 -- [[killer_elf]] SIZE(10){2006-03-06 (月) 18:51:27} -ご指摘ありがとうございます。現在調査中です。しばらくお待ちください。 -- [[K]] SIZE(10){2006-03-06 (月) 21:17:57} -確認しました。確かにおかしいです。EBXのPUSH/POPが抜けているのはバグです。[[bugs]]のほうに転記することにします。見つけにくいバグを見つけてくださってありがとうございました。 -- ''K'' SIZE(10){2006-03-06 (月) 21:56:33} -初版・第1刷のp.7の脚注と同じ表現(GNUという団体)が初版・第1刷のp.46の本文中ほどにあります。 -- ''かりん'' SIZE(10){2006-03-09 (木) 23:13:08} -初版一刷、p.548の最終段落「マウスの右ボタンをはなして...」とありますが、左ボタンの間違いだと思います。 -- [[killer_elf]] SIZE(10){2006-03-10 (金) 00:42:43} -ご指摘ありがとうございます。確認しました。おっしゃるとおりです。初版・第1〜2刷のp.46の「GNUという団体」は「GNUプロジェクト」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-10 (金) 00:47:23} -ご指摘ありがとうございます。確認しました。おっしゃるとおりです。初版・第1〜2刷のp.548の「マウスの右ボタンをはなして」は「マウスの左ボタンをはなして」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-10 (金) 00:49:42} -初版一刷、P185の画像の上の行、「さてbootpack.cのほうのmemtestを削除して…」これは、memtest_subを削除して、の間違いだと思います。 -- ''uchan'' SIZE(10){2006-03-11 (土) 09:38:23} -ご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.185の「さてbootpack.cのほうのmemtestを削除して、」は「さてbootpack.cのほうのmemtest_subを削除して、」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-11 (土) 12:30:43} -初版一刷、p196の2行目「456円を切捨てで100円単位…」は「切り上げ」の間違いだと思います。 -- ''uchan'' SIZE(10){2006-03-11 (土) 22:49:44} -ご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.196の「456円を切捨てで100円単位にするなら、」は「456円を切り上げで100円単位にするなら、」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-12 (日) 00:37:11} -初版一刷、p220、HariMain()の中、「buf_win = (unsigned char *) memman_alloc_4k(...);」ここに、/* ココ! */というコメントが抜けていると思います。 -- ''uchan'' SIZE(10){2006-03-13 (月) 21:19:22} -初版第1刷、P.81真ん中の■■■■■の次の段落で「分かったよう分からないような」は「分かったような分からないような」ではないでしょうか。 -- ''あっきぃ'' SIZE(10){2006-03-14 (火) 17:51:37} -uchanさんご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.220の「bufwin = 」の行末には「/* ココ! */」をつけておくべきでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-14 (火) 18:07:02} -あっきぃさんご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.81の「分かったよう分からないような」は「分かったような分からないような」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-14 (火) 18:29:23} -初版一刷、p265、timer_settime()の一番最後のif文の中、「/* sとtの間に入れる場合た */」、「た」が余計に入ってます。 -- ''uchan'' SIZE(10){2006-03-16 (木) 07:52:48} -初版一刷、p318、fifo32_initの引数「TASK *task」、正しくは「struct TASK *task」だと思います。 -- [[uchan]] SIZE(10){2006-03-16 (木) 17:30:34} -uchanさんご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.265の「/* sとtの間に入れる場合た */」は「/* sとtの間に入れる場合 */」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-17 (金) 11:39:53} -同様に初版・第1〜3刷のp.318のリストの中の「void fifo32_init(struct FIFO32 *fifo, int size, int *buf, TASK *task)」は「void fifo32_init(struct FIFO32 *fifo, int size, int *buf, struct TASK *task)」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-17 (金) 12:24:45} -初版一刷、p342、void HariMain()の中、/* ココから */ /* ココまで */の中にあるif文の後、sheet_refresh()の最後の引数が20になっていますが、CDのソースでは21です。20だと、Tabでウィンドウを切り替えたとき、1pxの青い筋が残ったままになるので、きっと1px増やして21にしたのでしょう。 -- ''uchan'' SIZE(10){2006-03-21 (火) 10:11:01} -uchanさんご指摘ありがとうございます。確認しました。初版・第1〜3刷のp.342の2つのsheet_refresh()の最後の引数が20になっていますが、これは21の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-22 (水) 17:29:24} -初版・第1〜3刷のp.331の最下行に「now_taskというのは、タスクに関する設定をいじる前の、task_nowの結果のことです。」という一文がありますが、この文章は不要で削除しておくべきものでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-22 (水) 17:31:54} -初版・第1〜3刷のp.289のページ見出しの「14-7:おまけ(2)(harib11i……289」は「14-7:おまけ(2)(harib11i)……289」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-23 (木) 08:56:31} -初版二刷p.55のコード中コメント「アドレスを0x200進める」は「アドレスを0x20進める」でしょうか。 -- 名無しさん SIZE(10){2006-03-23 (木) 20:40:00} -いえ、そのコメントはあっています。ESに0x20を加えることで、アドレスを0x200進めているのです(ESは16倍されてアドレスになるため)。 -- [[K]] SIZE(10){2006-03-24 (金) 00:04:02} -「>16倍されて」 なるほど読み足りませんでした。了解です。 -- 名無しさん SIZE(10){2006-03-24 (金) 00:55:59} -初版一刷、p398、下から2行目「/* 32で割り切れたらbreak */」 これと同様の処理がharib16bにも載っているわけですが、harib16bでは「/* 4で割り切れたらbreak */」というコメントになっています。4が32になるのは、20日目の最初にプログラム整理以降の様です。 -- [[uchan]] SIZE(10){2006-03-24 (金) 22:13:12} -初版第2刷のp.89に「ちなみにキャリーフラグはELFAGSの第0ビットです」とありますが、ELFAGSはEFLAGSではないでしょうか。 -- ''いつもROMってる人'' SIZE(10){2006-03-24 (金) 22:51:23} -いつもROMってる人さんご指摘ありがとうございます。確認しました。これに限らず、見つけにくいミスを見つけてくださっているみなさんには本当に感謝です。初版・第1〜3刷のp.89の「ちなみにキャリーフラグはELFAGSの第0ビットです」は、「ちなみにキャリーフラグはEFLAGSの第0ビットです」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-24 (金) 22:58:08} -uchanさんご指摘ありがとうございます。確認しました。最初から32にしてあるほうが自然だと思うのでp.385とp.386のリストを修正いたします。 -- ''K'' SIZE(10){2006-03-24 (金) 23:46:41} -初版一刷、p405、5行目「そしてコンソールで『hrb』と。」 これは「hlt」の間違いだと思います。 -- [[uchan]] SIZE(10){2006-03-25 (土) 09:04:20} -ご指摘ありがとうございます。確認しました。初版・第1〜3刷のp.405の『そしてコンソールで「hrb」と。』は『そしてコンソールで「hlt」と。』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-25 (土) 16:57:33} -初版・第1〜3刷のp.390のリスト内のtypeコマンドの部分に「(中略)」が抜けていました。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-25 (土) 17:52:20} -初版一刷、p463、一行目、「hello2.nasと同じ内容のもの」これは「hello4.c」の間違いだと思います。 -- [[uchan]] SIZE(10){2006-03-31 (金) 19:35:44} -初版一刷P50の、フロッピィディスクの説明で、挿絵も含めて内側からシリンダ0…となっていますが、外側からの間違いではないでしょうか。 -- ''聖人'' SIZE(10){2006-04-01 (土) 21:43:56} -聖人さんご指摘ありがとうございます、そのとおりです。本文が間違っていたせいで挿絵まで間違ってしまいました。初版・第1〜4刷のp.50の「これは内側から」は「これは外側から」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-04-01 (土) 22:46:04} -uchanさんご指摘ありがとうございます。初版・第1〜4刷のp.463の「hello2.nasと同じ内容のものを」は「hello4.nasと同じ内容のものを」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-04-01 (土) 22:47:45} -hello4.nasは本文中に出てきていませんよ。hello4.cは出てきていますが。 -- [[uchan]] SIZE(10){2006-04-02 (日) 09:30:10} -初版一刷、p485、a_nask.nasの中、MOV EAX,[ESP+8]とありますが、これはMOV EBX,[ESP+8]だと思います。 -- [[uchan]] SIZE(10){2006-04-11 (火) 19:51:46} -初版一刷、p508、最後の段落「if (256 <= i && i < 512) だったのです。」は、「if (256 <= i && i <= 511)だったのです。」の間違いだと思います。 -- [[uchan]] SIZE(10){2006-04-15 (土) 16:20:37} -uchanさんへ。3件ともありがとうございました。いずれも正誤表に反映いたしました。 -- [[K]] SIZE(10){2006-04-15 (土) 17:39:56} -初版一刷、p550、bootpack.cの中「sheet_updown(sht_mouse, 2);」の次の行が空行ですが、実際は「key_win = sht_cons[0];」が有ります。その空行は削除し、sheet_updownの次の行に「(中略)」を持ってくるのが良いと思います。 -- [[uchan]] SIZE(10){2006-04-20 (木) 17:47:36} -uchanさんご指摘ありがとうございます。その修正案はなかなかいいのですが、ここは行を追加すると次の関数がページの境界に合わなくて済みそうなので、その方向で修正を加えようと思います。 -- [[K]] SIZE(10){2006-04-24 (月) 07:23:11} -初版四刷、P394、下から2行目「そしてコンソールでhrbコマンドを」。 「hlt」の間違いだと思います。 -- 名無しさん SIZE(10){2006-05-10 (水) 17:09:42} -ご指摘ありがとうございます。確認しました。初版・第1〜5刷のp.394の『そしてコンソールでhrbコマンドを実行します』は『そしてコンソールでhltコマンドを実行します』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-05-10 (水) 22:38:08} -初版第4刷、p.531下から3行目、「2003〜2002」は「2003〜3002」の誤りと思われます。 -- 名無しさん SIZE(10){2006-05-11 (木) 13:12:02} -ご指摘ありがとうございます。確認しました。初版・第1〜5刷のp.531の『2003〜2002になりますが』は『2003〜3002になりますが』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-05-11 (木) 17:01:52} -初版第1刷、P.477上から1行目、「0〜32797」は「0〜32767」の誤りと思われます。というか、本書全体で rand() に絡むところは全てかもしれません。stars.c とか。 -- ''ひよひよ'' SIZE(10){2006-05-13 (土) 07:34:59} -初版第2刷、下から4行目、「条件よっては2クロックで」は「条件によっては2クロックで」の間違いでは? -- ''ぶんた'' SIZE(10){2006-05-13 (土) 13:38:53} -(ぶんたさんへ。ご指摘は大変ありがたいのですが、ページが分からないので確認できません。申し訳ありませんがお教えください。) -- [[K]] SIZE(10){2006-05-13 (土) 16:55:25} -すみませんページを書くのを忘れました。初版第2刷、231ページ、下から4行目、「条件よっては2クロックで」は「条件によっては2クロックで」です。 -- ''ぶんた'' SIZE(10){2006-05-13 (土) 20:53:44} -ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.476、p.477、p.479の『0〜32797』は『0〜32767』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-05-17 (水) 19:29:57} -ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.231の『条件よっては2クロックで』は『条件によっては2クロックで』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-05-17 (水) 20:22:02} -初版第2刷、307ページ、本文下から7行目、「タスクスイッチのするためのプログラムが」は「タスクスイッチをするためのプログラムが」の間違いでは? -- ''ぶんた'' SIZE(10){2006-05-19 (金) 23:03:03} -ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.307の『タスクスイッチのするためのプログラムが』は『タスクスイッチをするためのプログラムが』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-05-23 (火) 00:23:52} -初版第2刷、411ページ、上から2行目、「IDTへの登録ときに」は「IDTへの登録のときに」の間違いでは? -- ''ぶんた'' SIZE(10){2006-06-01 (木) 23:00:09} -初版第4刷、p.673、「0x28c99 % 18432 = 『1193』バイト」は「0x28c99 % 18432 = 『1177』バイト」の誤りと思われます。 -- 名無しさん SIZE(10){2006-06-02 (金) 17:27:47} -初版第4刷、p.117、右シフト演算子の説明で、右シフトした結果空いたビットには0を補うと説明されていますが、空いたビットに必ず0が補われる左シフトとは違い、右シフトは符号ビットを補う「算術シフト」も考慮に入れる必要がありますね。 -- 名無しさん SIZE(10){2006-06-03 (土) 10:44:59} -初版第4刷、p.652、「#define INVALID -0x7fffffff」は「#define INVALID 0x80000000」の方がbetterかと思われます。 -- 名無しさん SIZE(10){2006-06-05 (月) 15:04:46} -ぶんたさん、ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.411の『IDTへの登録ときに』は『IDTへの登録のときに』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-06-06 (火) 08:44:44} -名無しさんへ(それぞれ別の方かもしれませんが、ここではとりあえず同一人物として扱います。同一視されて迷惑なときは適当な仮名をお使いください)。あまりの件は確認中です。ご指摘のとおりであれば直すべきだと僕もそう思います。・・・右シフトの件はおっしゃるとおりですが、この本で出てくる右シフトではすべて正の数が対象になっているので、そういうややこしい説明をあえて避けました。アセンブラの教科書ではないので、そのような厳格な説明をするよりは、処理の説明の話の腰をおらないようにするべきだと考えています。したがって間違いではありません。・・・INVALIDの件も、0x80000000だとプラスの数だがオーバーフローしている、という警告がでてうっとうしくなる懸念があって、かといってそのためにunsignedにしたりしなかったりするのは話をややこしくするだけだと考え、あえて-0x7fffffffにしています。以上のような考えにより、0x80000000のほうがbetterだとは思いません。・・・いずれにせよ、3つのうちのうしろの2つは「誤字や脱字などのレベルの話」ではないと思うので、このような話題は以後はこちらではなく[[impressions]]にお書きください(バグに相当すると思われる場合は[[bugs]]に)。 -- ''K'' SIZE(10){2006-06-06 (火) 14:35:38} -初版第4刷411・413ページの下のタイトルが「プアプリケーション〜〜〜」となっています。正しくは、「アプリケーション〜〜〜」ではないでしょうか? -- ''Clover'' SIZE(10){2006-06-30 (金) 05:36:06} -ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.411、p.413のページの下のタイトルの『プアプリケーション名を自由に』は『アプリケーション名を自由に』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-07-01 (土) 12:56:23} -P.167とP.168にまたがってるasmhead.nasの一部のところですが、「pipelineflash」は「pipelineflush」の間違いではないでしょうか? -- ''kabus'' SIZE(10){2006-07-09 (日) 19:00:02} -初版第3刷77・79・81ページの下のタイトルが「4-3:C言語からメモリに書き込みたい(harib01a)・・・・・・・・」となっているのですが、「4-3:ポインタに挑戦(harib01c)・・・・・・・・」の間違いなのではないのでしょうか? -- 名無しさん SIZE(10){2006-07-15 (土) 00:31:42} -kabusさんへ。おっしゃるとおり、パイプラインフラッシュのスペルは、 pipeline flush が正しいようです。機会があればソースといっしょに本文を修正したいです。名無しさんの指摘については現在確認中です。 -- [[K]] SIZE(10){2006-07-20 (木) 18:01:08} -名無しさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.77〜81のページの下のタイトルの『C言語からメモリに書き込みたい(harib01a)』は『ポインタに挑戦(harib01c)』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-07-24 (月) 12:30:23} -初版第2刷 p.125の4行目「満タンになってします。」は「満タンになってしまいます。」ではないでしょうか? -- 名無しさん SIZE(10){2006-07-29 (土) 18:23:32} -初版初刷 p.220の1行目「graph.c」は「graphic.c」だと思います。 -- [[Akkie]] SIZE(10){2006-08-05 (土) 22:25:25} -名無しさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜7刷のp.125の『構造体は満タンになってします。』は『構造体は満タンになってしまいます。』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-08-07 (月) 20:20:57} -Akkieさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜7刷のp.220の『これはgraph.cのinit_screen8を改造した程度のものです。』は『これはgraphic.cのinit_screen8を改造した程度のものです。』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-08-07 (月) 20:24:13} -初版第5刷p.90〜91 「GLOBAL」にて、 「io_stihlt」 は 「_io_stihlt」 だと思いました。 それと 「_io_out16」 にて、 「MOV EAX,[ESP+8]」 は 「MOV AX,[ESP+8]」 ではないかなと思ったんですがどうでしょうか。 -- ''yuya'' SIZE(10){2006-08-11 (金) 21:23:59} -yuyaさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜7刷のp.90のリスト内の『GLOBAL _io_hlt, _io_cli, _io_sti, io_stihlt』は『GLOBAL _io_hlt, _io_cli, _io_sti, _io_stihlt』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-08-12 (土) 10:49:18} -しかし MOV EAX,[ESP+8] は間違いではなくこれであっています。もちろんAXでも問題なく動作しますし、EAXにすると必要のない2バイトもメモリから読み取ることになるのですが、32bitモードの場合はAXを使うよりもEAXを使うほうが機械語が短くなる上に実行速度も速いので、わざとEAXにしています。 -- ''K'' SIZE(10){2006-08-12 (土) 10:51:58} -初版第3刷p255、性能測定で、harib10,harib09 no -- ''DEVE'' SIZE(10){2006-09-18 (月) 01:09:44} -↑(続き)の記述がおかしいような… 真ん中あたり、harib10cとharib10d の比較は、harib10cとharib09dの比較では? -- ''DEVE'' SIZE(10){2006-09-18 (月) 01:11:24} -初版初刷p.395の最後の行「あしたもがんばる''そ''ー、おー!」は、「あしたもがんばる''ぞ''ー、おー!」かな、と思います。 -- [[あっきぃ>Akkie]] SIZE(10){2006-09-18 (月) 07:57:52} -DEVEさんへ。この部分をなぜおかしいと思われたのかが分かりませんので説明があっているかどうかわからないのですが、一応書いておきます。意図していることは確かにharib09dの頃のプログラムとharib10cのプログラムとの比較です。しかしharib09dからharib10cへの変更点は比較したい部分だけにとどまらないので、純粋な比較ができません。それで条件をできるだけ揃えたharib10dを作り、これとharib10cとを比べています。この比較結果を素直に受け止めて、本文中でもharib10cとharib10dとの比較と記述しています。 -- [[K]] SIZE(10){2006-09-18 (月) 19:40:27} -すみません。僕の勘違いでした。すぐ上の所に書いてありましたね…数字の羅列が多かったので読み飛ばしていたようです。お手数かけました。 (ちなみに、この本は非常に読みやすく楽しいです。今後も頑張ってください。) -- ''DEVE'' SIZE(10){2006-09-19 (火) 22:01:34} -あっきぃさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜7刷のp.395の『あしたもがんばるそー、おー!』は『あしたもがんばるぞー、おー!』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-09-23 (土) 21:43:44} -初版・第1〜7刷のp.170の脚注の『substract』は『subtract』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-10-30 (月) 19:21:49} -第7刷のp.293 4行目。『次に実行する命令がメモリのどの番地あるか』 。多分、『次に実行する命令がメモリのどの番地にあるか』の脱字だと思います -- ''hideyosi'' SIZE(10){2007-01-08 (月) 00:07:49} -第7刷のP418。下から4行目。『でPUSHDを使わすに、』は、『でPUSHDを使わずに』だと思います。 -- ''hideyosi'' SIZE(10){2007-01-13 (土) 23:30:07} -初版第1刷、P127、上から8行目「programable」は「programmable」だと思います。(mが二つ連続する) -- ''uchan'' SIZE(10){2007-03-11 (日) 09:53:00} -初版第7版p176の下から8行目。CPUの速さについてこれられるようなー>CPUの速さについてこられるような。”れ”が1個不要だと思います。 -- ''ざんに'' SIZE(10){2007-03-12 (月) 16:06:44} -初版第7版p596のsosu3.cのリストの上から3行目。#define MAX 1000 --> #define MAX 10000。1000が修正されていません。 -- ''ざんに'' SIZE(10){2007-03-12 (月) 16:16:28} -hideyosiさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜8刷のp.293の『次に実行する命令がメモリのどの番地あるか』は『次に実行する命令がメモリのどの番地にあるか』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2007-05-25 (金) 07:25:27} -hideyosiさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜8刷のp.418の『_asm_hrb_apiでPUSHADを使わすに、』は『_asm_hrb_apiでPUSHADを使わずに、』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2007-05-26 (土) 01:21:01} -初版第6刷p316以降にあるtask_b->eip = (int) &task_b_main;という記述なんですが、関数名自体が関数のポインタを示してるのでアドレス演算子をつけるのは間違いではないでしょうか。 -- [[Flast]] SIZE(10){2007-06-24 (日) 18:30:42} -間違いではありません。わかった上でわざとやっています。間違いではない理由:ANSI-Cでは関数のポインタをあらわすときに、&をつけてもつけなくてもいいことになっています。そして実際、CD-ROMについているコンパイラではエラーになりません。もしかしたら他のコンパイラでは挙動が異なるのかもしれないですが、それはそれがANSI-Cに従っていないだけなので、僕の責任ではないと考えています(続く)。 -- [[K]] SIZE(10){2007-06-25 (月) 01:14:10} -わざとやる理由:ANSI-Cでは確かに関数名を書くだけで関数へのポインタを表せることになっていますが、それは本来を&と書くべきところを、面倒だから書くのを省略できるようにしただけだろうと思います(たった一文字のために)(これは僕の勝手な推測なので違うかもしれません。その場合については後に説明します)。そうであれば、まずは本来の書き方で本を書くべきだと思いますし、&をつけるほうが読者はポインタであることを意識できるでしょう(可読性があがる)(続く)。 -- ''K'' SIZE(10){2007-06-25 (月) 01:20:08} -わざとやる理由の続き:もしかしたら&をつけない記法こそ本来の記法なのかもしれません。でももしそうだとすると、今度はなぜ&をつける表記をわざわざ許容することにしたのか疑問です。 http://kmaebashi.com/programmer/pointer.html のページの方が「関数へのポインタ」でいわれているとおり、この許容はANSI-Cの仕様を非常に複雑にしています。それだけの犠牲を払ってでも&をつけることを許す理由があったはずです。それは何かといえば、もちろんプログラムを1文字長くしたいからではないはずで、読みやすくなると考えたか、もしくはこのような表記を許してほしいと願うプログラマが多かったからでしょう。僕は「この方が読みやすくなる(=理解しやすくなる)」と感じています。それゆえに、本ではこの書き方でやりました。 -- ''K'' SIZE(10){2007-06-25 (月) 01:26:30} -なるほどわかりましたANSI-Cまでは規格判ってなかったので正しかったのですね。C++のコンパイラでやったときに引っかかったんでどうなんだろと思ったんですが、規格として成り立ってるなら問題ないですね。説明ありがとうございました。 -- [[Flast]] SIZE(10){2007-06-25 (月) 01:55:16} -初版第6刷p401にある2箇所のfor(j = 0; j < 11; j++)は最後の要素が評価されないのでfor(j = 0; j < 12; j++)ではないですか? -- [[Flast]] SIZE(10){2007-06-27 (水) 23:23:46} -初版第6刷p634のリスト(cmd_appの変更)についてですが、一つ目のset_segmdescの引数が変更点として書かれていません。すぐ下の文章にはfinfo->sizeをappsizに置き換えると書いてあるのですが何かの都合で省略されたのでしょうか?付録のCDでは変更されていたのでbugsではなくこちらに報告しました。 -- ''j'' SIZE(10){2008-02-05 (火) 01:55:32} -(Flastさんの質問については[[impressions]]に回答があります。) -- [[K]] SIZE(10){2008-02-05 (火) 19:29:58} -jさんへ。全くもってご指摘の通りのミスでした。ご指摘の箇所を変更点に含め忘れてしまいました。どうもすみません。お詫びして訂正いたします。 -- [[K]] SIZE(10){2008-02-05 (火) 19:43:05} -初版第1刷p.637のリスト(putchar.c)のすぐ上の行「これはapi_putcharを使えは」は「これはapi_putcharを使え''ば''」の間違いだと思います。 -- ''uchan'' SIZE(10){2008-02-23 (土) 08:20:48} -初版第4刷p.411のスクリーンショットの下のコメント、「無事にこんちにはー」は「無事にこんにちはー」の間違いだと思います。 -- [[aotatsu]] SIZE(10){2009-01-23 (金) 22:55:19} -初版第12刷p112の、下部「ページング」の説明において、「ページングによる解決は4GBをタスクの数だけ作り」は「ページングによる解決は4KBをタスクの数だけ作り」の間違いだと思います。タスクの数だけ4GBを作ったら今のWindows搭載PCはほとんど動きません。 -- [[Triangle Ld.>Triangle_Ld.]] SIZE(10){2010-03-17 (水) 20:07:13} ->>Triangle Ld.さん 間違いではありません。ページングによる解決では、メモリはそのアドレスに始めてアクセスしたときに割り当てられる(ようにOSを作る)ので、4GBすべてにアクセスしない限りメモリが不足することはありません。 -- 名無しさん SIZE(10){2010-03-17 (水) 23:42:45} -初版第12刷480pの、dxとdyの説明のところで、「でも逆にdyとdyを…」は、「でも逆にdxとdyを…」の間違いだと思います。 -- [[hikarupsp]] SIZE(10){2010-11-07 (日) 21:23:23} -初版第12刷292pの「これは「task status segment」(タスク状態セグメント)と呼ばれていて…」の「task status segment」は、「task state segment」(status -> state)の誤りではないでしょうか。Intelの資料には、日本語版と英語版両方に、「task state segment」「タスク・ステート・セグメント」との記述がありました。 -- [[hikarupsp]] SIZE(10){2011-10-08 (土) 16:06:22} -http://hrb.osask.jp/bugfix.html の正誤表のページにおいて,〜…第9刷 の p.401 と p.495 の正誤は 〜…第7刷 の正誤と同一です.(第9刷でそのミスが復活したのでしたら,いいのですが.) また,〜…第9刷 の p.401 の正誤が間違っています.(finfo[i]. とすべきところを fifo[i]. としている.) -- ''mki'' SIZE(10){2018-10-03 (水) 20:55:16} #comment
タイムスタンプを変更しない
* ここはおかしいと思うよ のページ -(by [[K]], 2006.02.19) ~ ~ -本の文章でおかしいところを見つけたら教えてください(ご協力をお願いします)。 --誤字や脱字などのレベルの話です。 --確認できたら[[サポートページの正誤表>http://hrb.osask.jp/bugfix.html]]に載せます(多分次の刷があれば反映されます)。 --大規模な修正は次の刷でも修正できないと思いますが、それはごめんなさい。 --「そもそも日本語がなってない!」:すみませんそのとおりです。それはどうかお許しください。 -Wikiや他のサポートページでおかしいと思ったら、[[impressions]]へ。 ---- -初版・第1刷のp.15の「EB4E004845」は間違いでした。正しくは「EB4E904845」です。お詫びして訂正します。 -- [[K]] SIZE(10){2006-02-23 (木) 20:07:41} -初版・第1刷のp.54のリスト内の「エラーがおきなれば」は間違いでした。正しくは「エラーがおきなければ」です。お詫びして訂正します。同様のミスはこのプログラムを改造して作られたプログラムのすべてに引き継がれてしまっています。 -- ''K'' SIZE(10){2006-02-23 (木) 20:14:12} -初版・第1刷のp.671のリスト内の「/* info[3] ; ysize */」は間違いでした。正しくは「/* info[3] : ysize */」です(セミコロンとコロンの違い)。お詫びして訂正します。 -- ''K'' SIZE(10){2006-02-23 (木) 20:22:37} -初版・第1刷のp.31に「enrty」とかかれた部分がありますが、これはスペルミスです。正しくは「entry」です。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-03 (金) 04:13:35} -初版・第1刷のp.60の本文中に「256が色使える」という部分がありますが、これは「256色が使える」の誤りです。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-03 (金) 04:20:50} -初版・第1刷のp.62本文下から2行目のVARMは、VRAMの間違いですね。 -- ''autumngoodluck'' SIZE(10){2006-03-05 (日) 11:59:41} -ご指摘ありがとうございます。そのとおりです。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-05 (日) 12:19:23} -初版・第1刷のp.3の「C言語がたくさんできてきますが」は「C言語がたくさん出てきますが」の間違いでした。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-05 (日) 16:20:09} -初版・第1刷のp.7の脚注のgccの説明の「GNUという団体が作った」は「GNUというプロジェクトが作った」の間違いでした。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-05 (日) 16:24:41} -初版・第1刷のp.21の「連(つら)なっただけもので、」は「連(つら)なっただけのもので、」の誤りです。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-05 (日) 18:32:13} -初版・第1刷のp.82の「筆者も理解しくいと思っていて」は「筆者も理解しにくいと思っていて」の誤りです。お詫びして訂正します。 -- ''K'' SIZE(10){2006-03-05 (日) 21:44:42} -初版一刷、harib19g/a_nask.nas にある api_openwin ですが、このファイルだけ EBX を PUSH/POP する処理が消えています。harib20aでは復活しているので、mistakes の方に報告しておきます。 -- [[killer_elf]] SIZE(10){2006-03-06 (月) 18:51:27} -ご指摘ありがとうございます。現在調査中です。しばらくお待ちください。 -- [[K]] SIZE(10){2006-03-06 (月) 21:17:57} -確認しました。確かにおかしいです。EBXのPUSH/POPが抜けているのはバグです。[[bugs]]のほうに転記することにします。見つけにくいバグを見つけてくださってありがとうございました。 -- ''K'' SIZE(10){2006-03-06 (月) 21:56:33} -初版・第1刷のp.7の脚注と同じ表現(GNUという団体)が初版・第1刷のp.46の本文中ほどにあります。 -- ''かりん'' SIZE(10){2006-03-09 (木) 23:13:08} -初版一刷、p.548の最終段落「マウスの右ボタンをはなして...」とありますが、左ボタンの間違いだと思います。 -- [[killer_elf]] SIZE(10){2006-03-10 (金) 00:42:43} -ご指摘ありがとうございます。確認しました。おっしゃるとおりです。初版・第1〜2刷のp.46の「GNUという団体」は「GNUプロジェクト」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-10 (金) 00:47:23} -ご指摘ありがとうございます。確認しました。おっしゃるとおりです。初版・第1〜2刷のp.548の「マウスの右ボタンをはなして」は「マウスの左ボタンをはなして」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-10 (金) 00:49:42} -初版一刷、P185の画像の上の行、「さてbootpack.cのほうのmemtestを削除して…」これは、memtest_subを削除して、の間違いだと思います。 -- ''uchan'' SIZE(10){2006-03-11 (土) 09:38:23} -ご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.185の「さてbootpack.cのほうのmemtestを削除して、」は「さてbootpack.cのほうのmemtest_subを削除して、」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-11 (土) 12:30:43} -初版一刷、p196の2行目「456円を切捨てで100円単位…」は「切り上げ」の間違いだと思います。 -- ''uchan'' SIZE(10){2006-03-11 (土) 22:49:44} -ご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.196の「456円を切捨てで100円単位にするなら、」は「456円を切り上げで100円単位にするなら、」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-12 (日) 00:37:11} -初版一刷、p220、HariMain()の中、「buf_win = (unsigned char *) memman_alloc_4k(...);」ここに、/* ココ! */というコメントが抜けていると思います。 -- ''uchan'' SIZE(10){2006-03-13 (月) 21:19:22} -初版第1刷、P.81真ん中の■■■■■の次の段落で「分かったよう分からないような」は「分かったような分からないような」ではないでしょうか。 -- ''あっきぃ'' SIZE(10){2006-03-14 (火) 17:51:37} -uchanさんご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.220の「bufwin = 」の行末には「/* ココ! */」をつけておくべきでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-14 (火) 18:07:02} -あっきぃさんご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.81の「分かったよう分からないような」は「分かったような分からないような」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-14 (火) 18:29:23} -初版一刷、p265、timer_settime()の一番最後のif文の中、「/* sとtの間に入れる場合た */」、「た」が余計に入ってます。 -- ''uchan'' SIZE(10){2006-03-16 (木) 07:52:48} -初版一刷、p318、fifo32_initの引数「TASK *task」、正しくは「struct TASK *task」だと思います。 -- [[uchan]] SIZE(10){2006-03-16 (木) 17:30:34} -uchanさんご指摘ありがとうございます。おっしゃるとおりです。初版・第1〜3刷のp.265の「/* sとtの間に入れる場合た */」は「/* sとtの間に入れる場合 */」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-17 (金) 11:39:53} -同様に初版・第1〜3刷のp.318のリストの中の「void fifo32_init(struct FIFO32 *fifo, int size, int *buf, TASK *task)」は「void fifo32_init(struct FIFO32 *fifo, int size, int *buf, struct TASK *task)」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-17 (金) 12:24:45} -初版一刷、p342、void HariMain()の中、/* ココから */ /* ココまで */の中にあるif文の後、sheet_refresh()の最後の引数が20になっていますが、CDのソースでは21です。20だと、Tabでウィンドウを切り替えたとき、1pxの青い筋が残ったままになるので、きっと1px増やして21にしたのでしょう。 -- ''uchan'' SIZE(10){2006-03-21 (火) 10:11:01} -uchanさんご指摘ありがとうございます。確認しました。初版・第1〜3刷のp.342の2つのsheet_refresh()の最後の引数が20になっていますが、これは21の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-22 (水) 17:29:24} -初版・第1〜3刷のp.331の最下行に「now_taskというのは、タスクに関する設定をいじる前の、task_nowの結果のことです。」という一文がありますが、この文章は不要で削除しておくべきものでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-22 (水) 17:31:54} -初版・第1〜3刷のp.289のページ見出しの「14-7:おまけ(2)(harib11i……289」は「14-7:おまけ(2)(harib11i)……289」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-23 (木) 08:56:31} -初版二刷p.55のコード中コメント「アドレスを0x200進める」は「アドレスを0x20進める」でしょうか。 -- 名無しさん SIZE(10){2006-03-23 (木) 20:40:00} -いえ、そのコメントはあっています。ESに0x20を加えることで、アドレスを0x200進めているのです(ESは16倍されてアドレスになるため)。 -- [[K]] SIZE(10){2006-03-24 (金) 00:04:02} -「>16倍されて」 なるほど読み足りませんでした。了解です。 -- 名無しさん SIZE(10){2006-03-24 (金) 00:55:59} -初版一刷、p398、下から2行目「/* 32で割り切れたらbreak */」 これと同様の処理がharib16bにも載っているわけですが、harib16bでは「/* 4で割り切れたらbreak */」というコメントになっています。4が32になるのは、20日目の最初にプログラム整理以降の様です。 -- [[uchan]] SIZE(10){2006-03-24 (金) 22:13:12} -初版第2刷のp.89に「ちなみにキャリーフラグはELFAGSの第0ビットです」とありますが、ELFAGSはEFLAGSではないでしょうか。 -- ''いつもROMってる人'' SIZE(10){2006-03-24 (金) 22:51:23} -いつもROMってる人さんご指摘ありがとうございます。確認しました。これに限らず、見つけにくいミスを見つけてくださっているみなさんには本当に感謝です。初版・第1〜3刷のp.89の「ちなみにキャリーフラグはELFAGSの第0ビットです」は、「ちなみにキャリーフラグはEFLAGSの第0ビットです」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-24 (金) 22:58:08} -uchanさんご指摘ありがとうございます。確認しました。最初から32にしてあるほうが自然だと思うのでp.385とp.386のリストを修正いたします。 -- ''K'' SIZE(10){2006-03-24 (金) 23:46:41} -初版一刷、p405、5行目「そしてコンソールで『hrb』と。」 これは「hlt」の間違いだと思います。 -- [[uchan]] SIZE(10){2006-03-25 (土) 09:04:20} -ご指摘ありがとうございます。確認しました。初版・第1〜3刷のp.405の『そしてコンソールで「hrb」と。』は『そしてコンソールで「hlt」と。』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-03-25 (土) 16:57:33} -初版・第1〜3刷のp.390のリスト内のtypeコマンドの部分に「(中略)」が抜けていました。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-03-25 (土) 17:52:20} -初版一刷、p463、一行目、「hello2.nasと同じ内容のもの」これは「hello4.c」の間違いだと思います。 -- [[uchan]] SIZE(10){2006-03-31 (金) 19:35:44} -初版一刷P50の、フロッピィディスクの説明で、挿絵も含めて内側からシリンダ0…となっていますが、外側からの間違いではないでしょうか。 -- ''聖人'' SIZE(10){2006-04-01 (土) 21:43:56} -聖人さんご指摘ありがとうございます、そのとおりです。本文が間違っていたせいで挿絵まで間違ってしまいました。初版・第1〜4刷のp.50の「これは内側から」は「これは外側から」の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-04-01 (土) 22:46:04} -uchanさんご指摘ありがとうございます。初版・第1〜4刷のp.463の「hello2.nasと同じ内容のものを」は「hello4.nasと同じ内容のものを」の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-04-01 (土) 22:47:45} -hello4.nasは本文中に出てきていませんよ。hello4.cは出てきていますが。 -- [[uchan]] SIZE(10){2006-04-02 (日) 09:30:10} -初版一刷、p485、a_nask.nasの中、MOV EAX,[ESP+8]とありますが、これはMOV EBX,[ESP+8]だと思います。 -- [[uchan]] SIZE(10){2006-04-11 (火) 19:51:46} -初版一刷、p508、最後の段落「if (256 <= i && i < 512) だったのです。」は、「if (256 <= i && i <= 511)だったのです。」の間違いだと思います。 -- [[uchan]] SIZE(10){2006-04-15 (土) 16:20:37} -uchanさんへ。3件ともありがとうございました。いずれも正誤表に反映いたしました。 -- [[K]] SIZE(10){2006-04-15 (土) 17:39:56} -初版一刷、p550、bootpack.cの中「sheet_updown(sht_mouse, 2);」の次の行が空行ですが、実際は「key_win = sht_cons[0];」が有ります。その空行は削除し、sheet_updownの次の行に「(中略)」を持ってくるのが良いと思います。 -- [[uchan]] SIZE(10){2006-04-20 (木) 17:47:36} -uchanさんご指摘ありがとうございます。その修正案はなかなかいいのですが、ここは行を追加すると次の関数がページの境界に合わなくて済みそうなので、その方向で修正を加えようと思います。 -- [[K]] SIZE(10){2006-04-24 (月) 07:23:11} -初版四刷、P394、下から2行目「そしてコンソールでhrbコマンドを」。 「hlt」の間違いだと思います。 -- 名無しさん SIZE(10){2006-05-10 (水) 17:09:42} -ご指摘ありがとうございます。確認しました。初版・第1〜5刷のp.394の『そしてコンソールでhrbコマンドを実行します』は『そしてコンソールでhltコマンドを実行します』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-05-10 (水) 22:38:08} -初版第4刷、p.531下から3行目、「2003〜2002」は「2003〜3002」の誤りと思われます。 -- 名無しさん SIZE(10){2006-05-11 (木) 13:12:02} -ご指摘ありがとうございます。確認しました。初版・第1〜5刷のp.531の『2003〜2002になりますが』は『2003〜3002になりますが』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-05-11 (木) 17:01:52} -初版第1刷、P.477上から1行目、「0〜32797」は「0〜32767」の誤りと思われます。というか、本書全体で rand() に絡むところは全てかもしれません。stars.c とか。 -- ''ひよひよ'' SIZE(10){2006-05-13 (土) 07:34:59} -初版第2刷、下から4行目、「条件よっては2クロックで」は「条件によっては2クロックで」の間違いでは? -- ''ぶんた'' SIZE(10){2006-05-13 (土) 13:38:53} -(ぶんたさんへ。ご指摘は大変ありがたいのですが、ページが分からないので確認できません。申し訳ありませんがお教えください。) -- [[K]] SIZE(10){2006-05-13 (土) 16:55:25} -すみませんページを書くのを忘れました。初版第2刷、231ページ、下から4行目、「条件よっては2クロックで」は「条件によっては2クロックで」です。 -- ''ぶんた'' SIZE(10){2006-05-13 (土) 20:53:44} -ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.476、p.477、p.479の『0〜32797』は『0〜32767』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-05-17 (水) 19:29:57} -ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.231の『条件よっては2クロックで』は『条件によっては2クロックで』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-05-17 (水) 20:22:02} -初版第2刷、307ページ、本文下から7行目、「タスクスイッチのするためのプログラムが」は「タスクスイッチをするためのプログラムが」の間違いでは? -- ''ぶんた'' SIZE(10){2006-05-19 (金) 23:03:03} -ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.307の『タスクスイッチのするためのプログラムが』は『タスクスイッチをするためのプログラムが』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-05-23 (火) 00:23:52} -初版第2刷、411ページ、上から2行目、「IDTへの登録ときに」は「IDTへの登録のときに」の間違いでは? -- ''ぶんた'' SIZE(10){2006-06-01 (木) 23:00:09} -初版第4刷、p.673、「0x28c99 % 18432 = 『1193』バイト」は「0x28c99 % 18432 = 『1177』バイト」の誤りと思われます。 -- 名無しさん SIZE(10){2006-06-02 (金) 17:27:47} -初版第4刷、p.117、右シフト演算子の説明で、右シフトした結果空いたビットには0を補うと説明されていますが、空いたビットに必ず0が補われる左シフトとは違い、右シフトは符号ビットを補う「算術シフト」も考慮に入れる必要がありますね。 -- 名無しさん SIZE(10){2006-06-03 (土) 10:44:59} -初版第4刷、p.652、「#define INVALID -0x7fffffff」は「#define INVALID 0x80000000」の方がbetterかと思われます。 -- 名無しさん SIZE(10){2006-06-05 (月) 15:04:46} -ぶんたさん、ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.411の『IDTへの登録ときに』は『IDTへの登録のときに』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-06-06 (火) 08:44:44} -名無しさんへ(それぞれ別の方かもしれませんが、ここではとりあえず同一人物として扱います。同一視されて迷惑なときは適当な仮名をお使いください)。あまりの件は確認中です。ご指摘のとおりであれば直すべきだと僕もそう思います。・・・右シフトの件はおっしゃるとおりですが、この本で出てくる右シフトではすべて正の数が対象になっているので、そういうややこしい説明をあえて避けました。アセンブラの教科書ではないので、そのような厳格な説明をするよりは、処理の説明の話の腰をおらないようにするべきだと考えています。したがって間違いではありません。・・・INVALIDの件も、0x80000000だとプラスの数だがオーバーフローしている、という警告がでてうっとうしくなる懸念があって、かといってそのためにunsignedにしたりしなかったりするのは話をややこしくするだけだと考え、あえて-0x7fffffffにしています。以上のような考えにより、0x80000000のほうがbetterだとは思いません。・・・いずれにせよ、3つのうちのうしろの2つは「誤字や脱字などのレベルの話」ではないと思うので、このような話題は以後はこちらではなく[[impressions]]にお書きください(バグに相当すると思われる場合は[[bugs]]に)。 -- ''K'' SIZE(10){2006-06-06 (火) 14:35:38} -初版第4刷411・413ページの下のタイトルが「プアプリケーション〜〜〜」となっています。正しくは、「アプリケーション〜〜〜」ではないでしょうか? -- ''Clover'' SIZE(10){2006-06-30 (金) 05:36:06} -ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.411、p.413のページの下のタイトルの『プアプリケーション名を自由に』は『アプリケーション名を自由に』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-07-01 (土) 12:56:23} -P.167とP.168にまたがってるasmhead.nasの一部のところですが、「pipelineflash」は「pipelineflush」の間違いではないでしょうか? -- ''kabus'' SIZE(10){2006-07-09 (日) 19:00:02} -初版第3刷77・79・81ページの下のタイトルが「4-3:C言語からメモリに書き込みたい(harib01a)・・・・・・・・」となっているのですが、「4-3:ポインタに挑戦(harib01c)・・・・・・・・」の間違いなのではないのでしょうか? -- 名無しさん SIZE(10){2006-07-15 (土) 00:31:42} -kabusさんへ。おっしゃるとおり、パイプラインフラッシュのスペルは、 pipeline flush が正しいようです。機会があればソースといっしょに本文を修正したいです。名無しさんの指摘については現在確認中です。 -- [[K]] SIZE(10){2006-07-20 (木) 18:01:08} -名無しさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜6刷のp.77〜81のページの下のタイトルの『C言語からメモリに書き込みたい(harib01a)』は『ポインタに挑戦(harib01c)』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-07-24 (月) 12:30:23} -初版第2刷 p.125の4行目「満タンになってします。」は「満タンになってしまいます。」ではないでしょうか? -- 名無しさん SIZE(10){2006-07-29 (土) 18:23:32} -初版初刷 p.220の1行目「graph.c」は「graphic.c」だと思います。 -- [[Akkie]] SIZE(10){2006-08-05 (土) 22:25:25} -名無しさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜7刷のp.125の『構造体は満タンになってします。』は『構造体は満タンになってしまいます。』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-08-07 (月) 20:20:57} -Akkieさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜7刷のp.220の『これはgraph.cのinit_screen8を改造した程度のものです。』は『これはgraphic.cのinit_screen8を改造した程度のものです。』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-08-07 (月) 20:24:13} -初版第5刷p.90〜91 「GLOBAL」にて、 「io_stihlt」 は 「_io_stihlt」 だと思いました。 それと 「_io_out16」 にて、 「MOV EAX,[ESP+8]」 は 「MOV AX,[ESP+8]」 ではないかなと思ったんですがどうでしょうか。 -- ''yuya'' SIZE(10){2006-08-11 (金) 21:23:59} -yuyaさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜7刷のp.90のリスト内の『GLOBAL _io_hlt, _io_cli, _io_sti, io_stihlt』は『GLOBAL _io_hlt, _io_cli, _io_sti, _io_stihlt』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-08-12 (土) 10:49:18} -しかし MOV EAX,[ESP+8] は間違いではなくこれであっています。もちろんAXでも問題なく動作しますし、EAXにすると必要のない2バイトもメモリから読み取ることになるのですが、32bitモードの場合はAXを使うよりもEAXを使うほうが機械語が短くなる上に実行速度も速いので、わざとEAXにしています。 -- ''K'' SIZE(10){2006-08-12 (土) 10:51:58} -初版第3刷p255、性能測定で、harib10,harib09 no -- ''DEVE'' SIZE(10){2006-09-18 (月) 01:09:44} -↑(続き)の記述がおかしいような… 真ん中あたり、harib10cとharib10d の比較は、harib10cとharib09dの比較では? -- ''DEVE'' SIZE(10){2006-09-18 (月) 01:11:24} -初版初刷p.395の最後の行「あしたもがんばる''そ''ー、おー!」は、「あしたもがんばる''ぞ''ー、おー!」かな、と思います。 -- [[あっきぃ>Akkie]] SIZE(10){2006-09-18 (月) 07:57:52} -DEVEさんへ。この部分をなぜおかしいと思われたのかが分かりませんので説明があっているかどうかわからないのですが、一応書いておきます。意図していることは確かにharib09dの頃のプログラムとharib10cのプログラムとの比較です。しかしharib09dからharib10cへの変更点は比較したい部分だけにとどまらないので、純粋な比較ができません。それで条件をできるだけ揃えたharib10dを作り、これとharib10cとを比べています。この比較結果を素直に受け止めて、本文中でもharib10cとharib10dとの比較と記述しています。 -- [[K]] SIZE(10){2006-09-18 (月) 19:40:27} -すみません。僕の勘違いでした。すぐ上の所に書いてありましたね…数字の羅列が多かったので読み飛ばしていたようです。お手数かけました。 (ちなみに、この本は非常に読みやすく楽しいです。今後も頑張ってください。) -- ''DEVE'' SIZE(10){2006-09-19 (火) 22:01:34} -あっきぃさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜7刷のp.395の『あしたもがんばるそー、おー!』は『あしたもがんばるぞー、おー!』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2006-09-23 (土) 21:43:44} -初版・第1〜7刷のp.170の脚注の『substract』は『subtract』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2006-10-30 (月) 19:21:49} -第7刷のp.293 4行目。『次に実行する命令がメモリのどの番地あるか』 。多分、『次に実行する命令がメモリのどの番地にあるか』の脱字だと思います -- ''hideyosi'' SIZE(10){2007-01-08 (月) 00:07:49} -第7刷のP418。下から4行目。『でPUSHDを使わすに、』は、『でPUSHDを使わずに』だと思います。 -- ''hideyosi'' SIZE(10){2007-01-13 (土) 23:30:07} -初版第1刷、P127、上から8行目「programable」は「programmable」だと思います。(mが二つ連続する) -- ''uchan'' SIZE(10){2007-03-11 (日) 09:53:00} -初版第7版p176の下から8行目。CPUの速さについてこれられるようなー>CPUの速さについてこられるような。”れ”が1個不要だと思います。 -- ''ざんに'' SIZE(10){2007-03-12 (月) 16:06:44} -初版第7版p596のsosu3.cのリストの上から3行目。#define MAX 1000 --> #define MAX 10000。1000が修正されていません。 -- ''ざんに'' SIZE(10){2007-03-12 (月) 16:16:28} -hideyosiさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜8刷のp.293の『次に実行する命令がメモリのどの番地あるか』は『次に実行する命令がメモリのどの番地にあるか』の誤りでした。お詫びして訂正いたします。 -- [[K]] SIZE(10){2007-05-25 (金) 07:25:27} -hideyosiさんへ。ご指摘ありがとうございます。確認しました。初版・第1〜8刷のp.418の『_asm_hrb_apiでPUSHADを使わすに、』は『_asm_hrb_apiでPUSHADを使わずに、』の誤りでした。お詫びして訂正いたします。 -- ''K'' SIZE(10){2007-05-26 (土) 01:21:01} -初版第6刷p316以降にあるtask_b->eip = (int) &task_b_main;という記述なんですが、関数名自体が関数のポインタを示してるのでアドレス演算子をつけるのは間違いではないでしょうか。 -- [[Flast]] SIZE(10){2007-06-24 (日) 18:30:42} -間違いではありません。わかった上でわざとやっています。間違いではない理由:ANSI-Cでは関数のポインタをあらわすときに、&をつけてもつけなくてもいいことになっています。そして実際、CD-ROMについているコンパイラではエラーになりません。もしかしたら他のコンパイラでは挙動が異なるのかもしれないですが、それはそれがANSI-Cに従っていないだけなので、僕の責任ではないと考えています(続く)。 -- [[K]] SIZE(10){2007-06-25 (月) 01:14:10} -わざとやる理由:ANSI-Cでは確かに関数名を書くだけで関数へのポインタを表せることになっていますが、それは本来を&と書くべきところを、面倒だから書くのを省略できるようにしただけだろうと思います(たった一文字のために)(これは僕の勝手な推測なので違うかもしれません。その場合については後に説明します)。そうであれば、まずは本来の書き方で本を書くべきだと思いますし、&をつけるほうが読者はポインタであることを意識できるでしょう(可読性があがる)(続く)。 -- ''K'' SIZE(10){2007-06-25 (月) 01:20:08} -わざとやる理由の続き:もしかしたら&をつけない記法こそ本来の記法なのかもしれません。でももしそうだとすると、今度はなぜ&をつける表記をわざわざ許容することにしたのか疑問です。 http://kmaebashi.com/programmer/pointer.html のページの方が「関数へのポインタ」でいわれているとおり、この許容はANSI-Cの仕様を非常に複雑にしています。それだけの犠牲を払ってでも&をつけることを許す理由があったはずです。それは何かといえば、もちろんプログラムを1文字長くしたいからではないはずで、読みやすくなると考えたか、もしくはこのような表記を許してほしいと願うプログラマが多かったからでしょう。僕は「この方が読みやすくなる(=理解しやすくなる)」と感じています。それゆえに、本ではこの書き方でやりました。 -- ''K'' SIZE(10){2007-06-25 (月) 01:26:30} -なるほどわかりましたANSI-Cまでは規格判ってなかったので正しかったのですね。C++のコンパイラでやったときに引っかかったんでどうなんだろと思ったんですが、規格として成り立ってるなら問題ないですね。説明ありがとうございました。 -- [[Flast]] SIZE(10){2007-06-25 (月) 01:55:16} -初版第6刷p401にある2箇所のfor(j = 0; j < 11; j++)は最後の要素が評価されないのでfor(j = 0; j < 12; j++)ではないですか? -- [[Flast]] SIZE(10){2007-06-27 (水) 23:23:46} -初版第6刷p634のリスト(cmd_appの変更)についてですが、一つ目のset_segmdescの引数が変更点として書かれていません。すぐ下の文章にはfinfo->sizeをappsizに置き換えると書いてあるのですが何かの都合で省略されたのでしょうか?付録のCDでは変更されていたのでbugsではなくこちらに報告しました。 -- ''j'' SIZE(10){2008-02-05 (火) 01:55:32} -(Flastさんの質問については[[impressions]]に回答があります。) -- [[K]] SIZE(10){2008-02-05 (火) 19:29:58} -jさんへ。全くもってご指摘の通りのミスでした。ご指摘の箇所を変更点に含め忘れてしまいました。どうもすみません。お詫びして訂正いたします。 -- [[K]] SIZE(10){2008-02-05 (火) 19:43:05} -初版第1刷p.637のリスト(putchar.c)のすぐ上の行「これはapi_putcharを使えは」は「これはapi_putcharを使え''ば''」の間違いだと思います。 -- ''uchan'' SIZE(10){2008-02-23 (土) 08:20:48} -初版第4刷p.411のスクリーンショットの下のコメント、「無事にこんちにはー」は「無事にこんにちはー」の間違いだと思います。 -- [[aotatsu]] SIZE(10){2009-01-23 (金) 22:55:19} -初版第12刷p112の、下部「ページング」の説明において、「ページングによる解決は4GBをタスクの数だけ作り」は「ページングによる解決は4KBをタスクの数だけ作り」の間違いだと思います。タスクの数だけ4GBを作ったら今のWindows搭載PCはほとんど動きません。 -- [[Triangle Ld.>Triangle_Ld.]] SIZE(10){2010-03-17 (水) 20:07:13} ->>Triangle Ld.さん 間違いではありません。ページングによる解決では、メモリはそのアドレスに始めてアクセスしたときに割り当てられる(ようにOSを作る)ので、4GBすべてにアクセスしない限りメモリが不足することはありません。 -- 名無しさん SIZE(10){2010-03-17 (水) 23:42:45} -初版第12刷480pの、dxとdyの説明のところで、「でも逆にdyとdyを…」は、「でも逆にdxとdyを…」の間違いだと思います。 -- [[hikarupsp]] SIZE(10){2010-11-07 (日) 21:23:23} -初版第12刷292pの「これは「task status segment」(タスク状態セグメント)と呼ばれていて…」の「task status segment」は、「task state segment」(status -> state)の誤りではないでしょうか。Intelの資料には、日本語版と英語版両方に、「task state segment」「タスク・ステート・セグメント」との記述がありました。 -- [[hikarupsp]] SIZE(10){2011-10-08 (土) 16:06:22} -http://hrb.osask.jp/bugfix.html の正誤表のページにおいて,〜…第9刷 の p.401 と p.495 の正誤は 〜…第7刷 の正誤と同一です.(第9刷でそのミスが復活したのでしたら,いいのですが.) また,〜…第9刷 の p.401 の正誤が間違っています.(finfo[i]. とすべきところを fifo[i]. としている.) -- ''mki'' SIZE(10){2018-10-03 (水) 20:55:16} #comment
テキスト整形のルールを表示する