网站大量收购闲置独家精品文档,联系QQ:2885784924

80X86指令系统---寻址方式.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
80X86指令系统---寻址方式

微型计算机原理 授课教师: 周茂霞 第 3章 微处理器飞速发展 教学重点 第3章是用汇编语言进行程序设计所需要了解的基本知识和指令系统。在课堂上,我们重点掌握几个内容: 熟悉指令的功能与用法 认识汇编语言 熟悉寄存器组 难点是各种寻址方式 什么是汇编语言(1) 汇编语言是一种面向机器的低级程序设计语言 汇编语言以助记符形式表示每一条计算机指令 助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号 助记符一般就是表明指令功能的英语单词或其缩写 什么是汇编语言(2) 用助记符表示的指令就是汇编语言中的汇编格式指令 汇编格式指令以及使用它们编写程序的规则就形成汇编语言(Assembly Language) 用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序(.ASM) 汇编程序将汇编语言程序“汇编”成机器代码目标模块(.OBJ) 什么是汇编语言(3) 汇编语言的主要特点: 汇编语言程序与处理器指令系统密切相关 程序员可直接、有效地控制系统硬件 形成的可执行文件运行速度快、占用主存容量少 汇编语言和高级语言(1) 汇编语言与处理器密切相关 ↘ 汇编语言程序的通用性、可移植性较差 高级语言与具体计算机无关 ↗ 高级语言程序可以在多种计算机上编译后执行 汇编语言和高级语言(2) 汇编语言功能有限、涉及硬件细节 ↘ 编写程序比较繁琐,调试起来也比较困难 高级语言提供了强大的功能,不必关心琐碎问题 ↗类似自然语言的语法,易于掌握和应用 汇编语言和高级语言(3) 汇编语言本质上就是机器语言 ↗ 可以直接、有效地控制计算机硬件 ↗ 易于产生速度快、容量小的高效率目标程序 高级语言不针对具体计算机系统 ↘ 不易直接控制计算机的各种操作 ↘ 目标程序比较庞大、运行速度较慢 汇编语言和高级语言(4) 汇编语言的优点: 直接控制计算机硬件部件 可以编写在“时间”和“空间”两方面最有效的程序 汇编语言的缺点: 与处理器密切有关 需要熟悉计算机硬件系统、考虑许多细节 编写繁琐,调试、维护、交流和移植困难 汇编语言和高级语言(5) 汇编语言的优点使得它在程序设计中占有重要的位置,是不可被取代的 汇编语言的缺点使得人们主要采用高级语言进行程序开发工作 有时需要采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题 3.1指令的构成与操作数的类型 3、存储器操作数: 在指令中,存储器操作数分为: 标号 与 变量 两种。 标号:是对存放指令的存储单元地址所命名的名称,可执行 语句的符号地址。标号可以直接出现在指令中,指向转移地址。 变量:是指存储变量,为存放数据的存储单元所起的名称。变量由定义数据的操作命令 DB 、DW、DD定义 3.1指令的构成与操作数的类型 3、存储器操作数: 符号地址(标号 和 变量 )的三种属性 (1)段属性(SEGMENT) 标号或变量 具有所对应段的段地址,它们都在段寄存器(CS、DS、ES、SS)。标号所在段基址的通常在CS中,存储变量段基址在DS中。无段超越,隐式出现。 (2)偏移量属性(OFFSET) 标号或变量所在地址距离段基址的偏移量。 3.1指令的构成与操作数的类型 (3)类型属性(TYPE) 标号类型属性:段内操作还是段间操作。段内操作定义为NEAR类型(近程操作),段间操作定义为FAR(远程操作)。 存储变量类型属性:对该变量的操作属于什么类型的操作。 BYTE、WORD、DWORD 3.1指令的构成与操作数的类型 3、存储器操作数: 为寻找存储器操作数的物理地址,必须确定操作数所在的段。一般在指令中不涉及到段寄存器,因为CPU约定了隐含的段寄存器。例如:取指令用CS寄存器,IP是欲取指令的偏移地址,直接寻址隐含使用DS等。 段超越:在某些情况下,为进行特定的操作,可以用指定的段寄存器,代替标准段(隐含段,)寄存器这种情况称为段超越,但需要在指令中注明指定的段。 MOV AX,ES:[2000H] 3.1指令的构成与操作数的类型 3、存储器操作数: EA ES、CS、DS SS 用BP基址寄存器 DI ES、CS、DS ES 目的串 SI 不允许 DS 源串 字符串处理 EA(有效地址) CS、SS、ES DS 通用数据读写(间址)除外 SP 不允许 SS 堆栈操作指令等 IP 不允许 CS 取指令 偏移地址 允许超越段寄存器 隐含段寄存器(标准) 存储器操作数类型 表3.3 隐含及允许超越的段寄存器 3.1指令的构成与操作数的类型 对于上述的三种操作数,何时计算出指令所用操作数的实际值,各不相同。 立即数在

文档评论(0)

daoqqzhuan2 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档