- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理课件第22讲(电子)
IF(Interrupt Flag):中断标志位 IF=1,表示允许CPU响应可屏蔽中断 DF(Direction Flag):方向标志位 DF=0,表示串操作指令地址指针自动增量; DF=1,表示地址指针自动减量。 TF(Trap Flag):单步标志位 TF=1时,则每执行完一条指令,就自动产生一次内部中断,使用户能逐条跟踪程序进行调试。 FR中的控制标志 ④数制与编码——运算正确性的保证 两数在运算的过程中,结果可能超过目的操作数所能表示的最大范围,这种情况我们称之为溢出。 一般采用的方法:采用双符号位(变形补码)表示的机器数参与运算,直接判断运算结果的符号位异同来确定是否发生溢出。双符号位00表示正数;11表示负数。若运算结果中出现符号位为01或10的情况,即可断定发生了溢出。 计算机的核心功能 顾名思义,计算机的主要功能是完成数据的计算,要解决的问题: 选择什么数制来进行运算? 运算的类别都包含哪些? 运算所需要的数据在哪? 以一种什么方式来自动完成某种步骤的运算? 如何与外界进行交流? ——数制与编码 ——指令系统 ——寻址方式 ——汇编程序设计 ——可编程接口芯片 指令系统 对数据的运算、表示、存储,应以一种计算机能识别的方式来通知计算机执行,同时也应方便程序猿的记忆和掌握。 8086中采用汇编语言编程,实现与计算的交互。 首先需要了解汇编语言中指令的形式。 程序员 指令格式 操作码 操作数地址 操作结果的存储地址 下一条指令的地址 一条指令包含的内容 8086指令的结构 操作码 OP 地址码 A(操作数) 例如 MOV AX,1234H 地址码 A(操作数) 操作码 OP 地址码 A(操作数) 例如 INC CL 操作码 OP 例如 RET 8086指令 从寻址方式说起…… 指令和数据的寻址方式 寻址方式:确定本条指令的数据地址或下一条要执 行的指令地址的方法。 寻址方式介绍 * 第22讲教学目的和要求 复习 莫等闲,白了少年头,空悲切。 数据流 指令流 输 入 设 备 输 出 设 备 存储器 运算器 控制器 计算机基本结构 8086微机结构 内部存储器 Address DATA 20位 16位 I/O 接口 I/O设备 8086 CPU Address 16位 8位 DATA 控制 状态 数据 …… CPU内部结构 AH AL BH BL CH CL DH DL SP BP DI SI 内部存储器 ABUS 20位 I/O 接口 I/O设备 8086 CPU Address 16位 8位 DATA 控制 状态 数据 …… EU BIU 16位 ALU CS DS SS ES IP 内部寄存器 地址加法器 总线控 制逻辑 执行指令 形成访问存储器的物理地址、取指令、取数据 何谓物理地址? 冯诺依曼机的特点 程序存储 内存的结构 访存物理地址的形成 顺序执行 程序中指令大部分顺序执行 每条指令也是按照既定步骤去执行 顺序的执行,决定了大部分指令和数据的存储也是顺序的 内部存储器与寄存器 AH AL BH BL CH CL DH DL SP BP DI SI 内部存储器 20H 46H …… …… 00000H 00001H …… FFFFFH FFFFEH 8位 8位 16位 F F F F F F F F F F 指令物理地址的形成 1 2 3 4 0 5 6 7 8 + 1 7 9 B 8 1234H 左移1位 12340H 段地址 偏移地址 指令/数据的20位地址可表示成为2个16位的逻辑地址进行存储,使用时转换成物理地址进行访存。 存储器的分段管理 分段管理的原因 8086系统的存储空间1M字节(即220,要20位物理地址),CPU内部寄存器只有16位(只能寻址64K字节)。整个存储中间分成许多逻辑段。 0段 64K 00000H 0FFFFH 1段 64K 10000H 1FFFFH 15段 64K F0000H FFFFFH … 存储器的分段管理 8086有4个段寄存器 CS (Code Segment) 取指令时,A=CS*16+IP DS (Data Segment) 取数据时,A=DS*16+DI [(SI),(BX)] SS (Stack Segment) 堆栈操作时,A=SS*16+SP[(BP)] ES (Extra Segment) 取数
文档评论(0)