汇编语言程序设计_东大函授0
更新时间:2023-07-29 21:44:01 阅读量: 实用文档 文档下载
内 容 简 介自学内容: 自学内容:第一章 概述 第二章 计算机运算基础 第九章 条件汇编与宏命令 第十章 算术运算与代码运算 第十一章 列表与字符串操作 第十七章 通信程序设计 第十八章 8087/80287/80387程序设计 程序设计 第十九章 MMX的程序设计 的程序设计
内 容 简 介函授内容: 函授内容:第三章 微型计算机的结构 第四章 汇编语言 第五章 顺序结构程序 第六章 分支结构程序 第七章 循环结构程序 第八章 子程序设计 第十二章 输入输出与中断 第十三章 显示程序设计 第十四章 键盘程序设计 第十五章 打印程序设计 第十六章 定时及音响程序设计
第三章 微型计算机的结构3.1 微处理机的结构(一)8086微型处理机结构 微型处理机结构 8086微处理器逻辑框图 8086微处理器逻辑框图:分EU与BIU两部分: 微处理器逻辑框图: EU与BIU两部分 两部分: 执行部件(EU):由ALU、通用寄存器组、 ﹡执行部件(EU):由ALU、通用寄存器组、状态寄存 器及操作控制器电路组成。 器及操作控制器电路组成。 总线接口部件(BIU):由专用寄存器 由专用寄存器、 ﹡总线接口部件(BIU):由专用寄存器、指令队列缓冲 地址加法器等功能部件组成。形成对外总线, 器、地址加法器等功能部件组成。形成对外总线,与 存储器、I/O接口电路进行数据传输。 存储器、I/O接口电路进行数据传输。 接口电路进行数据传输 BIU的流水线操作 的流水线操作: BIU可独立工作 可独立工作, ﹡EU 与 BIU的流水线操作: EU 与 BIU可独立工作, BIU在保证 与片外传送操作数前提下 BIU在保证EU与片外传送操作数前提下,可进行指令 在保证EU与片外传送操作数前提下, 预取, EU可重叠操作 预取,与EU可重叠操作。
地址总线(20位 地址总线(20位) AH BH CH DH SP BP SI DI AL BL CL DL Σ数据总线
通用寄存器
8086 暂存寄存器
ALU数据总线 ALU数据总线 (16位) 16位
CS DS SS ES IP 内部通信 寄存器
(16位) 16位
总线 控制 逻辑
8086 总线
ALU
EU 控制 系统
Q总线 16位 16位
指令队列
1 2 3 4 5 6总线接口部件 BIU) (BIU)
标志
指令执行部 EU) 件(EU)
1. 指令执行部件EU 指令执行部件EU由算术逻辑单元(ALU)、标志寄存器、通用寄存器 算术逻辑单元(ALU) 标志寄存器、 EU控制器等部件组成。 控制器等部件组成 组和EU控制器等部件组成。 主要功能是执行指令: 主要功能是执行指令: 一般顺序执行,EU不断地从指令队列中取指令连续 ○一般顺序执行,EU不断地从指令队列中取指令连续 执行,而省去访问存储器取指令的时间。 执行,而省去访问存储器取指令的时间。 需要访问存储器取操作数时,EU将访问地址送
给 ○需要访问存储器取操作数时,EU将访问地址送给 BIU后 将要等待操作数到来后才能继续操作; BIU后,将要等待操作数到来后才能继续操作; 遇到转移类指令时, ○遇到转移类指令时,要将指令队列中的后续指令作 等待BIU重新从存储器取出目标地址中的指令代 废,等待BIU重新从存储器取出目标地址中的指令代 码进入指令队列后,EU才能继续执行指令 才能继续执行指令。 码进入指令队列后,EU才能继续执行指令。
算术逻辑单元(ALU) 算术逻辑单元(ALU) 完成16位或8位的二进制运算; 完成16位或 位的二进制运算; 位或8 16位暂存寄存器用来暂存参加运算的操作数。 16位暂存寄存器用来暂存参加运算的操作数 位暂存寄存器用来暂存参加运算的操作数。 运算结果通过内部总线送到通用寄存器组或 BIU的内 运算结果通过内部总线送到通用寄存器组或BIU 的内 部寄存器中等待写入存储器。 部寄存器中等待写入存储器。 经ALU运算后的结果特征置入标志寄存器中保存。 ALU运算后的结果特征置入标志寄存器中保存 运算后的结果特征置入标志寄存器中保存。 EU控制器 EU控制器 负责从BIU的指令队列中取指令,并对指令译码; 负责从BIU的指令队列中取指令 并对指令译码; 的指令队列中取指令, 根据指令要求向EU内部各部件发出控制命令以完成各 根据指令要求向EU内部各部件发出控制命令以完成各 条指令的功能。 条指令的功能。 通用及标志寄存器
2. 总线接口部件BIU 总线接口部件BIU由 地址加法器 、 专用寄存器组 、 指令队列缓冲器 和 总线控制 地址加法器、专用寄存器组、指令队列缓冲器和 电路等部件组成 等部件组成; 电路等部件组成; 主要功能是形成访问存储器的物理地址,负责与外部( 主要功能是形成访问存储器的物理地址 , 负责与外部 ( 存储 器或I/O接口 打交道。 器或I/O接口)打交道。 接口) 正常情况下, BIU通过地址加法器形成指令的物理地址 通过地址加法器形成指令的物理地址, 正常情况下 , BIU 通过地址加法器形成指令的物理地址 , 从 给定存储器地址中取出指令代码送指令队列缓冲器中等待执行 指令队列缓冲器中出现一个空字节,BIU将自动进行读指令的 (指令队列缓冲器中出现一个空字节,BIU将自动进行读指令的 操作填满队列) 操作填满队列) 收到EU送来的操作数地址 BIU将立即形成操作数的物理地 送来的操作数地址, 收到 EU送来的操作数地址, BIU将立即形成操作数的物理地 完成读/ 写操作数或运算结果功能。 遇到转移类指令, 址 , 完成读 / 写操作数或运算结果功能 。 遇到转移类指令 , B
IU 将指令队列缓冲器中的尚存指令作废, 将指令队列缓冲器中的尚存指令作废,重新从存储器目标地址中 取指令送指令缓冲器中。 取指令送指令缓冲器中。
指令队列 可存放6字节的指令代码。 可存放6字节的指令代码 。 一般情况下指令队列中总是 填满指令, EU可不断地得到执行的指令 可不断地得到执行的指令。 填满指令,使EU可不断地得到执行的指令。 16位地址加法器 16位地址加法器 专门用来完成由逻辑地址变换成物理地址的功能。 专门用来完成由逻辑地址变换成物理地址的功能。实际 上是进行一次地址加法,将两个16位的逻辑地址转换为 上是进行一次地址加法,将两个16位的逻辑地址转换为 20位的物理地址,以达到可寻址1M字节的存储空间。 20位的物理地址 以达到可寻址1 字节的存储空间。 位的物理地址, 总线控制电路 将 8086CPU的内部总线与外部总线相连 , 是 8086CPU 8086CPU 的内部总线与外部总线相连 的内部总线与外部总线相连, 8086CPU 与外部交换数据的必经之路。包括16条数据总线 20条 条数据总线、 与外部交换数据的必经之路。包括16条数据总线、20条 地址总线和若干条控制总线。 地址总线和若干条控制总线。
3. 8086内部寄存器 8086内部寄存器
通用寄存器组通用寄存器( 通用寄存器(8个)可分为两组: 可分为两组: 数据寄存器(4个); 数据寄存器( 地址指针和变址寄存器(4个)。 地址指针和变址寄存器( (1)数据寄存器 通用寄存器AX 、 BX 、 CX和 DX称为数据寄存器 通用寄存器 AX、 BX、 CX 和 DX 称为数据寄存器 , 称为数据寄存器, 可用来存放16位的数据或地址 也可把它们当作八个8 位的数据或地址。 可用来存放16位的数据或地址。 也可把它们当作八个8 位寄存器( AH 、 AL、 BH 、 BL 、 CH、CL、 DH、 DL) 位寄存器 ( AH、 AL、 BH、 BL、CH 、 CL 、 DH、 DL) 来使用,这时只能存放8位数据,而不能用来存放地址。 来使用 , 这时只能存放8位数据, 而不能用来存放地址 。
寄存器名 AX,AL
AH AL
BX
CX CL DX
特 殊 用 途 在输入/ 在输入/输出指令中作数据寄存器用 在乘法指令中, 在乘法指令中,存放被乘数或乘积 在除法指令中, 在除法指令中,存放被除数或商数 LAHF指令中 指令中, 在LAHF指令中,作目标寄存器用 在十进制运算指令中作累加器用 XLAT指令中作基址寄存器用 在XLAT指令中作基址寄存器用 在间接寻址中作基址寄存器用 XLAT指令中作基址寄存器用 在XLAT指令中作基址寄存器用 在串处理和LOOP指令中作计数器用 在串处理和LOOP指令中作计数器用 在移位/ 在移位/循环移位指令中作移位次数计数器用 字乘法/ 字乘
法/除法指令中存放乘积高位或被除数高位或余数 在间接寻址的输入/ 在间接寻址的输入/输出指令中作地址寄存器用
(2)地址指针和变址寄存器 包括SP、BP、SI、DI四个 位寄存器 四个16位寄存器。 包括SP、BP、SI、DI四个16位寄存器。 可以在运算过程中存放操作数 , 但只能以字 ( 16位 ) 可以在运算过程中存放操作数, 但只能以字( 16 位 为单位使用。 为单位使用。 常用在段内寻址时提供偏移地址: 常用在段内寻址时提供偏移地址: SP ( Stack Pointer ) 称 为 堆 栈 指 针 寄 存 器 , BP Pointer)称为基址指针寄存器, (Base Pointer)称为基址指针寄存器,它们都可以与 SS 寄存器联用确定堆栈段中的某一存储单元的地址 。 SS寄存器联用确定堆栈段中的某一存储单元的地址 寄存器联用确定堆栈段中的某一存储单元的地址。 SP用来指示栈顶的偏移地址 , BP可作为堆栈区中的一 SP用来指示栈顶的偏移地址 BP可作为堆栈区中的一 用来指示栈顶的偏移地址, 个基地址以便访问堆栈。 个基地址以便访问堆栈。 SI(Source Index)源变址寄存器和DI(Destination SI( Index)源变址寄存器和DI( Index)目的变址寄存器:它们一般与DS联用 Index)目的变址寄存器:它们一般与DS联用,用来确 联用, 定数据段中某一存储单元的地址。 定数据段中某一存储单元的地址。
寄存器名
SI DI BP SP
特 殊 用 途 在字符串处理指令中作源变址寄存器用 在间接寻址中作变址寄存器用 在字符串处理指令中作目标变址寄存器用 在间接寻址中作变址寄存器用 在间接寻址中作基址指针用 在堆栈操作中作堆栈指针用
段寄存器组
8086CPU的BIU中设置 8086CPU的BIU中设置4个16位段寄存器: 中设置4 16位段寄存器 位段寄存器: 代码段寄存器CS(Code Segment) 代码段寄存器CS( Segment) 数据段寄存器DS(Data Segment) 数据段寄存器DS( Segment) 附加数据段寄存器ES(Extra Segment) 附加数据段寄存器ES( Segment) 堆栈段寄存器SS(Stack Segment) 堆栈段寄存器SS( Segment)
设置段寄存器的原因: 设置段寄存器的原因: 由于8086CPU可直接寻址的存储器空间是 字节 由于8086CPU可直接寻址的存储器空间是1M字节, 可直接寻址的存储器空间是1M字节, 需要20位地址码 位地址码。 CPU所有的内部寄存器都只有16 所有的内部寄存器都只有 需要20位地址码。而CPU所有的内部寄存器都只有16 用这些寄存器只能直接寻址64K字节 字节。 位,用这些寄存器只能直接寻址64K字节。 为此把1M字节的存储空间分成许多逻辑段, 为此把1M字节的存储空间分成许多逻辑段,每段最 字节的存储空间分成许多逻辑段 长为64k字节 这
些逻辑段可在整个存储空间中浮动。 字节, 长为64k字节,这些逻辑段可在整个存储空间中浮动。 于是用段寄存器给定各个逻辑段的首地址的高16位 于是用段寄存器给定各个逻辑段的首地址的高16位,被 称为段地址。 称为段地址。
总之, 总之 , 汇编程序一般将源程序分成四个逻 辑段, 代码段CS 、 数据段DS 、 堆栈段SS 和 辑段 , 即 代码段 CS、 数据段 DS、 堆栈段 SS和 附加段ES。 附加段ES。CS→
代码段 数据段 堆栈段 附加段
CS:存放代码段的段基地址。 CS:存放代码段的段基地址。 DS:存放数据段的段基地址。 DS:存放数据段的段基地址。 SS:存放堆栈段的段基地址。 SS:存放堆栈段的段基地址。 ES:存放附加段的段基地址。 ES:存放附加段的段基地址。
DS→ SS→ ES→
控制寄存器组 (1)指令指针寄存器IP(Instruction Pointer) 指令指针寄存器IP( Pointer) 8086CPU 中设置一个 位指令指针寄存器 , 8086CPU中设置一个 16位指令指针寄存器 IP, 用来 中设置一个16 位指令指针寄存器IP 存放将要取出的下一条指令在代码段中的偏移地址。 存放将要取出的下一条指令在代码段中的偏移地址。 在程序运行过程中,BIU可修改 中的内容 可修改IP中的内容, 在程序运行过程中,BIU可修改IP中的内容,使它始 终指向将要取出的下一条指令。 终指向将要取出的下一条指令。 注意: 注意: IP与CS联用, 表示代码段中要处理的指令的逻辑地址; IP与CS联用 表示代码段中要处理的指令的逻辑地址; 联用, IP和CS由系统执行,用户一般不能使用或修改。 IP和CS由系统执行 用户一般不能使用或修改。 由系统执行,
(2)标志寄存器FLAGS 标志寄存器FLAGS
8086CPU中设立一个两字节的标志寄存器 8086CPU中设立一个两字节的标志寄存器FLAGS(又 中设立一个两字节的标志寄存器FLAGS( PSW、FR), ),有 个标志位: 称PSW、FR),有9个标志位: 6个状态标志位,表示运算结果的状态,包括CF、 状态标志位,表示运算结果的状态,包括CF、 CF PF、AF、ZF、SF和OF; PF、AF、ZF、SF和OF; 3个控制标志位,用来控制CPU的操作,包括IF、 控制标志位,用来控制CPU的操作 包括IF、 的操作, DF和TF。 DF和TF。 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 × × × × OF DF IF TF SF ZF ×AF × PF × CF
80286、80386及80486微处理器 (二)80286、80386及80486微处理器位结构, 寻址空间, ﹡80286:16位结构,16MB寻址空间,支持保护 : 位结构 寻址空间 方式,可执行多任务,速度比8086快。 方式,可执行多任务,速度比 快 位结构, 寻址空间, ﹡80386:32位结构,4GB寻址空间,支持保护 : 位结构 寻址空间 方
式,可执行多任务,性能大大优于16位结构。 方式,可执行多任务,性能大大优于 位结构。 位结构 位结构, 有很大改进, ﹡80486: 32位结构,比80386有很大改进, : 位结构 有很大改进 片内FPU,片内 片内Cache,速度比 块很多。 片内 片内 ,速度比80386块很多。 块很多
正在阅读:
汇编语言程序设计_东大函授007-29
本科临床五年制 - 内科呼吸系统试题01-20
2022年东北师范大学信息与软件工程学院333教育综合之04-12
农业推广复习题及答案06-15
浑源县职工医院招聘试题【含答案】06-08
超市便利店店长工作总结及工作计划01-23
《交直流调速系统系统课程设计》09-24
虚假广告的法律规制05-21
《清稗类钞》服饰类04-12
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 东大
- 函授
- 汇编语言
- 程序设计
- 学校禁毒宣传教育工作汇报材料
- 工程施工投标书范本1121212
- 高中历史课程标准、情感态度价值观(整理版)
- 一例输注人血白蛋白引起过敏性休克的护理
- Unit1 friendship 与友谊相关的好听的英文歌曲歌词
- 幼儿园跟班学习总
- 临床药理学期末考试习题库
- 中心校长在2012年广播体操比赛开幕式上的讲话
- 第五章 分销渠道战略设计(下)
- 新生儿的真菌感染
- 《冰雪奇缘》观后感
- 北京居住小区雨水收集利用系统的探索 (1)
- 2013学年第一学期四年级语文期末试卷
- 茉莉花的栽培技术
- 南宁市自驾车旅游者行为研究
- 亲情与感恩体验孝道主题 体验报告 中文
- 人力资源理论激励机制的探究
- 多元化经营与绩效关系的实证研究
- 小学生开学第一课《安全教育》教案
- 代写年终总结成致富新路