电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

汇编语言基础课件

79页
  • 卖家[上传人]:F****n
  • 文档编号:88124463
  • 上传时间:2019-04-19
  • 文档格式:PPT
  • 文档大小:1.17MB
  • / 79 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第1章 汇编语言基础,1.1 英特尔80x86处理器 1.2 个人计算机系统 1.3 汇编语言程序格式,第1章 汇编语言基础,了解软硬件开发环境 熟悉通用寄存器和存储器组织 掌握汇编语言的 语句格式、程序框架和开发方法,3,Intel 8086,1.1 英特尔80x86处理器,80386,80486,奔腾,奔腾II,奔腾4,80286,8086,奔腾III,酷睿多核系列,4004,IA-32处理器,16位80x86处理器,奔腾多核系列,Intel 64处理器,4,1.1.1 16位80x86处理器,16位结构处理器 8086/8088指令系统提供16位基本指令集 80186/80188增加若干条实用指令 8086的工作方式是实方式(Real Mode) 80286增加保护方式(Protected Mode) 80286引入了系统指令 为操作系统等核心程序提供处理器控制功能,指令系统、指令集(Instruction Set),5,1.1.2 IA-32处理器,80386引入英特尔32位指令集结构ISA 兼容原16位80286指令系统 全面升级为32位 提供虚拟8086工作方式(Virtu

      2、al 8086 Mode) 80486集成浮点处理单元支持浮点指令 Pentium系列 陆续增加若干整数指令、完善浮点指令 增加一系列多媒体指令(SIMD指令),IA-32(Intel Architecture-32),6,1.1.3 Intel 64处理器,引入64位英特尔指令集结构 兼容32位指令系统 新增64位工作方式 继续丰富多媒体指令 处理器集成多核(Multi-core)技术,处理器进入多核时代,Many core,7,1.2 个人计算机系统,硬件(Hardware):物理设备 软件(Software):程序和文档,8,1.2.1 硬件组成,汇编语言程序员将硬件抽象为: 寄存器、存储器地址和输入输出地址,9,1.2.2 寄存器(Register),处理器内部的高速存储单元 用于暂时存放程序执行过程中的代码和数据 透明寄存器 对应用人员不可见、不能编程直接控制 可编程(Programmable)寄存器 具有引用名称、供编程使用 通用寄存器(General-Purpose Register) 具有多种用途 数量较多、使用频度较高 专用寄存器 各自只用于特定目的,10,IA-32

      3、常用寄存器,8个32位通用寄存器 6个16位段寄存器 1个32位标志寄存器 1个32位指令指针,11,1. 通用寄存器,处理器最常使用的整数通用寄存器 可用于保存整数数据、地址等 8个32位通用寄存器 EAX,EBX,ECX,EDX ESI,EDI,EBP,ESP 8个16位通用寄存器 AX,BX,CX,DX SI,DI,BP,SP 8个8位通用寄存器 AH,BH,CH,DH AL,BL,CL,DL,既是一个整体 又可独立使用,12,通用寄存器的名称,13,2. 标志寄存器,标志(Flag) 反映指令执行结果或控制指令执行形式 用一个或多个二进制位表示一种标志 用0和1的不同组合表达标志的不同状态 8086支持16位标志寄存器FLAGS IA-32处理器形成32位EFLAGS标志寄存器 状态标志:记录指令执行结果的辅助信息 控制标志:方向标志DF,仅用于串操作指令 系统标志:控制操作系统或核心管理程序的操作方式,示意图,14,标志寄存器EFLAGS,返回,15,处理器最基本的标志:状态标志,用来记录指令执行结果的辅助信息 加减运算和逻辑运算指令主要设置它们 其他有些指令的执行也会相应地

      4、设置它们 处理器主要使用其中5个构成各种条件,分支指令判断这些条件实现程序分支,16,3. 指令指针寄存器EIP,保存将要执行的指令在主存的存储器地址 EIP是专用寄存器 顺序执行时自动增量(加上该指令的字节数),指向下一条指令 分支、调用等操作时执行控制转移指令修改,引起程序转移到指定的指令执行 出现中断或异常时被处理器赋值而相应改变,17,4. 段寄存器,段(Segment)是用于安排相关代码或数据的一个主存区域 段寄存器表明某个段在主存中的位置 6个16位段寄存器:CS DS SS ES FS GS 应用程序主要涉及3类段 代码段(Code Segment) 存放程序中指令代码 数据段(Data Segment) 存放当前运行程序所用数据 堆栈段(Stack Segment) 指明程序使用的堆栈区域,18,1.2.3 存储器组织,主存储器容量很大,被划分成许多存储单元 每个存储单元被编排一个号码 即存储单元地址 称为存储器地址(Memory Address) 每个存储单元以字节为基本存储单位 即字节编址(Byte Addressable) 一个字节(Byte)等于8个二进制位(B

      5、it) 二进制位是计算机存储信息的最小单位 16位(2个字节)构成一个字(Word) 32位(4个字节)构成一个双字(Double Word),示意图,19,数据的位格式,返回,20,1. 存储模型,物理存储器以字节为基本存储单位 每个存储单元被分配一个唯一的地址 这个地址就是物理地址 物理地址空间从0开始顺序编排,直到处理器支持的最大存储单元 8086处理器支持1MB存储器:00000HFFFFFH IA-32处理器支持4GB存储器:00000000HFFFFFFFFH 操作系统利用存储管理单元进行存储管理,程序并不直接寻址物理存储器 IA-32处理器提供3种存储模型,用于程序访问存储器,示意图,21,存储器地址空间,返回,22,IA-32处理器的存储模型,(1)平展存储模型(Flat Memory Model) 存储器是一个连续的地址空间:线性地址空间 IA-32处理器支持4GB容量线性地址空间 (2)段式存储模型(Segmented Memory Model) 存储器由一组独立的地址空间:段(Segment) 每个段都可以达到4GB容量 在处理器内部,所有的段都被映射到线性地址空

      6、间 (3)实地址存储模型(Real-address Memory Model) 8086处理器的存储模型 段式存储模型的特例 线性地址空间最大为1MB容量,段最大为64KB,23,2. 工作方式,(1)保护方式(Protected Mode) IA-32处理器固有的工作状态 具有强大的段页式存储管理和特权与保护能力 使用全部32条地址总线,可寻址4GB物理存储器 使用平展或段式存储模型 利用虚拟8086方式支持实地址8086软件 (2)实地址方式(Real-address Mode) 可以进行32位处理的快速8086 只能寻址1MB物理存储器空间,每个段不超过64KB 可以使用32位寄存器、32位操作数和32位寻址方式 只能支持实地址存储模型 (3)系统管理方式(System Management Mode) 实现供节能和系统安全管理,24,3. 逻辑地址(Logical Address),在处理器内部、程序员编程时采用的地址 逻辑地址段基地址偏移地址 段基地址在主存中的起始地址 偏移地址距离段基地址的位移量 某个存储单元可以有多个逻辑地址,但只有一个唯一的物理地址,示意图,25,逻辑

      7、地址与物理地址,返回,26,基本段的逻辑地址,代码段(Code Segment) 段基地址:代码段寄存器CS指示 偏移地址:指令指针寄存器EIP保存 数据段(Data Segment) 段基地址:数据段寄存器DS指示 有时也用附加段寄存器ES,段寄存器FS和GS指示 偏移地址:各种存储器寻址方式计算出来 堆栈段(Stack Segment) 段基地址:堆栈段寄存器SS指示 偏移地址:堆栈指针寄存器ESP保存,27,4. 段选择器,16位段寄存器保存16位段选择器 段选择器指向64位段描述符(Descriptor) 段描述符包括段基地址 平展存储模型:指向地址0位置 段式存储模型:指向线性地址空间不同的段 实地址存储模型:保存段基地址的高16位,28,平展模型,平展存储模型是分段存储模型的一种特例 所有的段都有相同的段基地址(基地址为0),都重合于同一个线性地址空间 IA-32微处理器上运行的应用程序,广泛采用平展存储模型。,29,分页机制,不采用分页管理机制,线性地址就是对应的物理地址空间 采用了分页管理机制,则要将线性空间地址映射到物理地址 当微处理器既采用段式存储管理,又采用页式存

      8、储管理就是段页式存储管理方式,30,分页,线性地址空间,物理地址空间,线性地址,页目录,页表,页,+,31,存储器模型与工作模式,32,5. Win32的虚拟地址分配,应用程序起始地址,33,1.2.4 程序设计语言,机器语言(Machine Language) 底层的计算机语言,对应机器指令 形成目标(代码)程序 汇编语言(Assembly Language) 将机器指令用助记符号代替而形成的一种语言 本质上是机器语言 需要汇编程序“汇编”(翻译) 高级语言(High Level Language) 面向问题的程序设计语言 需要“编译”或“解释”后执行,指令是处理器的母语,mov eax,100 add eax,256,34,Instructions: Language of the Machine,To command a computers hardware, you must speak its language. The words of a machines language are called instructions, and its vocabulary is ca

      9、lled an instruction set. 为了控制计算机硬件,必须使用它的语言。机器语言的单词称为指令,它的词汇表称为指令集。 “Computer Organization & Design - The Hardware/Software Interface ( 2nd Edition )” by John L. Hennessy and David A. Patterson Morgan Kaufmann Publishers, Inc. 1998,返回,35,汇编语言和高级语言的比较,汇编语言与处理器密切相关,可移植性较差 高级语言与具体计算机无关,便于移植 汇编语言功能有限、涉及硬件细节,编写繁琐困难 高级语言功能强大,语法自然,容易掌握和应用 汇编语言的优势:直接、有效地控制硬件,容易产生运行速度快、指令序列短小的高效率目标程序 高级语言不易直接控制计算机的各种操作,编译程序产生的目标程序往往比较庞大,混合编程、取长补短,36,汇编语言的主要应用场合,程序要具有较快的执行时间,或者只能占用较小的存储容量 程序与计算机硬件密切相关,程序要直接、有效地控制硬件 大型软件需要提高性能、优化处理的部分 没有合适的高级语言、或只能采用汇编语言的时候 分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等等,37,1.2.5 软件系统,Windows操作系统平台 MASM 6.15汇编程序,38,1. 操作系统(Operating System),操作系统管理着系统的软硬件资源 为用户提供使用机器的交互界面 为程序员使用资源提供可供调用的驱动程序 为其他程序构建稳定的运行平台 32位控制台环境 %SystemRoot%system32cmd.exe 16位模拟DOS环境 %SystemRoot%,32位控制台环境和16位模拟DOS环境 两种基本功能和界面一致,但本质不同,39,2. 汇编程序(Assembler),将汇编语言源程序转换为机器代码 微软宏汇编程序MASM MASM 6.11是最后一个独立发行的MASM软件包 MASM 6.15来自Visual C+6.0,支持到Pentium 4的SSE2指令系统 V

      《汇编语言基础课件》由会员F****n分享,可在线阅读,更多相关《汇编语言基础课件》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.