- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编程序与代码块装载
汇编程序与代码块装载
为了使用汇编语言,必须熟悉CPU和寄存器,还需要掌握CPU的寻址方式。
为了利用NASM进行PC机的汇编语言编程,需要熟悉x86的指令集和NASM汇编程序的若干附加指令。
在x86 CPU的实模式下,在使用汇编语言编写的低级代码中,所有的I/O操作(如显示字符和字符串、读入键盘按键、读写磁盘数据等)都是通过调用系统的BIOS(Basic Input Output System,基本输入输出系统)来完成的。
计算机在启动时,因为系统自动装入的引导模块太小(只有一个扇区,512个字节),一般只能包含装载操作系统启动程序的代码,而启动程序本身的代码,则必须放在磁盘的其他地方。至于操作系统的大量代码,一般用C语言和汇编语言混合编写,保存为磁盘文件后,再由启动程序装载入内存。
DOS和Windows的COM可执行文件简单小巧,可用于引导代码的运行测试。
为了调试我们编写的汇编语言程序,可以使用传统小巧的实模式调试工具debug。
这次实验,我们先介绍CPU及其寄存器和寻址方法;再给出常用的x86指令和NASM汇编程序的常用附加指令;接着列出几个常用的BIOS中断及其调用方法;然后编写一个读入按键并回显字符到屏幕的小汇编程序MY-OS,并将其作为简单的启动程序例,把其代码放到第二个物理扇区,再编写装载此代码块的汇编程序放到引导扇区;接着介绍COM可执行文件的生成和使用,最后简介实模式调试工具debug的基本使用方法。
1 CPU和指令
CPU(Central Processing Unit,中央处理器/单元/部件)为一种(用超大规模集成电路制造的)微处理器芯片,是计算机的核心硬件,其他的硬件都是直接或间接的由CPU操控的。操作系统与计算机硬件的接口就是CPU的指令集。每一种CPU都有自己的指令集,本节主要介绍x86 CPU及其常用指令。
1.1 x86和x64 CPU
PC机和Mac机所使用的x86和x64系列CPU,由Intel/AMD公司制造,都属于CISC(Complex Instruction Set Computer,复杂指令集计算机)微处理器,指令数目多且复杂、各种指令的字长也不相等、寻址方式多且麻烦。而RISC(Reduced Instruction Set Computer,精简指令集)微处理器的指令数目少、寻址方式简单、更容易实现、指令并行执进程度更好、编译器的效率更高,常见的RISC微处理器有ARM(嵌入式设备[如智能手机和平板电脑]通用)、PowerPC(IBM/Apple)、SPARC(Sun)、PA-RISC(HP)、MIPS(龙芯)等。
Intel公司的x86和x64系列CPU的基础是16位的8086、32位的80386和64位的奔腾(Pentium),所有Intel的x86和x64 CPU都是向下兼容的,如酷睿(Core)兼容奔腾、奔腾兼容80486、80486兼容80386、80386兼容80286、80286又兼容8086。
Intel公司在HP的帮助下于2001年6月开发出了全新的64位CPU 安腾(Itanium),采用了与x86不兼容的IA-64架构,使用了比RISC更先进的一种VLIW(Very Long Instruction Word,超长指令字)技术——EPIC(Explicitly Parallel Instruction Computing,显式并行指令运算),允许处理器在一个周期内执行多条指令。虽然安腾(尤其是安腾2)性能优越,但是由于价格昂贵,应用软件缺乏(因为与x86不兼容),现在已经到了消亡的边缘。而AMD公司2003年4月推出的与x86兼容的AMD64(x86-64)架构的64位CPU却大获成功,Intel公司也只好于2004年6月开始推出(山寨的)类似架构Intel 64(IA-32e/EM64T)的64位CPU——奔腾和酷睿系列。现在一般把AMD64和Intel 64统称为x64,都与16位和32位的x86系列CPU兼容。
1.2 CPU的构成
典型的CPU由(处理信息的)运算器、(控制各部件工作的)控制器、(存储数据的)寄存器等部件构成,这些部件由(连接各部件,并在它们之间传送数据和信息的)内部总线相连。
8086 CPU中的执行部件与总线接口部件
其中:
EU:Execution Unit执行部件
BIU:Bus Interface Unit总线接口部件
ALU:Arithmetic Logic Unit 算术与逻辑部件
CU:Control Unit 控制部件
IP:Instruction Pointer 指令指针
F:Flags 标志
1.3 8086寄存器
对汇编语言来说,CPU的主要部件是寄存器。程序员可使用指令读写寄存器,并通过
您可能关注的文档
- 棉花期转电子撮合.doc
- 检验师基模(一).doc
- 植物病害标本采集与制作指导书.doc
- 植物营养学2015年试题.docx
- 植物生产与环境试卷(一).doc
- 植物生理大题.doc
- 概率题型(内附答案).docx
- 概论课基本要求和安排-学生.doc
- 桥隧建筑物技术管理知识宣讲.doc
- 概率统计基础考点.doc
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
最近下载
- 宜兴市各级文物保护单位一览表.docx
- 国学《千字文》之《渠荷的历》个人原创课件公开课课件.pptx VIP
- 老旧小区改造工程项目可行性研究报告.docx VIP
- 《GB∕T 45003-2024职业健康安全管理 工作中的心理健康安全:管理社会心理风险 指南》解读和应用指导材料(2024A0-雷泽佳).docx VIP
- 妙事多音乐--张老师 -培训讲解.ppt
- 基础化学高职高专第五版高琳第十章氧化还原平衡.pptx
- 在线网课学习课堂《英语视听说(西京学院 )》单元测试考核答案.docx
- 电子商务平台商家入驻协议书模板.doc
- 北京四中2023学年度上学期初中九年级期中考试物理试卷.docx
- 自然教育研学方案.pptx
文档评论(0)