微机原理第六章

合集下载

微机原理与接口技术第6章PPT课件

微机原理与接口技术第6章PPT课件

习题6
6.1 利用全地址译码将6264芯片接在8088的系统总线上, 其所占地址范围为BE000H~BFFFFH,试画连接图。
6.2 试利用6264芯片,在8088系统总线上实现 00000H~03FFFH的内存区域,试画连接电路图。
6.3 叙述EPROM的编程过程。说明EEPROM的编程过 程。
译码器74LS138的工作条件是G1=1,G2A=0,G2B=0,译码 输入端为C、B、A,故输出有八种状态,因规定CS低电平选中 存储器,故译码器输出也是低电平有效。
A1
B2
C3
G2A
4
G2B
5
G1
6
Y7
7
GND 8
16
VCC
15 Y0
14
Y1
13
Y2
12
Y3
11 10
Y4 Y5
9
Y6
G1 G2A G2B
1) 读方式 读方式是2764A通常使用的方式,此时两个电源 引脚VCC和VPP都接至+5 V。 PGM=1,CE=0、OE=0。
2) 备用方式 CE为高电平,没有选中芯片,输出端为高阻态。 3) 编程方式 这时,VPP接+12.5 V,VCC仍接+5 V。 CE=0,输出允许信号OE=1。每写一个地址单 元,都必须在PGM引脚端给一个低电平。
第6章 主 存 储 器
6.1 概 述
存储器芯片在标定存储器容量时,经常同时标出 存储单元的数目和每个存储单元的位数,因此有
存储器芯片容量=单元数×位数
如Intel 2114芯片容量为1 K×4位/片,Intel 6264为8 K×8位/片。
单元数= 2地址线数量 位数=数据线数量

微机原理第6章PPT课件

微机原理第6章PPT课件

6.2 输入/输出方式
从CPU与外设通讯的特点可知,在数据的传送过程中, 关键问题是控制交换过程。 数据传送的控制方式有: 程序控制下的数据传送——通过CPU执行程序中的I/O指令 来完成传送,分为:无条件传送、查询传送 中断控制的传送方式 直接存储器存取(DMA)——传送请求由外设向DMA控制 器(DMAC)提出,后者向CPU申请总线,最后DMAC利 用系统总线来完成外设和存储器间的数据传送 I/O处理机——CPU委托专门的I/O处理机来管理外设,完成 传送和相应的数据处理
针对某种外设设计、与该种外设接口
面向微机系统的专用接口芯片
与CPU和系统配套使用,以增强其总体功能
4. 接口电路的可编程性
许多接口电路具有多种功能和工作方式, 可以通过编程的方法选定其中一种
接口需要进行物理连接,还需要编写接口 软件
接口软件有两类:
初始化程序段——设定芯片工作方式等 数据交换程序段——管理、控制、驱动外设,
字节输入(8位) 字输入(16位) 双字输入(32位)
(PORT)← AL (PORT+1,PORT)← AX ( PORT+3 , PORT+2 , PORT+1 , PORT ) ←EAX AL ←(DX) AX ←(DX+1,DX) EAX ←(DX+3,DX+2,DX+1,DX) (DX)← AL (DX+1,DX)← AX (DX+3,DX+2,DX+1,DX)← EAX
例1 指令 IN AL,20H 若(20H)=29H, 则指令执行后,AL=29H。
例2 指令 OUT DX,EAX 若DX =2000H,EAX =2FAB3147H, 则 指 令 执 行 后 , 地 址 为 2003H 、 2002H 、 2001H、2000H的端口的内容分别为2FH、 ABH、31H和47H。

微机原理与接口技术_第6章 IO接口

微机原理与接口技术_第6章 IO接口

三、I/O端口编址 (续) 2.I/O独立编址(续)
缺点: 专用I/O指令增加指令系统复杂性,且I/O指 令类型少,程序设计灵活性较差; 要求处理器提供MEMR#/MEMW#和IOR#/IOW#两 组控制信号,增加了控制逻辑的复杂性。

三、I/O端口编址 (续)
PC系列微机I/O端口访问 1.I/O端口地址空间
程序控制方式
程序控制方式是指CPU与外设之间的数据传送由程序 控制完成。 程序控制方式又分为无条件传送和条件传送两种 1.无条件传送方式(同步传送) 特点:输入时假设外设已准备好,输出时假设外设 空闲。 要求:输入接口加缓冲器,输出接口加锁存器。 应用:对简单外设的操作。
1. 无条件传送方式(同步传送) 输入接口的设计要求:
寻 址 确定输入端口地址 AB、M/ IO、ALE、DT/R 等待数据输入 等待数据输入 输入缓冲器 读入数据 输入缓冲器 DB CPU
一、 I/O 接口的功能 (续)
3. I/O接口应具有的功能(解决的方案)
1) 设置数据缓冲器以解决两者速度差异所带来的 不协调问题; 输出时: CPU DB 锁存器 输出设备数据线
以上三类信息分别通过各自的寄存器和相应的控制逻辑 来完成信息的传送。通常将这类寄存器和相应的控制逻辑称 为I/O端口。CPU与一个外设之间通常有三个端口。数据端口 (输入/输出);状态端口;控制端口。
二、I/O接口的一般结构 (续) I/O接口组成:接口由接口硬件和接口软件组成。 1.接口硬件
接口

这类接口面对总线,因此要使用三态输出器件; 对于输入信号有记忆功能的一般使用三态门; 对于输入信号无记忆功能的一般还要增加锁存功能;
1. 无条件传送方式(同步传送)

第 6 章 存储器——微机原理课件PPT

第 6 章  存储器——微机原理课件PPT

18个引脚:
A4 3
10 根地址线 A9~A0 4 根数据线 I/O4~I/O1 片选 -CS
读写 -WE
A3 A0 A1 A2 -CS
4 5 6 7 8
GND 9
18 Vcc
17 A7 16 A8 15 A9 14 I/O1 13 I/O2 12 I/O3 11 I/O4 10 -WE
A3 A2 A1 A0
第 6 章 存储器
6.1 半导体存储器的分类 6.2 读写存储器(RAM) 6.3 现代RAM 6.4 只读存储器(ROM)
微型计算机的存储结构
寄存器——位于CPU中
主 存 —— 由 半 导 体 存 储 器(ROM/RAM)构成
辅 存 —— 指 磁 盘 、 磁 带 、 磁鼓、光盘等大容量存 储器,采用磁、光原理 工作
在微型计算机中,CPU对存储器进行读写操作, 首先要由地址总线给出地址信号,然后要发出相 应的是读还是写的控制信号,最后才能在数据总 线上进行信息交流。所以,RAM与CPU的连接, 主要有以下三个部分: (1) 地址线的连接; (2) 数据线的连接; (3) 控制线的连接。
用1k*4 的片子 2114 组成 2k*8 的存储器 —— 需 4 个芯片 地址线—— (211=2048)需 11 根 ( 片内 10 根,片选 1 根) 数据线—— 8 根 控制线—— IO/ M 和 WR
半导体存储器的分类
半导体 存储器
双极型RAM
随机存取存储器 (RAM)
静态 RAM(SRAM) 动态 RAM(DRAM) 非易失 RAM(NVRAM)
掩膜式ROM
只读存储器 (ROM)
一次性可编程 ROM(PROM) 紫外线擦除可编程 ROM(EPROM)

微机原理课件第六章资料

微机原理课件第六章资料
微机原理及接口技术
教师:王茜 邮箱:wq_cduestc@
第6章 输入/输出和中断技术 本章重点:
· 掌握地址译码技术及I/O端口编址方法; · 掌握8086对数据输入/输出的控制方式; · 掌握中断类型码、中断向量和中断向量表三者之间的关系; · 了解8086的中断机构,理解8086的硬中断及INTR与NMI的区别
6.2.1 程序控制方式 1. 无条件传送方式 * 最简单的I/O控制方式,CPU可以随时根据需要无
条件地读写I/O端口 * 外设要求:简单,数据变化缓慢,操作时间固定
,如一组开关或LED显示管。外设被认为始终处 于就绪状态
* 接口特点
– CPU的DB→I/O接口(输出锁存器)→外设 – CPU的DB←I/O接口(输入缓冲器)←外设
R 77AH W 77AH
6.2 输入/输出的控制方式
· 外设的速度与CPU相比要慢好几个数量级,且不 同外设之间的速度也相差很大,为了保证数据传 输的可靠性,CPU一定要等外设准备就绪之后才 能执行输入/输出操作,而外设就绪的时刻对CPU 而言是随机的,因此需要同步。
• 三种I/O同步控制方式: –程序控制方式:无条件传送和程序查询 –中断控制方式 –直接存储器存取方式,DMA方式
74LS04
&
74LS20 &
≥1 AEN ≥1
IOR
74LS32
≥1 R77AH
读/写操作77AH端口地址的译码电路
AAAAAAAA198654310
& 74LS30 ≥1
A15 A14
74LS04
&
AA1132
≥1 74LS20
A11
&
AAA720 AEN

微机原理第6章 Proteus仿真平台的使用

微机原理第6章 Proteus仿真平台的使用

8086模型的基本属性
属性
时钟 外部时钟
默认值
1MHz NO
描述
指定处理器的时钟频率。在外部时钟被选中的情况 下此属性被忽略。 指定是否使用内部时钟模式,或是响应已经存在 CLK引脚上的外部时钟信号。注意,使用外部时钟 模式会明显的减慢仿真的速度。 指定一个程序文件并加载到模型的内部存储器中。 程 序 文 件 可以 是 二 进 制文 件 、 与 MS-DOS兼 容 的 COM文件或是EXE格式的程序。 决定外部程序加载到内部存储器中的位置。 内部仿真存储区的位置。 内部仿真存储区的大小。
有智能识别功能的鼠标
鼠标对界面有智能识别功能,即鼠标会自动根据功能改变显示的式样
ISIS的基本操作
1、绘制原理图
绘制原理图是ISIS仿真的主要工作之一,必须在原理图编辑窗口中的 编辑区域内完成。
2、定制自己的元件
有三种方法定制自己的元件: (1)用PROTEUS VSM SDK 开发仿真模型,并制作元件; (2)在已有的元件基础上进行改造。例如,把元件改为总线接口的; (3)利用已制作好(现成)的元件。可以到网上下载一些新元件并把 它们添加到自己的元件库里面。
第6章 Proteus仿真平台的使用
Proteus入门
内容安排
6.1 Proteus简介 6.2 Proteus ISIS基本使用 6.3 Proteus ISIS下8086的仿真
6.1 Proteus简介
Proteus是英国Labcenter公司开发的电路分析 与实物仿真及印制电路板设计软件,它运行于 Windows操作系统上,可以仿真、分析各种模拟 电路与集成电路。Proteus提供了大量模拟与数字 元器件及外部设备,各种虚拟仪器,特别是它具有

微机原理 第6章 输入和输出

微机原理 第6章 输入和输出

14
⒈无条件传送的输入方式
数据 三 来自 外设 态 缓冲器 8 数据总线DB 数据总线 地址译码器 地址总线
当执行: 当执行: IN AL , n
IO/M RD 图6-2 无条件传送的输入方式
15
⒉无条件传送的输出方式
74LS273 锁存器 到外设 CLK n IO/M WR 无条件传送的输出方式 8 数据总线DB 数据总线 地址译码器 地址总线
第6章 输入和输出
6.1 概述 6.2 输入和输出的寻址方式 6.3 CPU与I/O之间的接口信号 与 之间的接口信号 6.4 CPU与外设之间数据的传送方式 与外设之间数据的传送方式
1
6.1 概 述
输入和输出设备是计算机系统的重要 输入和输出设备是计算机系统的重要 组成部分。 组成部分。
程序 原始 数据 信息
25
1. 查询输入方式
数据口 • o 输 数据 入 > 装 +5V • oR
D 数据 M / IO
o
o o
CS
RD 地址译码
A7~ A0
数据端口
去DB 状态信息
Q
状态端口 地址 译码
Ready(D4) o 状态口 o CS o o
选通 信号

M / IO
RD
图6-5 查询式输入接口电路
26
当输入装置数据准备好① 当输入装置数据准备好①发出一个选通信 一面把数据锁存起来,一面送 号,一面把数据锁存起来 一面送 触发器的 一面把数据锁存起来 一面送D触发器的 CLK端,将D=1打入 端,使Q=1;②CPU读入状 打入Q端 使 端将 打入 ; 读入状 态信息READY(D4) ;③当READY=1,输入数据; 输入数据; 态信息 输入数据 读入数据同时,将状态信号清零 将状态信号清零。 ④读入数据同时 将状态信号清零。 程序段如下: 程序段如下:

微机原理第6章 8086或8088微机系统的功能组件

微机原理第6章 8086或8088微机系统的功能组件

6.3 中断控制器Intel 8259A 6.3.1 概述
6.3.2 Intel 8259A的功能
6.3.3 8259A的结构 6.3.4 8259A芯片的工作方式
6.3.5 8259A在IBM PC/XT机的外部中断系统
中的应用
6.4 可编程DMA控制器DMAC 8237A 6.4.1 概述 6.4.2 DMA控制器8237A
CLK0 GATE0 OUT0

读写 控制逻辑
据 总 线
计数器 1
CLK1 GATE1 OUT1 CLK2 GATE2 OUT2
计数器 2
6.2 可编程定时/计数器 8253/8254
6.2.3 8253的工作方式
根据对工作方式寄存器中控制字M2、M1和M0的不同 设置,8253可以工作于6种不同的工作方式。表6.2列出了 8253 不同工作模式下效果。
6.2 可编程定时/计数器 8253/8254
表6.2 8253 不同工作模式下效果
工作方式 0 1 2 3 工作效果 OUT的输出
计数器初值装 载特征
重装载
GATE的作用 低或变为低 禁止计数 — ①禁止计数 ②立即使输出为高 ①禁止计数 ②立即使输出为高 禁止计数 — 上升沿 — 高电平 允许计数 — 允许计数 允许计数
6.2 可编程定时/计数器 8253/8254
8253 的内部结构逻辑见图 6.3 。它主要由 4 个基本的
单元组成,它们是:
•数据总线缓冲器单元 •读写控制逻辑单元
•控制字寄存器单元
•3个计数器逻辑单元。
6.2 可编程定时/计数器 8253/8254
D7~D0
数据总线 缓冲器
计数器 0
内 部

微机原理第6章

微机原理第6章
返回
第6章 Authorware 7.0 基础 显示图标的使用——过渡特效设置
Multimedia
效果实例
返回
第6章 Authorware 7.0 基础 本章小结
Multimedia
Authorware 7.0是一款功能强大的多媒体作品制作软件,可以集成多种 是一款功能强大的多媒体作品制作软件, 是一款功能强大的多媒体作品制作软件 多媒体元素,提供了丰富、灵活的人机交互方式。 多媒体元素,提供了丰富、灵活的人机交互方式。 本章首先对界面组成、图标类型、演示窗口的相关设置等进行了简要介绍。 本章首先对界面组成、图标类型、演示窗口的相关设置等进行了简要介绍。 接着通过一个可以实现循环播放图形图像的实例,分别介绍了显示图标、 接着通过一个可以实现循环播放图形图像的实例,分别介绍了显示图标、等 待图标、擦除图标、群组图标、计算图标、声音图标的基本使用及设置方法。 待图标、擦除图标、群组图标、计算图标、声音图标的基本使用及设置方法。 又通过一个交互实例介绍了三种最常用的交互响应方式(按钮、热区域、 又通过一个交互实例介绍了三种最常用的交互响应方式(按钮、热区域、热 物体) 物体),在制作过程中除对上一个综合实例所用到的各种图标的使用做了复 习巩固之外,还对数字电影图标、框架图标、移动图标、 习巩固之外,还对数字电影图标、框架图标、移动图标、标志旗的基本使用 及设置方法做了讲解。最后,讲解了“一键发布”的设置及发布方法, 及设置方法做了讲解。最后,讲解了“一键发布”的设置及发布方法,并对 如何实现内部过渡特效之外的过渡特效正常使用做了讲解。 如何实现内部过渡特效之外的过渡特效正常使用做了讲解。 有了本章的基础,不但可以为下一章的作品制作奠定基础, 有了本章的基础,不但可以为下一章的作品制作奠定基础,也使有进一步深 入学习Authorware 7.0愿望的读者自学其它内容变得简单易行。 愿望的读者自学其它内容变得简单易行。 入学习 愿望的读者自学其它内容变得简单易行

微机原理第6章_3学分

微机原理第6章_3学分

第六章输入/输出方式与接口芯片第一节输入/输出方式第二节中断第三节可编程定时/计数器8254及其应用第四节可编程并行I/O接口芯片8255A及其应用第五节可编程中断控制器8259及其应用第一节输入/输出方式●教学目标介绍I/O 接口的基本概念介绍I/O端口的编址方式介绍CPU与外设间的数据传送关系●学习要求掌握I/O接口的基本功能,了解接口的一般结构熟悉I/O端口的编址方式,了解IN/OUT指令的执行过程掌握微机与外设的各种传送方式,了解DMA传送过程一、I/O接口1)I/O接口的基本概念I/O接口是连接CPU与外设的逻辑控制部件,它主要在CPU与外设间起着传输状态与命令信息,实现数据的缓冲、数据格式转换等作用。

它的主要功能有:选择外设对外设进行控制和监视进行数据寄存和缓冲进行数据格式转换进行信号电平转换I/O接口的分类并行I/O接口和串行I/O接口可编程接口和不可编程接口专用接口和通用接口2)I/O接口的基本结构主要包含有数据端口、状态端口和控制端口数据端口用于存放数据信息,包括数据输入寄存器和数据输出寄存器,主要作用是协调CPU和外设之间的数据传输速度。

控制端口用于存放控制信息,控制信息是CPU通过接口传送给外设的,其主要作用是控制外设工作,如控制输入输出装置的启/停等。

状态端口用于存放状态信息,即反映外设当前工作的状态信息,CPU可通过读取这些信息,了解外设当前的工作情况。

3)I/O端口的寻址方式在一个微机系统中既有存储单元地址又有I/O端口地址,根据两者地址的不同安排可分为以下两种寻址方式。

存储器统一编址在这种方式中,把I/O端口作为存储器的一个单元来对待,即每个端口占用一个存储单元地址。

此时,对I/O端口操作可以使用全部的存储器指令,而不必另设专门的I/O指令。

由于该方式是将I/O地址映射到了存储器地址空间,所以也称为存储器映像方式。

I/O端口独立编址在这种方式下,I/O端口与存储器各自独立编址,这样存储器地址和I/O端口地址可以重叠。

微机原理与接口技术第6章_IO接口和总线

微机原理与接口技术第6章_IO接口和总线
在微型计算机系统中,CPU通过接口和外设交换数据时,只有输 入(IN)和输出(OUT)两种指令,所以只能把状态信息和命 令信息当作数据来传送,并且将状态信息作为输入数据,控制信 息作为输出数据,于是三种信息都可以通过数据总线来传送了。 这三种信息被送入三种不同端口的寄存器,因而能实施不同的功 能。
6.1、 I/O接口
查询式输入代码片段
6.1、 I/O接口
查询式输出
6.1、 I/O接口
查询式输出时,状态寄存器的状态指示输出设备是否空 闲。
外设
数据线
状态线
6.1、 I/O接口
查询式输出工作过程
当输出设备将数据输出后,会发出一个ACK信号,使D触 发器翻转为0。
CPU查询到这个状态信息后,便知道外设空闲,可以执行 输出指令,将新的输出数据发送到数据总线上,同时 把数据口地址发送到地址总线上。
由地址译码器产生的译码信号和WR相“与”后,发出选 通信号,将输出数据送至8位锁存器。同时,将D触发 器置为1,并通知外设进行数据输出操作。
6.1、 I/O接口 查询式输出流程图
6.1、 I/O接口
常用的状态线有empty,busy 功能: 1、输出设备空闲,BUSY无效; 2、CPU写数据端口,输出设备输出数据,
缓冲器74LS244和74LS245 锁存器74LS373
6.1、 I/O接口 二、简单的输入输出接口芯片 1. 缓冲器74LS244和74LS245
连接在总线上的缓冲器都具有三态输出能力。 在CPU或I/O接口电路需要输入输出数据时,在它 的使能控制端EN(或G)作用一个低电平脉冲,使它的 内部的各缓冲单元接通,即处在输出0或1的透明状态。 数据被送上总线。 当使能脉冲撤除后,它处于高阻态。这时,各缓冲单元 像一个断开的开关,等于将它所连接的电路从总线脱开。 74LS244和74LS245就是最常用的数据缓冲。除缓冲作用 外,它们还能提高总线的驱动能力。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章
微型计算机的程序设计
6.1 6.2 6.3 程序设计步骤 简单程序 分支程序
6.4
6.5
循环程序
子程序
6.6
查表程序
6.1
程序设计步骤
汇编语言程序设计归纳如下7个步骤: (1)分析问题:要把解决问题所需条件(原始数据、输入和输出 信息等)搞清楚。 (2)建立数学模型:把问题数学化、公式化。 对于不能用数学模型来描述的,需要建立近似数学模型 模拟问题,来实现其目的。 (3)确定算法:算法通常用流程图,按计算机能够接受的方法 进行描述。 (4) 汇制程序流程图:程序流程图是用箭头线段、框图及菱形 图等绘制的一种图,用它把程序内容直接描述出来。 (5)内存空间分配:在编程时,要为程序和数据分配存储空间。 (6)编制程序与静态检查:程序的结构要层次简单、清楚、易 读、易维护,最好是模块化和通用子程序结构。 (7) 程序调式。
6.2 简 单 程 序(顺序)程序设计 程序设计举例 例1 编程计算 80H×(30H+20H) S = Data segment 185H S DW ?,? 加法ADD 顺序程序要考虑以下内容: Data ends 1、组织初始、中间、结果数据。 乘法 MOV AL ,30H 2、计算的顺序,用变量、寄存器、 ADD AL ,20H 还是堆栈保存中间结果。 扩展 MOV BL ,80H MUL BL ;结果在AX中。 MOV BX , 185H 除法 SUB DX , DX ; 扩展被除数为双字/字 DIV BX 存结果 MOV S , AX ;存商。S为结果数据的符号地址 结束 MOV S + 2 , DX ;存余数 HLT
用十六进制写出下列程序每条指令执行后AX的 AX, 0 AX: 值 MOV DEC AX AX:
ADD ADC NEG OR AND XCHG SHL RCL
AX, AX, AX AX, AX, AH, AX, AX,
7FFFH 1 3FDFH 0EBEDH AL 1 1
AX: AX: AX: AX: AX: AX: AX: AX:
初始予置SI、DI BX、CX、CF、DF
调过程
二进制加法
十进制调整
存结果修改地址 返回LOOP处
N
CX = 0 ?
Y
结束
mov es, ax mov st, stack MOV SS ,AX MOV SP ,TOP MOV SI ,OFFSET A MOV DI,OFFSET SUM MOV BX,OFFSET B MOV CX,04 CLC CALL AAB MOV AH,4CH INT 21H
MOV BX, LP2: MOV CX, LP1: PUSHF POPF LOOP DEC BX JNZ HLT LP2 LP1 3E8H 176H
6.5 子


例5、做十进制加法 44332211+88776655
data segment A DB 11H,22H,33H,44H B DB 55H,66H,77H,88H SUM DB 20 DUP (?) data ends stack segment STA DB 20 DUP (?) TOP EQU LENGTH STA stack ends code segment ASSUME CS:CODE,DS:DATA ASSUME SS:STACK START: mov ax, data mov da, ax
AAB ADI:
PROC
NEAR
MOV AL,[SI] ADC AL ,[BX] DAA MOV [DI],AL INC SI INC DI
INC BX
LOOP ADI RET AAB ENDP CODE ENDS
END START
1.子程序调用与返回 子程序调用与返回由CALL和RET指令实现。 2.在编写实际子程序时要注意一列问题: (1)入口信息。 (2)出口信息。 (3)现场的保护和恢复。 (4)最后一条一定是RET指令。 (5)子程序说明: ①子程序名; ②功能、技术指标(如执行时间等); ③占寄存器和存储单元; ④入口、出口参数; ⑤嵌套哪些子程序。
AX BX CX BX AX DX
• 已知字变量W1和W2分别存放着两个压缩 BCD数,编写求两数之和,并将其和送到 SUM字节变量中的程序。 • 字变量W和字节变量B分别存放着两个非压 缩BCD数,编写求两数之积,并将它存储 到JJ字节变量中的程序。
….
Y
输入状态
测试 D1
D1 = 0 ?
N
输入数据
….
存内存
例6.6 要求设计一个软件延时程序,延时时间约 1mS左右。
分析题目:让计算机做一些无用的 操作,主要是用来拖延时间。完 成1mS的延时。 计算:通过一些无用的操作的时钟 周期,和一共要延时的时间计算 出循环次数。 采用PUSHF(10),和POPF(8) 作为循环体。LOOP指令的时钟 周期为(3.4)。需要的循环次数: X=延时时间/一次循环时间
例:用子程序调用实现1S的延时,子程序延时时间是1mS。 LP2: MOV CX, CALL LOOP HLT PROC PUSH MOV NOP LOOP NOP NOP POP CX RET ENDP 3E8H DELY LP2 NEAR CX CX, LP1
DELY
4DBH
LP1:
6.6 查表程序
分别写出实现如下功能的程序段
1. 将AX中间八位,BX低四位,DX高四位拼成 一个新字。结果存放在AX中。 2. 将CX中间八位取反,其余位不变。 3. 对数据段中以BX为偏移地址的连续三个单元 (字节)中的无符号数求和。结果存放在后 续两个单元中。 4. 对数据段中以BX为偏移地址的连续四单元 (字节)的内容颠倒来。 5. 将BX中的四位压缩BCD数用非压缩BCD数 形式按序放在AL,BL,CL和DL中。 6. 不用乘法指令实现AL(无符号数)乘以20。
MOV ES:[SI], BL ADD [BP+500H], AH SUB [SI-300H], AL MOV [DI+1000H], DL
MOV [BX-8], CL
MOV ES:[DI+1000H], CH
MOV [BP+SI], DH
MOV [BX+DI], DL
• • • • • •
指出下列指令是否合法: MOV AX, DL MOV [BX], 5 ADD AX, 5 MOV DS, 1000H PUSH CH POP CS ADD ES, AX MOV SS, CS DEC BX INC[BX]
循环体
修改部分
Y
控制
N 结束
例3、 累加从地址 01000H开始的 5 个字的內容, 并将和存入SUM单 元(一个字长) 开始
Dt segment 01000H→ 23H 初始 SI、 ORG 1000H 01H CX AB DW 0123H,2A00H,52EFH 01002H→ 00H 2AH DW 0700H,7255H 01004H→ EFH 相加 SUM DW ? 52H Dt ends 01006H→ 00H 07H Code segment 修改 SI 01008H→ 55H assume cs: code 72H assume ds:data 0100AH→ N CX = 0? START:MOV AX ,DATA 0100BH→ MOV DS ,AX Y MOV CX ,05 SUM 结束 MOV AX ,0 和存 SUM 控制计数循环 LEA SI ,AB
6.4
循环程序设计
开始
初始化
循环程序设计分为三部分: 1、设置初始部分:设置循环次数,地址 指针或其它初始状态。 2、循环体:包括工作部分和修改部分。 3、控制部分:控制循环次数。 控制方式有多种: •计数控制:每次循环加或减计数,并判定 总次数以达到控制循环。 •条件控制:在循环时判定某种条件的真假 达到控制循环。 •状态控制:事先设定二进制位的状态,测 试其状态,决定循环。
根据状态控制循环
BEGIN :IN AL ,52H ;从状态口读 TEST AL ,02 ;测试 D1 = 0 ? JZ BEGIN ;D1 = 0 转,继续查 IN AL ,50H ;D1 = 0,数据口 MOV [DI] ,AL ;数据存内存 INC DI
52H是接口中的状态口,其中D1 位等于1 时,表示CPU可从数据口 读数据。
用汇编语言编制计算较为复杂函数(如sin x) 的程序时,通常采用查表方法。例:
【例6.9】 用查表程序方法。求X2。(假定X≥0,且为整数)。 BX AL 其操作步骤如下: 1 、将平方表定位到某个逻辑段 的一片连续地址中, 2、将其表首址的偏移量置入BX。 3、将变量值装入到AL寄存器中。 00H 01H 04H 09H 10H ┋ BX+0H BX+1H BX+2H BX+3H BX+4H ┋ BX+AL
开始 设置CX(循环次数)
循环体

CX←CX-1 判断CX=0 是 暂停
START: MOV LP1: PUSHF POPF LOOP HLT
CX, 176H
LP1
假设要延时1S。 若是以前循环体,则 需循环373832次。而 CX的取值范围是0~ 65535。因此需要用 到多重循环。需要增 加一个循环计数器。
6.3 分 支 程 序
例2 检查输入的字符,如果输入字符为A则显示, 否则循环等待。
输入字符
STA: MOV INT CMP JZ JMP DISY:MOV MOV INT HLT
AH ,07H 21H;键入Ctr-Break结束 N 是否为 A? AL,41H Y DISY STA 显示A AH,02H N 条件 Y DL,AL 结 束 21H 执行A 执行B
相关文档
最新文档