02CPU、BIOS中断、代码块装载和Debug

02CPU、BIOS中断、代码块装载和Debug

ID:40525577

大小:597.08 KB

页数:30页

时间:2019-08-04

02CPU、BIOS中断、代码块装载和Debug_第1页
02CPU、BIOS中断、代码块装载和Debug_第2页
02CPU、BIOS中断、代码块装载和Debug_第3页
02CPU、BIOS中断、代码块装载和Debug_第4页
02CPU、BIOS中断、代码块装载和Debug_第5页
资源描述:

《02CPU、BIOS中断、代码块装载和Debug》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、CPU、BIOS中断、代码块装载、Debug为了使用汇编语言,必须熟悉CPU和寄存器,还需要掌握CPU的寻址方式。在使用汇编语言编写的低级代码中,所有的I/O操作(如显示字符和字符串、读入键盘按键、读写磁盘数据等)都是通过调用系统的BIOS(BasicInputOutputSystem,基本输入输出系统)来完成的。计算机在启动时,因为系统自动装入的引导模块太小(只有一个扇区,512个字节),一般只能包含装载操作系统启动程序的代码,而启动程序本身的代码,则必须放在磁盘的其他地方。至于操作系统的大量代码,一般用C语言编写,保存为磁盘文件后,再由启动程序装载入内存。为了调试我

2、们编写的汇编语言程序,可以使用传统小巧的实模式调试工具debug。这次实验,我们先介绍CPU及其寄存器和寻址方法;再给出(在上次简单的Hello引导汇编代码中使用过的)显示字符串的BIOS中断与另外几个常用的BIOS中断及其调用方法;然后编写一个读入按键并回显字符到屏幕的小汇编程序MY-OS,并将其作为另一个引导程序;然后把MY-OS的代码放到第二个物理扇区,再编写装载此代码块的汇编程序放到引导扇区;最后介绍实模式调试工具debug的基本使用方法。1CPUCPU(CentralProcessingUnit,中央处理器/单元/部件)为一种(用超大规模集成电路制造的)微处理

3、器芯片,是计算机的核心硬件,其他的硬件都是直接或间接的由CPU操控。1.1x86和x64CPUIntel/AMD公司的x86和x64系列CPU,都属于CISC(ComplexInstructionSetComputer,复杂指令集计算机)微处理器,指令数目多且复杂、各种指令的字长也不相等、寻址方式多且麻烦。而RISC(ReducedInstructionSetComputer,精简指令集)微处理器的指令数目少、寻址方式简单、更容易实现、指令并行执进程度更好、编译器的效率更高,常见的RISC微处理器有ARM(通用)、PowerPC(IBM/Apple)、SPARC(Sun

4、)、PA-RISC(HP)等。Intel公司的x86和x64系列CPU的基础是16位的8086、32位的80386和64位的奔腾(Pentium),所有Intel的x86和x64CPU都是向下兼容的,如酷睿(Core)兼容奔腾、奔腾兼容80486、80486兼容80386、80386兼容80286、80286又兼容8086。Intel公司在HP的帮助下于2001年6月开发出了全新的64位CPU安腾(Itanium),采用了与x86不兼容的IA-64架构,使用了比RISC更先进的一种VLIW(VeryLongInstructionWord,超长指令字)技术——EPIC(E

5、xplicitlyParallelInstructionComputing,显式并行指令运算),允许处理器在一个周期内执行多条指令。虽然安腾(尤其是安腾2)性能优越,但是由于价格昂贵,应用软件缺乏(因为与x86不兼容),现在已经到了消亡的边缘。而AMD公司2003年4月推出的与x86兼容的AMD64(x86-64)架构的64位CPU却大获成功,Intel公司也只好于2004年6月开始推出类似架构Intel64(IA-32e/EM64T)的64位CPU——奔腾和酷睿系列。现在一般把AMD64和Intel64统称为x64,都与16位和32位的x86系列CPU兼容。1.2CP

6、U的构成典型的CPU由(处理信息的)运算器、(控制各部件工作的)控制器、(存储数据的)寄存器等部件构成,这些部件由(连接各部件,并在它们之间传送数据和信息的)内部总线相连。8086CPU的简化模块框图ALU:算术与逻辑部件CU:控制部件FLAGS:标志寄存器EU:执行部件BIU:总线接口部件AH

7、ALBH

8、BLCH

9、CLDH

10、DLSPBPSIDI程序控制CSDSSSES通用寄存器总线控制部件总线IP:指令指针寄存器指令队列12…n段寄存器8086CPU中的执行部件与总线接口部件其中:EU:ExecutionUnit执行部件BIU:BusInterfaceUnit总线接口

11、部件ALU:Arithmetic&LogicUnit算术与逻辑部件CU:Controlunit控制部件IP:InstructionPointer指令指针F:Flags标志1.38086寄存器对汇编语言来说,CPU的主要部件是寄存器。程序员可使用指令读写寄存器,并通过改变各种寄存器中的内容来实现对CPU的控制,进而操控整个计算机。Intel的16位CPU8086的寄存器一共有14个。Intel8086CPU的寄存器1.通用寄存器8个16位通用寄存器(generalpurposeregisters)(其中的X:eXtended[扩展,是原8位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。