- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西南交通大学操系作统期末复习总结
1 org 07c00h ;这是告诉编译器将这段程序加载到内存偏移地址0x7c00处 mov ax,cs mov ds,ax mov es,ax call DispStr jmp $DispStr: mov ax,BootMessage mov bp,ax mov cx,16 mov ax,01301h mov bx,000ch mov dl,0 int 10h retBootMessage: db hello,os world!times 510-($-$$) db 0dw 0xaa55这是第一章的程序,从中可以看出起始位置是07c00h,程序的结束标志是0xaa55。$表示当前行被汇编后的地址。$$表示一个节的开始处被汇编后的地址。那么$-$$表示本行距离程序开始处的相对距离。1.对于程序的说明 实际上以上程序只是一个引导扇区(Boot Sector),不是完整的OS,当计算机电源被打开时,它会加电自检(POST),然后寻找启动盘,如果是从软盘启动,计算机就会检查软盘的0面0磁道1扇区,如果发现它以0xaa55结束,并且包含了少于512字节的执行码,那么BIOS认为它是一个引导扇区。 一旦发现了引导扇区,就将这512字节放入内存地址0000:7c00处,然后跳转并且移交控制器。2.制作软盘过程 本身这段程序是boot.asm,是汇编程序,然后使用工具nasm将其转换为boot.bin,然后使用软盘绝对扇区读写工具将这个文件写到一张空白软盘的第一个扇区。(.bin文件的说明:*.bin是Foxbase定义的一种特殊的可执行文件,它同DOS的.com文件类似,区别在于.com文件是从100H开始运行的,而.bin从0开始,.bin的调用参数保存在DS:BX中。如果在Foxbase中,你可以使用Call命令调用。如果你在VFP中,将无法直接调用,只能使用Debug反汇编,分析其功能,然后重新编写.)3.方括号[]的使用 在NASM中,任何不被方括号[]括起来的标签或变量名都被认为是地址,访问标签中的内容必须使用[]。3.1认识保护模式1.对于这一节的程序的理解数据区: 先是定义了一些描述符(LABEL_GDT,LABEL_DESC_CODE32,LABEL_DESC_VIDEO),然后定义了GdtPtr,它是一个6字节的数据结构,前两字节表示GDT的界限(即描述符的界限),后4字节表示GDT的基地址(GdtPtr就是用来描述GDT的,会用一个寄存器GDTR来保存它的值)。然后定义两个选择子,分别指向已定义的描述符。代码区:初始化32位代码段描述符,为加载GDTR作准备,加载GDTR: lgdt [GdtPtr],然后是关中断:cli,(保护模式下中断处理的机制是不同的,不关中断会出错)打开地址线A20,然后将cr0的PE位置为1(0:实模式,1:保护模式),准备切换到保护模式,跳转到保护模式中 jmp dword SelectorCode32:0 2.Descriptor是一个宏,它是一个8字节的数据结构。三个描述符组成了一个结构数组。3.[BITS 16]说明这是一个16位的代码段,而[BITS 32]是32位的代码段。程序中的知识点要搞清楚的有:GDT是一个索引,指向一个数据结构的表项。GDT作用:提供段式存储机制。程序对GDT做了什么?jmp SelectorCode32:0? GDT1.在保护模式下,CPU有着巨大的寻址能力(保护模式下为4G,实模式下为1M),并为强大的32位操作系统提供了更好的硬件保障。2.在保护模式下,段值仅仅变成了一个索引,这个索引指向一个数据结构的一个表项,表项中定义了段的起始地址、界限、属性等内容。这个数据结构就叫GDT,表项就叫描述符。3.描述符分为代码段和数据段描述符,还可以分为系统段描述符和门描述符。4.选择子 TI位 0:GDT,1:LDT当TI和RPL都为0时,选择子就变为了偏移。5.段:偏移经过段机制转化为“线性地址”,而不是物理地址。 JMP1.对于cr0的设置是实模式和保护模式的关键2.jmp dword SelectorCode32:0的作用是将描述符DESC_CODE32对应的段的首地址。3.为什么那儿有一个dword呢?(没有dword的话编译出来是16位的代码,而目标地址是32位的。) 进入保护模式的主要步骤:1.准备GDT2.用lgdt加载gdtr3.打开A204.设置cr0的PE位5.跳转,进入保护模式 描述符的属性1.P位——存在位。P=1,表示在段内存中存在;P=0则在内存中不存在。2.DPL位——描述符特权级。有0,1,2,3级,数字越小级别越大3.S位——指明描述符是数据段/代码段(s=1),还是系统段/门描述符(s=0) 3.2保护模式进阶在这一
您可能关注的文档
最近下载
- 2023年绵阳市首届中医药知识竞赛题库.pdf VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 金融衍生工具概述(ppt76页).pptx VIP
- 污水系统单机试车方案.doc VIP
- 城市规划原理PPT课件 第14章控制性详细规划(减少).pptx VIP
- 16J908-5建筑太阳能光伏系统设计与安装(OCR).pdf VIP
- 二次复切微波膨胀梗丝在卷烟中的掺配均匀性研究.PDF VIP
- (高清版)B-T 42597-2023 微机电系统(MEMS)技术 陀螺仪.pdf VIP
- 公交安全工作总结PPT.pptx VIP
- 神经内科痴呆PPT教案.pptx VIP
文档评论(0)