摘要: NAMS的写法是jmp $ AT&T的写法是jmp . 在GCC里是 __asm__ __volatile__("jmp ."); 阅读全文
posted @ 2010-10-25 15:43 Fan Zhang 阅读(445) 评论(0) 推荐(0)
摘要: RunLoader函数有两个版本,分别位于bootmgr.c(安装时使用)和setupldr.c中。 先分析bootmgr.c中的RunLoader函数。默认USE_UI宏被定义。UiDrawStatusText等函数会在安装时在屏幕上打出文字。 MachHwDetect是检测硬件。它会调用PcHwDetect。   现在分析setupldr.c中的RunLoader函数 它调用... 阅读全文
posted @ 2010-10-25 15:41 Fan Zhang 阅读(3142) 评论(0) 推荐(0)
摘要: MmInitializeMemoryManager函数调用了BIOS的15H中断(AX=​E820h​),此功能是枚举出系统的扩展内存。 调用MmGetAddressablePageCountIncludingHoles,返回物理内存的页面数,即物理内存大小/页面大小。 调用MmFindLocationForPageLookupTable,返回一个数组地址,来存放PageLookupTable... 阅读全文
posted @ 2010-10-25 13:37 Fan Zhang 阅读(157) 评论(0) 推荐(0)
摘要: 如果想在屏幕上输出,调用printf 如果想在串口里输出,调用DbgPrint宏或者DebugPrint函数。 其中DbgPrint在DBG宏定义时有效,默认情况下DBG宏被定义。 其中宏DBG是在ReactOS-i386.rbuild里面控制的。 阅读全文
posted @ 2010-10-25 11:35 Fan Zhang 阅读(135) 评论(0) 推荐(0)