Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

勘误

26 views
Skip to first unread message

benediction hi

unread,
Mar 16, 2013, 3:15:06 PM3/16/13
to osfrom...@googlegroups.com
对书的建议和一些错误,大家看下对不?

1. 32页图3.4 代码段和数据段描述符的byte 54位是描述符的类型(TYPE),但是这个TYPE可以按位区分的更详细一点如下:

3

2

1

0

E(xecutable)

数据段区分是否向下扩展

代码段区分是否一致码段

R/W

A(ccess)

可以参考36页中表3.1解释这4个位。


参考文献:Bob Neveln. Linux Assembly Language Programming. 2000


2. 126页图5.3中内存虚拟地址空间第二段地址应该是8049134h804913Ch


3. sconst.h 里面定义的P_STACKTOPP_STACKBASE互相反了。栈顶应该是gs的位置,栈底是LDT_SELECTOR.


4. 191页第4行应该是inc指令而不是mov指令。


5. 0xFF页中间数组keymap[]的大小应该是0x80*30x80make code的范围。


6. 259页代码第二行注释应该是r ctrl state


7. 294页图7.25var1var3反了,应该是var3先入栈, fmt跟在var1后面。


8. 349170行数组part_tbl大小为4(NR_PART_PER_DRIVE)就够了,没必要用64(NR_SUB_PER_DRIVE)个。因为PRIMARY里最多用4个,EXTENDED里最多用2个。


9. 349173get_part_table第二个参数应该是0,而不是drive,因为不论哪个drive硬盘分区表都在第0个扇区上。


10. 405页第7行最后是解除阻塞,不是接触阻塞。

Reply all
Reply to author
Forward
0 new messages