第七章微机原理

合集下载

微机原理第7章 8086中断系统和中断控制器

微机原理第7章 8086中断系统和中断控制器

3)高级中断源能中断低级的中断处理
中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时, 如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程 序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被 1 中止的中断服务程序,这一过程称为中断嵌套。 • 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。
外部中断 非屏蔽中断 可屏蔽中断
可屏蔽中断源
CPU 中断逻辑
INTR
8259A 中断 INTA 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
内部中断: 除法错中断 指令中断 溢出中断 单步中断
硬件(外部)中断 非屏蔽中断请求 INT 2 NMI(17号引脚) 中 断 逻 辑 可屏蔽中断请求 中断类型号32~255 INTR(18号引脚)
中断指令 INT n N=32~255
溢出中断 INTO INT 4
断点 中断 INT 3
单步中断 (TF=1) INT 1
除法 错误 INT 0
软件(内部)中断
8086/8088中断源
1.软件中断(内部中断) 8086/8088的软件中断主要有三类共五种。 (1) 处理运算过程中某些错误的中断 执行程序时,为及时处理运算中的某些错误 ,CPU以中断方式中止正在运行的程序,提醒程 序员改错。 ① 除法错中断(中断类型号为0)。在8086 /8088 CPU执行除法指令(DIV/IDIV)时,若发现 除数为0,或所得的商超过了CPU中有关寄存器所 能表示的最大值,则立即产生一个类型号为0的 内部中断,CPU转去执行除法错中断处理程序。

《微机原理及接口技术》第七章

《微机原理及接口技术》第七章

出一个脉冲,脉冲宽度等于CLK周期。
特点:计数初值装入计数器后,由GATE信号控制,若GATE信号为0时,暂停计数, 当变为高电平的下一个CLK脉冲又开始重新计数。计数过程中,CPU可随时改
变计数值,当计数器减为0时,又按新的计数值分频。
J X G
9/20
J X G
微机原理及接口技术 一、8253的工作方式4
第十章
1/20
J X G
微机原理及接口技术 第七章、可编程计数/定时控制器8253
本章要点:
计数器/定时器基本概念 可编程计数器/定时器8253的工作原理 可编程计数器/定时器8253结构、功能 可编程计数器/定时器8253的应用
J X G
2/20
J X G
微机原理及接口技术
7.1 可编程计数/定时控制器8253的结构
J X G
存命令(RW1RW0 = 00)后读入计数器当前值的方法。
15/20
J X G
微机原理及接口技术
二、8253的控制字和编程
例7-1:设CLKo输入方波为1MHz,计数器0#的定时时间范围可这样确定:若计数初 值为0(计数器#0是16位的,故计数初值0对应最大计数值216=65536),即 CLKo端输入65536个方波后,OUTo输出定时时间到信号。 定时时间为:
4、计数器0、计数器1、计数器2: 内部结构相同、功能相同,有各自独立的端口地址。
每个计数通道都由计数初值寄存器、减法计数器和计数值锁存器这三个组成。
作计数/定时器时,计数次数/定时系数提前预置到计数器,计数/时钟以脉冲方式从
CLK端输入,每输入一个脉冲计数器减1,减到0,OUT端有输出,计数结束/定时时间到。
① 设定工作方式(1)

微机原理第7章练习题及答案

微机原理第7章练习题及答案

第7章输入/输出与中断一、自测练习题㈠选择题1.一微机系统有10根地址线用于I/O端口寻址,因而具有I/O空间的范围是( )字节。

A) 1024 B) 10K C) 0.5M D) 1M2.8086CPU读/写一次存储器或I/O端口所需的时间称为一个( )。

A) 总线周期 B) 指令周期 C) 时钟周期 D) 基本指令执行时间3.微型计算机的输入/输出有三种不同的控制方法,其中以( )控制的输入/输出是微机进行I/O的一种最主要的控制方式。

A) 程序控制 B) 中断控制C) DMA控制D) 以上均可4.程序查询I/O方式的工作流程是按( )的次序完成一个字符的传输。

A) 写数据端口,读/写控制端口B) 读状态端口,读/写数据端口C) 写控制端口,读状态端口,写数据端口D) 随I/O接口的具体要求而定5.在CPU与外设的I/O传送控制方式中,效率高、实时性强的方式是( )。

A) 同步传送 B) 查询传送 C) 无条件传送 D) 中断传送6.在CPU与外设的I/O传送控制方式中,传送速度最快的方式是( )。

A) 无条件传送 B) 查询传送 C) 中断传送 D) DMA传递7.用具有两个状态(“0”和“1”态)的一组开关作简单输入设备时,应采用( )传送方式来输入信息。

A) 无条件B) 查询C) 中断D) DMA8.用一组发光二极管作为简单输出设备时,应采用( )传送方式来输出信息。

A) DMA B) 无条件C) 查询D) 中断9.在微机系统中引入中断技术,可以( )。

A) 提高外设速度B) 减轻主存负担C) 提高处理器的效率D) 增加信息交换的精度10.CPU响应中断请求的时刻是在( )。

A) 执行完成正在执行的程序以后 B) 执行完正在执行的指令以后C) 执行完本时钟周期以后D)执行完正在执行的机器周期以后11.8086/8088CPU向应两个硬中断INTR和NMI时,相同的必要条件是( )。

A) 允许中断B) 当前I/O操作执行结束C) 总线空闲D) 当前访问内存操作结束12.在微型计算机系统中,高速外设与内存储器进行批量数据传送时,应采用( )。

微机原理课后答案7

微机原理课后答案7

第七章部分习题解答1、指出:(1)MOV AX,V AR;(2)LEA AX,V AR;(3)MOV AX,OFFSET V AR三条指令之间的异同(V AR为数据段的一个变量名称)解: (1)将V AR的一个字送AX,相当于MOV AX,[V AR](2) 将VAR的偏移地址送AX(3) 将VAR的段内偏移地址送AX,功能与(2)相同。

2、若程序中多次使用某一程序段,问将该程序段设计成子程序和定义成宏指令各有何优缺点?答:设计成子程序在整个程序占用内存少,但执行时间长;定义成宏指令程序汇编后占用内存多,但执行时间短。

3、下面列出的是一个汇编源程序中的一个程序段。

试以图形表示出DATA段中各变量在存储器中的存储位置(标明偏移地址及有关单元的内容,制表示);写出CODE段内汇编后的可执行指令。

TABLDA TA SEGMENTTABL DB‘ABCD’2 DUP(2 DUP(1,2),3)V AR DW 4 DUP(?)DA TA ENDSCODE SEGMENTASSUME CS:CODE,D S:DATAORG 100HLEB1:LEA SI,TABLMOV BX,OFFSET V ARMOV AX,LENGTH V ARMOV AX,TYPE V ARMOV AL,SIZE V ARMOV AH,SIZE TABLMOV CX,(OFFSET V AR-(OFFSET TABL)V ARLEA DX,LEB1解: DATA段各变量的存储情况如右图所示,对CODE段可执行指令注释如下:LEB1:LEA SI,TABL ;将TABL的偏移地址送SIMOV BX,OFFSET V AR ;将V AR的偏移地址送BXMOV AX,LENGTH V AR ;将V AR的项数(4)的送AXMOV AX,TYPE V AR ;将V AR的符号名类型值02送AXMOV AL,SIZE V AR ;将为V AR分配的字节(08)送ALMOV AH,SIZE TABL ; 将为TABL分配的字节(0EH)送ALMOV CX,(OFFSET V AR)-(OFFSET TABL);将OEH送CXLEA DX,LEB1 将LEB1(100H)送DX。

微机原理14162中断处理过程

微机原理14162中断处理过程

8
§7.2 中断处理过程
二、CPU对中断的响应
3. 识别中断源
CPU要对中断进行处理,必须找到相应的中断服 务程序的入口地址,这就是中断源的识别。
4. 保护现场
为了不使中断服务程序的运行影响主程序的状态, 必须把断点处的相关寄存器及标志寄存器压栈保 护。
5. 执行中断服务程序
6. 恢复现场 7. 开中断及返回
2019/10/3
4
§7.2 中断处理过程
一、CPU响应中断的条件
中断允许触发器的状态可用指令CLI和 STI来改 变,下述三种情况可关闭中断:
1) 当CPU复位时,中断允许触发器处于关中 断状态;
2) 中断请求被响应后,CPU自动关中断; 3) CPU执行关中断指令CLI后,中断关闭。
2019/10/3
2019/10/3
7
§7.2 中断处理过程
二、CPU对中断的响应
CPU进入中断响应周期后,中断响应过程如下:
1. 关中断
CPU在响应中断后,发出中断响应信号INTA,同 时内部自动关中断,以禁止接受其它的中断请求。
2. 保护断点 把断点处的IP及CS值入栈保存,以备中断处理完 后能正确返回断点。
2019/10/3
四、中断优先级
17
§7.2 中断处理过程
实现方法:
将8个外 设的中断 请求触发 器组合为 一个端口, 并给这个 端口赋以 设备号 (口地址),
2019/10/3
四、中断优先级
18
§7.2 中断处理过程
四、中断优先级
然后,把各外设的中断请求信号相或后作为INTR信 号。任何外设有中断请求时,都可向CPU发出INTR 信号。CPU响应中断后,把中断寄存器的状态作为 一个输入端口读进CPU,然后逐位检测其状态,若 有中断请求就转入相应的中断服务程序,这样优先 级的级别取决于软件查询的顺序,先测试的中断源 具有较高的优先级。

微机原理与接口技术_第7章8253

微机原理与接口技术_第7章8253
15
§7-1 8253的工作原理 ——8253的内部结构和引脚信号
然后,开始递减计数。即每输入一个时钟脉冲,计数
器的值减1,当计数器的值减为0时,便从OUT引脚输出 一个信号。输出信号的波形主要由工作方式决定,同 时还受到从外部加到GATE引脚上的门控信号控制,它 决定是否允许计数。 当用8253作外部事件计数器时,在CLK脚上所加的计 数脉冲是由外部事件产生的,这些脉冲的间隔可以是 不相等的。 如果要用它作定时器,则CLK引脚上应输入精确的时 钟脉冲。这时,8253所能实现的定时时间,决定于计 数脉冲的频率和计数器的初值,即 定时时间=时钟脉冲周期tc×预臵的计数初值n
16
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 ③引脚 8253的3个计数器都各有3个引脚,它们是:
CLK0~CLK2:计数器0~2的输入时钟脉冲从这里输
入。频率不能大于2MHz。
OUT0~OUT2:计数器0~2的输出端。
GATE0~GATE2:计数器0~2的门控脉冲输入端。
4
第七章 可编程计数器/定时器8253及其应用 ——概述 2. 不可编程的硬件定时 555芯片是一种常用的不可编程器件,加上外接电阻和电 容就能构成定时电路。这种定时电路结构简单,价格 便宜,通过改变电阻或电容值,可以在一定的定时范 围内改变定时时间。但这种电路在硬件已连接好的情 况下,定时时间和范围就不能由程序来控制和改变, 而且定时精度也不高。 3. 可编程的硬件定时 ①可编程定时器/计数器电路利用硬件电路和中断 方法控制定时,定时时间和范围完全由软件来确 定和改变,并由微处理器的时钟信号提供时间基 准,这种时钟信号由晶体振荡器产生,故计时精
12
§7-1 8253的工作原理 ——8253的内部结构和引脚信号 8253输入信号组合的功能表

微机原理 第七章中断控制器

微机原理 第七章中断控制器

CAS2
3
2 . 8259A的编程结构和工作原理
4
编程结构 (1)上半部分:处理部件 中断请求寄存器IRR 中断优先级裁决器PR 当前中断服务寄存器ISR (2)下半部分:7个寄存器 ICW1~ICW4 OCW1~OCW3
5
中断请求寄存器IRR
保存8条外界中断请求信号IR0-IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求
1. 中断优先权管理方式: 可见,8259A (1) 全嵌套方式 (2)特殊全嵌套方式 有多中工作方式, (3)自动循环方式 (4)特殊循环方式 使用起来很灵活, 2. 屏蔽中断源的方式 不易掌握,所以介 (1)普通屏蔽方式 (2)特殊屏蔽方式 绍编程之前,先对 3. 中断结束方式 其工作方式分类进 (1) 自动结束(AEOI)方式 行简要的介绍。 (2) 非自动结束(EOI)方式: ① 普通EOI方式;② 特殊EOI方式 4. 系统总线的连接方式(8259A级连方式) (1) 缓冲方式 (2)非缓冲方式 5. 中断请求的引入方式 (1) 边沿触发 (2)电平触发 (3)中断查询
• 优先级特殊循环方式:初始优先级队列是由编程确定的。 也可由操作命令字OCW2来设定。
10
2、屏蔽中断源的方式
• 普通屏蔽方式:8259A的每个中断请求输入端都可以通过 对应屏蔽位的设置被屏蔽,通过设置操作命令字OCW1使 屏蔽器中任一位或几位置1(对中断的屏蔽总是暂时的, eg:计算机网络通信)
5.
6.
16
五、中断响应过程(CPU与8259A的操作过程)
1、申请中断 外设 对应IR0 ~ IR7为“1”, 为“1” CPU的INTR输入“1”,申请中断。 2、响应中断的条件 CLI 使 IF = 0,禁止中断。 STI 使 IF = 1,允许中断。 判优后使INT

微机原理第7章ppt

微机原理第7章ppt

DMA方式
利用专用的接口电路直接在内存与外设端口之间直 接进行数据块传送,而不经过CPU中转的一种数据 传送方式。
特点:
无需CPU参与,无需软件介入,传送速度快,在 整个数据传输过程中都是由DMA控制器来控制 管理。
7.3
DMA控制器8237A
wws1996@
一、课前思考
1、8237A由哪几部分组成?
权,用DMA方式实现外部设备和存储器之间的
数据高速传输。
将DMA控制器中和某个接口有联系的部分
为一个通道。而一个DMA控制器一般由几个通
道组成。
wws1996@
7.3.1 8237A的主要功能
• 数据总线缓冲器
• 读写逻辑电路 • 工作方式寄存器 • 状态寄存器 • 优先选择逻辑 • 4个DMA通道
2、如何设置8237A的控制字?
3、8237A有哪些工作方式?各有何特点?
4、如何对8237A进行初始化编程?
二、学习目标
1、了解8237A的内部结构和引脚功能; 2、熟练掌握8237A控制字的设置; 3、熟练掌握8237A的工作方式及编程和应用。
wws1996@
三、难重点 1、8237A的内部结构及功能; 2、8237A的控制字的设置及其工作方式; 3、8237A的编程及应用。 四、主要知识点 1、8237A的控制字设置; 2、8237A的工作方式; 3、8237A的初始化及应用。
第7章 2、查询式输出 CPU通过执行程 序不断地读取并 测试外设的状态, 如果外设处于空 Y(忙) BUSY=1? N 输出数据 输入状态信息
闲状态,则CPU
执行输出指令,
否则就等待。
查询式输出程序流程图
第7章
DATA_PORT

微机原理与应用第七章

微机原理与应用第七章

表达式:由操作数和运算符组成的式子
⑴算术运算符: +、-、*、/、MOD(除法取余)、SHL(左移)、 SHR(右移)
例: MOV AX,100*4+5
⑵ 逻辑运算符:AND、OR、NOT、XOR
;AX=405
按位运算
关系运算结果总是 一个数值。若关系不 成立,则结果为0,若 关系成立,则结果 为0FFFFH
⑴ 定位方式(定位类型)
书(P162)
定位类型指出了对当前段起始地址的要求,有4个选项
PAGE ——指定起始地址的低8位是0,即其值能被256整除(称页边界) PARA ——指定起始地址的低4为是0,即其值能被16整除(称段边界)
例1:
DSEG1 SEGMENT DATA_B DB 10,5,10H DATA_W DW 100H,-4 DATA_D DD 0FFFBH DSEG1 ENDS
DSEG1: DATA_B
0AH 05H 10H
10 5
10H 100H -4
DATA_W
00H 01H FCH
汇编后的内存分配情况 如右图所示。
先定义
后引用
⑴ 字节定义语句DB
格式:[名字] DB <表达式或数据项表> 功能:表达式值或项表中的每一项是一个字节数, 符号地址 它们从符号名地址开始按字节连续存放。
例:COUNT DB 100 COUNT→ DB 0DH,0AH,’$ ’ VARW DB ?,6,?,?
可以使用重复操作符DUP如: BUFFER DB 8 DUP(0)
⑺ 汇编运算符的优先级
括号 LENGTH、SIZE PTR、OFFSET、…. HIGH、LOW *、/、MOD、SHL、SHR +、例:设SSY=2050H EQ、NE、LT、LE、GT、GE MOV AL,LOW 3080H ;AL=80H NOT MOV AH,HIGH SSY ;AH=20 AND MOV CL, LOW 3A4BH ;CL=4BH OR、XOR

微机原理第七章 输入输出方法及常用接口电路

微机原理第七章 输入输出方法及常用接口电路

编程并行接口芯片8255A
二、 8255的内部结构
编程并行接口芯片8255A
三、8255的引脚功能
PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
8251可编程通信接口
二、8251的结构和引脚特性
数据总线缓冲器
状态 缓冲器
发送数据/命 令缓冲器
接收数 据缓冲 器
RESET CLK C/D RD WR CS DTR DSR RTS CTS
读/写 控制电 路
发送器 P S
TxD
发送 控制 接收 控制 接收器 S P
TxRDY TxE TxC RxRDY SYN DET RxC RxD
输入/输出接口概述
五、 I/O接口的分类 通用接口 专用接口 串行接口 并行接口
编程并行接口芯片8255A
一、 8255A的主要特性


有3个8位并行数据I/O口PA、PB和PC口及1个8位控 制口CWR。 可编程设置方式0、方式1、方式2三种不同的工作方 式,用于无条件传送、查询传送和中断传送。 有两个控制字决定8255A的工作方式,通过编制初始 化程序,使用OUT指令从控制寄存器端口写入。有 一个状态字可供查询,使用IN指令从C端口读出。 提供兼容的TTL电平接口,原则上适用于需并行输入 输出的I/O设备。

微机原理及应用(第7章)讲解

微机原理及应用(第7章)讲解

7.3 可编程中断控制器Intel 8259A

在PC/XT微机系统中使用了一片8259A,在 PC/AT微机系统中使用了两片8259A。目前的PC
系列微机,其外围接口芯片(如80C286)都集
成有与两片8259A相当的中断控制电路。
7.3.1 8259A的功能

⑴ 具有8级优先权控制,通过级联可扩展至64级 ⑵ 每一级均可通过编程实现屏蔽或开放。
器。

7.2

80x86中断系统
80x86的中断系统可处理256种个中断 源。这些中断源可分为两大类: 外部中断(硬件中断) 内部中断(软件中断)
7.2.1 外部中断(硬件中断)


1、可屏蔽中断INTR 受CPU中断允许标志位IF的控制,即IF=1时,CPU 才能响应INTR引脚上的中断请求。

2. 需要说明的引脚:

A0:地址线,输入,在使用中8259A占用相邻两个端口地址,A0与 配合,A0=1 CS 选中奇地址端口,A0=0选中偶地址端口。在80X86的PC系列机中,主片 8259A的 端口地址为20H和21H。 CAS2~CAS0:级联信号线,对主片8259A,它为输出;对从片8259A,它为输入。 主、从片8259A 的CAS2~CAS0对应相连,主片8259A在第一个响应周期内通过 CAS2~CAS0送出识别码,而和此识别码相符的从片8259A在接收到第二个信号后 ,将中断类型码发送到数据总线上。
中断向量设置(DOS功能调用 INT 21H) 功能号:AH=25H 入口参数:AL=中断类型号,


DS:DX=中断向量(段地址:偏移地址)
获取中断向量(DOS功能调用 INT 21H)

微机原理微机原理讲义第7章课件

微机原理微机原理讲义第7章课件

缓冲器 (1)
CS
CPU DB
数据口 42H
M / IO
42H
15
查询式输入如图,状态线占用一根数据线D0,STB是选通 信号,在输入时随着数据一起从输入端口出现,是表示输 入数据已就绪的状态信号。CPU先读状态口,若状态就绪, 再读数据口。
…… …… ……
D7
D7
锁存器
缓冲器 (2)
D0
CS D0
STB
1
D CSLETRQ
Q CLR
STROBE: 选通信号
输入缓冲器
输出设备
输入设备
12
当外设作输入设备,输入数据的保持时
间相对于CPU的处理时间长,所以可以直接
用缓冲器;
外设作为输出设备,由于外设速度比较
慢,CPU的数据必须在接口保持一段时间,
因此必须采用锁存器。
无条件传输时,输出时,必须确认输出
ห้องสมุดไป่ตู้
锁存器的原数据无效,才能正确输出;输入
时,必须认为输入缓冲器中的数据已准备好,
6) 数据缓冲功能
主机与外设速度相差很大,为了防止数据丢失,I/O接口 均设有双向数据缓冲器。
6
7) 中断管理功能
有专门的中断管理接口,能完成中断判优、中断屏蔽,向 CPU送入中断类型码等功能。
8) 错误检测功能
多数可编程芯片都能自动检测出传输过程中出现的错误。 1.传输错误,如串口中的奇偶校验 2.覆盖错误
象也不同
CS
CLK1 OUT1
A1 A0 CLK2
D7 OUT2
D0 GATE1 GATE2
2MHz
VCC
11
输入输出传送方式
1)无条件传送方式

微机原理第七章

微机原理第七章
微机原理
第七章 串并行通信及其接口
微机原理
7.1 CPU与外设之间的数据传输
7.1.1 CPU与I/O接口
(1)接口电路的作用
微型计算机系统必须有各种接口电路。接口电路按功能可分为两类:一种是 使微处理器正常工作所需要的辅助电路,如时钟信号或接收外部的多个中断请
求等;另一种是输入/输出接口电路,微处理器用以接收外部设备送来的 信息或将信息发送给外部设备。
实现并行通信的接口就是并行接口。并行接口可以设 计为只用来输出,也可以只用来输入,或既作为输入又作 为输出接口。
Intel 8255A是一个通用的可编程的并行接口芯片,它的内部
有三个并行I/O口,又可通过编程设置多种工作方式,价格低廉,
使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有
⑧错误检测功能
在接口设计中,须考虑对错误的检测问题。当前多数可编程接口芯片一般都能检 测下列两类错误:
一类是传输错误。接口采用奇/偶校验位对传输错误进行校验。有些接口对数 据块传输能进行冗余校验。
另—类是覆盖错误。当计算机输入数据时,如果计算机还没有取走数据,输 入缓冲寄存器又被覆盖新的数据,就会产生一个覆盖错误。输出时也会产生覆 盖错误。接口会在状态寄存器中设置相应的状态。
微机原理
7.2.3 8255A的引脚功能
8255A作为一个通用的I/O接口芯片,在系统中的位置位于CPU与外设
之间。它的引脚信号可以分为两组:一组是面向CPU的信号,一组是面向外 设的信号。
微机原理
微机原理
CS RD WR
001 001 001 010 010 010 010
8255A的操作功能表
为了使CPU能适应各种各样的外设,就需要接口电路,由它完成相应的

微机原理课件ch07

微机原理课件ch07

Q(C,D)
2021/1/10
ENDM
第21页
过程调用和宏调用的区别
在处理时间上不同。 用宏指令得到的目标代码长,占内存空间大,而
且宏调用的次数越多,所占内存空间越大;用过 程占内存空间小,而且不会随调用次数的增加而 增加,但执行时间长。 传递参数的方式不同
2021/1/10
第22页
2021/1/10
PTR运算符
格式: 类型 PTR 表达式
例12:INC WORD PTR [BX]
THIS操作符
格式: THIS 类型(或属性)
例13:FIRST
EQU THIS BYTE
SECOND
DW 100 DUP (?)
2021/1/10
第27页
第19页
子程序调用和宏调用的区别
子程序调用工作方式
主程序
X←A,y←B CALL Q
x←C,y←D CALL Q
子程序Q(x,y) 执行时调用
Q: . . .
RET
2021/1/10
第20页
子程序调用和宏调用的区别
宏调用工作方式
主程序
子程序Q(x,y)
汇编时展开
Q A,B
Q(A,B)
Q C,D Q MACRO x,y
2021/1/10
第10页
伪指令
符号定义语句
等值语句
格式:符号名 EQU 表达式
例1: ⑴ PORT
EQU
⑵ BUFF
EQU
⑶ MEM
EQU
⑷ COUNT
EQU
⑸ ABC
EQU
1234 PORT+58 DS:[BP+20H] CX AAA
等号语句

第7章8253微机原理及应用

第7章8253微机原理及应用
计算计数初值: TC= 2.5MHz/ 2KHz=1250 方式字为:0011 0111B=37H (计数器0,写16位,方式3,BCD计数) 设端口地址为:80H、81H、82H、83H。 则初始化程序为:
MOV AL,37H;写入方式控制字 OUT 83H,AL MOV AL,50H;写入计数初始值低8位 OUT 80,AL MOV AL,12H ;写入计数初始值高8位 OUT 80H,AL
(3)读计数值 ①以普通对计数器端口读的方法取得当前计数值 ②锁存计数器的当前值(RL1RL0=00)
7.2.4 8253-5的应用举例 一、用8253-5监视一个生产流水线 1.硬件设计
INT 1 +5V
2.5MHz 8255PA0
OUT0 CLK0
GATE0
8253
CLK1 GATE1
OUT1
• 方式2:可变频率脉冲发生器
(MODE 2) CLOCK
WRn#
OUTPUT
n=4
n=3
4 3 2 1 0(4) 3 2 1 0(3) 2 1 0
0(3) OUTPUT
3 2 1 0(3) 2 1 0(3) 2 1 0
GATE (RESET)
方式3—方波速率发生器 方式3的输出都是周期性的,方式3在计数过程中输出
(2)计数器1用来产生动态存储器刷新操作的定 时控制,它工作于方式2,计数初值为18, OUT1端输出一个负脉冲序列,其脉冲周期约 为18 ÷1.1931816MHz=15.08(μs)。该输出将 作为动态刷新控制器8237A中通道0的DMA请 求信号DREQ0,控制DMA控制器完成每隔 15.08(μs)对系统中的动态存储芯片进行一次 刷新操作
– 选通输入(门控输入)GATE——用于启动或禁止计数器的 操作,以使计数器 和计测对象同步。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

标号名
伪指令
操作数
;注释
图7-1 伪指令语句格式
返回
微 机 原 理 及 应 用
常数、变量和标号
常数、变量和标号是汇编语言能识别的数据项, 它是指令和伪指令语句中操作数的基本组成部 分。一个数据项包含它的数值和属性两部分, 这两部分对一条语句汇编成机器目标代码都有 直接关系。 • 常数
• 变量
• 标号
返回
微 机 原 理 及 应 用
分离运算符
• 分离运算符主要有以下两种类型: (1)LOW 取低字节 格式:LOW(表达式)
(2)HIGH 取高字节
格式:HIGH(表达式)
设AB=2050H
MOV AL, LOW AB MOV CL, HIGH AB
返回
微 机 原 理 及 应 用
伪指令
• 伪指令没有对应的机器指令,它不是有8086/8088 CPU来执行,而是有MASM-86识别,并完成相应 的功能。MASM-86中使用的伪指令可分成以下14 类:
• 不带引号的?表示可预臵任何内容。 • 例如: DA_B DA_W DB ? ,? DW ?, ?
第一条语句是要求汇编程序分配两个字节单位, 第二条语句是要求分配两个字单元。这些单元 里现在可以是任意值。
返回
微 机 原 理 及 应 用
字符串表达式
• DB伪指令:为字符串中每一个字符分配一个字节单元。 字符串必须是用引号括起来且不超过255个字符。字符 串自左至右以字符的ASCII码按地址递增的排列顺序依 次存放。 • DW伪指令:可以给两个字符组成的字符串分配两个字 节存储器单元,而且这两个字符ASCII码的存储顺序是 前一字符在高字节,后一字符在低字节,每一个数据 项不能多于两个字符。 • DD伪指令:仅可给两个字符组成的字符串分配四个字 节单元,且这两个字符ASCII码是存储在两个低字节中, 两个高字节均存放00H。 返回 下一页
返回
微 机 原 理 及 应 用
偏移量属性
• 偏移量属性(OFFSET):表示变量在逻辑段 中离段起始点的字节数。 变量DATA1的偏移量为0
VAR-DATA DATA1 DATA2 DATA3 12H 34H 76H 98H
DATA2的偏移量为1
DATA3的偏移量为2
• 段属性和偏移量属性构成了变量的 逻辑地址
返回
微 机 原 理 及 应 用
变量
• 变量是代表存放在某些存储单元的数据,这些 数据在程序运行期间随时可以修改。为了便于 对变量的访问,它常常以变量名的形式出现程 序中,它可以认为是存放在数据存储单元的符 号地址。 (1)变量的定义与预臵
(2)数据定义伪指令
返回
微 机 原 理 及 应 用
变量的定义与预臵
返回
微 机 原 理 及 应 用
内存数据定义伪指令
返回
微 机 原 理 及 应 用
符号定义伪指令
• 格式:
(1)〈名字〉EQU〈表达式〉
(2)〈名字〉=〈表达式〉
作用:把表达式的值赋给符号名。
区别:在同一程序中,用EQU语句赋值的符号名 不能被重新赋值,但用“=”号赋值的符号名可以 被重新赋值。 “〈 〉”号表示此项不能缺省,但该符号不需要输 入。
(1)符号定义伪指令 (8)定位伪指令
(2)内存数据定义伪指令 (9)列表伪指令 (3)段定义伪指令 (10)系统隐含进位制伪指令
(4)段寄存器说明伪指令 (11)连接伪指令 (5)子程序定义伪指令 (12)记录伪指令 (6)模块开始伪指令 (13)结构伪指令 (7)模块结束伪指令 (14)块注释伪指令

• SHR:右移操作符
例如
32 MOD 5 = 2 21H SHL 2 = 2
返回
微 机 原 理 及 应 用
逻辑运算符
• AND:逻辑“与”操作符 • OR:逻辑“或”操作符 • XOR:“异或”操作符
• NOT:逻辑“非”操作符
例如 24H AND 0FH = 04H 24H XOR 0FH = 2BH
微 机 原 理 及 应 用
字符串表达式
STRING1 DB ‘ABCDEF’
STRING2 DW ‘AB’,’CD’,’EF’ STRING3 DD ‘AB’,CD’
动画
微 机 原 理 及 应 用
字符串表达式
STRING1 41H 42H STRING2 42H 41H STRING3 42H 41H
格式:LENGTH
其中SIZE、LENGTH要求为符号名定义的数 据项必须是用重复格式DUP()定义的。
上一页 返回
微 机 原 理 及 应 用
组合运算符
• 组合运算符是用来改变或建立符号名的新类型。
(1)定义符号名为新类型
格式:(类型) PTR(符号名) (2)指定新类型 格式:THIS (类型) 例: 已知内存变量D1是字节属性,要把它的两 个字节内容送到AX中。 MOV AX, WORD PTR D1
伪指令语句格式
这是一个任选字段。标号名 后面不能用冒号“:”,这是 这是伪指令语句不可省略的主 本字段是否需要,需要几 它与指令语句的突出区别。不 要成分。伪指令种类很多,如定 个,需要什么样的操作数 同的伪指令,标号名可以是常 义数据伪指令DB,DW,DD;段定 等都由伪指令字段中伪指 这是一个任选字段, 量名、变量名、过程名、结构 义伪指令SEGMENT;定义过程 令来确定。操作数可以是 它必须以分号为开 名、记录名等。它们可以作为 伪指令PROC等。它们是伪指令语 一个常数、字符串、常量 始,它的作用与指 伪指令语句和指令语句的操作 句要求汇编程序完成的具体操作 名、变量名、标号、一些 , 令语句的注释字段 数,这时,标号名就表示一个 命令。 专用的符号等。 相同。 常量或存储器地址。
返回
微 机 原 理 及 应 用
数据定义伪指令
• 该伪指令主要为数据项分配存储单元并预初值。
• 格式:
变量名+(DB/DW/DD)+表达式1,表达式2,…
其中表达式1,表达式2,…是给变量赋予的初值。 表达式可以有如下几种情况:
(1)数值表达式 (2)?表达式 (3)字符串表达式 (4)带DUP表达式
标号
• 标号是一条指令目标代码的符号地址,它常作 为转移指令(含子程序调用指令)的操作数。 与变量相似,每个标号亦具有三个属性: (1)段属性:表示这条指令目标代码在哪个逻 辑段中。 (2)偏移量属性:表示这条指令目标代码的首 字节在 段内离段起始点的字节数。 (3)距离属性:表示本标号可作为段内或段间 的转移特性。距离属性又分为NEAR(近)属性 和 FAR(远)属性。 返回
微 机 原 理 及 应 用
常数的应用
在程序中,常数主要出现在:
• 指令语句中源操作数中做立即数,它应与目的操
作数的位数相一致,可以是8位或16位的。 • 在指令语句中的基址加变址的寻址方式中作位 移量。 • 在数据定义伪指令中。
MOV AX,1234H
DB
MOV BX,[SI+32H]
12H ;定义一个字节数据
微 机 原 理 及 应 用
第七章 汇编语言及汇编程序
• 宏汇编语言的基本语法
• 伪指令
• 宏指令
• 系统功能调用
• 汇编程序的功能及汇编过程
• 汇编语言程序设计
结束
微 机 原 理 及 应 用
宏汇编语言的基本语法
• 伪指令语句格式 • 常数、变量和标号 • 表达式与运算符
返回
微 机 原 理 及 应 用
返回
微 机 原 理 及 应 用
关系运算符
• 关系运算是逻辑判定式的,当为“真”时结果 取0FFFFH,当为“假”时结果取0。关系运算 是数值型的。
EQ 等于
NE 不等于 LT 小于
LE
GT GE
小于等于
大于 大于等于
例如 5 LE 6 =0FFFFH
返回
微 机 原 理 及 应 用
分析运算符
• 分析运算符主要由以下几种类型组成:
(4)十六进制数:以字母H结尾,由数字0-9和字母A-F(或a-f) 组成的序列,如3A5BH,0FH。为了区别由A-F组成的是一个十六进 制数还是一个标识符,凡以字母A-F为起始的一个十六进制数,必 须在前面冠以数字“0”,否则汇编程序认作标识符。
微 机 原 理 及 应 用
常数
(5)实数:它由整数、小数和指数三部分组成,这是 计算机中的浮点表示法。实数一般用十进制数形式给 出,实数的格式如下: ±整数部分. 小数部分E ±指数部分 其中,整数和小数部分形成这个数的值,称作尾数, 它可以是带符号的数。指数部分由指数标识符E开始, 它表示了值的大小,如5.213E-4。 (6)字符串常数:用引号括起来的一个或多个字符。 这些字符以ASCII码形式存储在内存中。如“AB”,在 内存中就是41H,42H。
微 机 原 理 及 应 用
表达式与运算符
• 表达式由操作数和运算符组成,而运算符主要 由以下几种类型组成: 一、算术运算符
二、逻辑运算符
三、关系运算符 四、分析运算符 五、组合运算符 六、分离运算符
返回
微 机 原 理 及 应 用
算术运算符
• +、-、*、/:加减乘除运算符 • MOD:除法取余运算符 • SHL:左移操作符
返回
微 机 原 理 及 应 用
常数
• 常数是没有任何属性的纯数值。在汇编期间,它的值 已能完全确定,且在程序运行中,它也不会发生变化。 它可以有以下几种类型:
(1)二进制数:以字母B结尾的,由0和1组成的数字序列,如 01011010B。 (2)八进制数:以字母O或Q结尾的0-7数字序列,如723Q,35O。 (3)十进制数:0-9数字序列,可以用字母D结尾,也可以没有 结尾字母。如129,129D。
相关文档
最新文档