微机原理第七章

合集下载

微机原理第七章

微机原理第七章
⑧错误检测功能
在接口设计中,须考虑对错误的检测问题。当前多数可编程接口芯片一般都能检 测下列两类错误:
一类是传输错误。接口采用奇/偶校验位对传输错误进行校验。有些接口对数 据块传输能进行冗余校验。
另—类是覆盖错误。当计算机输入数据时,如果计算机还没有取走数据,输 入缓冲寄存器又被覆盖新的数据,就会产生一个覆盖错误。输出时也会产生覆 盖错误。接口会在状态寄存器中设置相应的状态。
为了使CPU能适应各种各样的外设,就需要接口电路,由它完成相应的
信号转换、速度匹配、数据缓冲等功能,以实现CPU与外设的连接,完成相
应的输入输出操作。
微机原理
(2)接口的功能
接口的基本作用是实现CPU与I/O设备之间的信息传输。为完成信息传输任 务,接口应具备如下功能:
①寻址功能
接口要识别选择存储器和I/O的信号及片选信号,以便判断CPU是否访问本 接口。进一步还要判断是接口中哪个寄存器受到访问。
微机原理
7.2.3 8255A的引脚功能
8255A作为一个通用的I/O接口芯片,在系统中的位置位于CPU与外设
之间。它的引脚信号可以分为两组:一组是面向CPU的信号,一组是面向外 设的信号。
微机原理
微机原理
CS RD WR
001 001 001 010 010 010 010
8255A的操作功能表
着广泛的应用。
微机原理
7.2.2 8255A的编程结构
13882..位.25数三的A5据组A个双是总和数向一线B据的缓个组端三冲4的0口态器个控A数引制,据脚电B总的路,线双C缓列冲直器插。式芯片,8255A由以下几部分组成: •4.A口读控:/写制8控电位制I路/O逻内口辑部,设内部有有控对制数寄据存输器入,/输可出以的根锁据存功CP能U。送来的编程命令来控制 •8B2读5口5/写:A控的8制位工逻作I/O辑方口电式,路,输管也入理可的82数以5据根5A不据的锁编数存程据,命传对令输输过来出程对的。C数口有据片的有选指锁信定存号功位及能进系。行统置读/信复号位、的写操信 •号作C、。口复:整位可个信以控号是制R独E任立SE务的T,8分位及成I系/O两统口组地,进址也总行可线以,的是其口两中地个A址独组选立控择的制信4电位号路IA/O用0口和来,A控1。还制通A过口这及些C信口号高的4 组合得到可对以A用组作部A件口和和BB组口部的件控的制控信制号命。令输,入并的将数这据些不命锁存令,送仅给对两输组控制部件来 控位制,8而2B5出5组A的控的数制具据电体有路操锁则作存用。功来控能制。B口及C口的低4位。

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

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

数。计数过程中,新装入值不影响原计数过程。计数为偶数,计数器减2,到
0,OUT改变,计数值重新装入,反复工作。为奇数,则第一次减1,以后减2。
10/20
一、8253的工作方式5
1、000:方式 0(计数结束产生中断)
第七章、可编程计数/定时控制器8253
本章要点:
计数器/定时器基本概念 可编程计数器/定时器8253的工作原理 可编程计数器/定时器8253结构、功能 可编程计数器/定时器8253的应用
2/20
7.1 可编程计数/定时控制器8253的结构
一、可编程计数/定时控制器
在微机应用系统中,常常要求有一些实时时钟,以实现对外部事件进行定时或 对微机外部输入的脉冲进行计数。一般有3种方法可实现定时/计数的要求。
按照CPU发来的读写信号及地址信号产生相应的控制信号,
来选择读/写操作的端口、控制数据的传送方向,以及对控制寄存器的写入。
3、控制字寄存器: 控制字寄存器是8位的,只能写不能读。
在初始化编程时,CPU写入方式控制字到控制字寄存器中,
用以选择计数通道及其相应的工作方式。
4、计数器0、计数器1、计数器2: 内部结构相同、功能相同,有各自独立的端口地址。
1、软件方法 通过编制一个延时程序段让微处理器执行,利用执行程序所需时钟状态,得到定 时的时间。这种方法通用性和灵活性好,但占用CPU时间。 2、不可编程的硬件方法 采用分频器、单稳电路或简易定时电路控制定时时间,例如555定时电路,这种 方法不占用CPU时间,但通用性、灵活性差。 3、可编程计数器/定时器方法 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路,可由软件 设定定时与计数功能,设定后与CPU并行工作,不占用CPU时间,使用灵活。

微机原理第七章

微机原理第七章

(b)STRING2 DW (a)STRING1 DB „ABC‟ 图7-3
„AB‟,‘CD‟ (c) STRING3 DD AB‟
DB、DW、DD中的字符串表达式的存放情况
④带DUP表达式:DUP定义重复数据操作符。格式为: DB 变量名 DW 表达式1 DUP (表达式2) DD 表达式1是重复次数,表达式2是重复内容。例: DB1 DB 20 DUP(?)
7.1.1 伪指令语句格式 伪指令格式如图7-2所示。
, 标号
伪指令
伪指令语句 分4个字段:
;注释
操作数
图7-2 伪指令语句格式
1、标号
2、伪指令: 3、操作数字段 4、注释字段
7.1 宏汇编语言的基本语法
, 标号
伪指令
操作数
;注释
1、标号:内存单元的符号地址。 2、伪指令:关键字,指示汇编程序,对后 面的指令语句和伪指令的操作数应如何产 生目标代码,伪指令本身不产生机器代码。 例分析下面二条伪指: W DB 16H,18H; 数据在存储 SUM DW 16H,18H; 器存放位置
高级语言
机器语言 汇编语言 高级语言
汇编程序
• 汇编语言源程序
用助记符编写
汇编语言 源程序
汇编
目的程序
汇编程序
汇编语言程序设计与执行过程
输入汇编语言源程序
汇编(编译)
源文件 .ASM
目标文件 .OBJ
链接
调试
可执行文件 .EXE
最终程序
第七章
微型计算机汇编语言及汇编程序
目标程序 90H 04H 03H 05H 00H 03H 汇编语言又称符 号语言。汇编语 言与机器语言一 一对应。
次数 重复 内容

微机原理第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转去执行除法错中断处理程序。

微机原理第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章习题答案.docx

微机原理第7章习题答案.docx

习题及解答1.列举中断的具体应用。

要点:符合如下四种的均可(1)响应外部突发事件。

(2)实时多任务调度。

(3)实现外设与CPU的并行处理(4)分时多任务操作系统的基础。

2.中断的分类方式及其关系。

要点:3.中断向量表的功能时什么,8086/8088CPU如何对中断源识别并跳转到正确的中断服务程序入口?要点:中断向量表是存放中断服务程序入口地址的一个特定的内存区域,屮断号都与一个中断服务程序的入口地址相对应,实现中断处理程序的直接跳转8086/8088cpu通过中断号标识中断源,外部中断的中断号山中断控制器(如8259a)提供,内部中断中断号和不可屏蔽中断号系统固定分配发生中断时:1)将标志寄存器、CS、TP内容压入堆栈。

2)获取中断类型号n,生成中断向量表地址4杓。

3)从中断向量表地址为4*n的存储单元中収出中断向量送入CS和1P,继而转去执行中断服务子程序。

4.中断的一般处理流程包括那些步骤,分别完成什么功能?要点:中断处理的一般过程山中断请求、中断优先级判别、中断响应、现场保护、中断服务、现场恢复和中断返回构成。

中断请求:发起中断信号中断判优:优先级判断确定响应那个中断中断响应:通过中断屏蔽确定是否响应中断,回复中断响应信号现场保护:保存状态寄存器、地址寄存器和相关重要寄存器中断服务:中断处理程序现场恢复:恢复状态寄存器、地址寄存器和其他重要寄存器中断返回:跳转到断点5.8259A如何进行优先级管理?要点:全嵌套方式、特殊全嵌套方式和优先级自动循环方式,分别针对单片,级联和特殊情况下的应用6.设8259A的端口地址为80H和81H,用程序清除中断服务寄存器的ISR6。

;EOI 二1; SL 二1; R=0; L2L1L0二6 ;设置0CW27. 2片8259A 组成的级联系统,设备A 接在从片的IR0上,从片接在主片的IR4±,说明A 设备发生中断到CPU 响应的全过程。

要点:1, A 设备产生中断请求2, 从片8259A 进行优先级判断,如果IR0上的中断优先级高于当前从片的其它优先级, 从片8259A 响应屮断,向主片的IR4脚发起屮断请求3, 主片8259A 进行优先级判断,如果IR4上的中断请求优先级高于当前主片的其它优 先级,则主片通过INT 管脚向CPU 发起屮断请求4, CPU 接收到中断请求后,若允许中断,则向主片8259A 发送两个INTA 响应。

微型计算机原理与接口技术第七章课后答案全文

第七章1. 什么叫中断?什么叫可屏蔽中断和不可屏蔽中断?答:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕,再返回被中止的程序,这一过程称为中断。

可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的高电平必须维持到CPU响应中断才结束。

可以通过软件设置来屏蔽外部中断,即使外部设备有中断请求,CPU可以不予响应。

当外设有中断申请时,在当前指令执行完后,CPU首先查询IF位,若IF=0,CPU就禁止响应任何外设中断;若IF=1,CPU就允许响应外设的中断请求。

不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。

不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU必须予以响应。

2. 列出微处理器上的中断引脚和与中断有关的指令。

答:INTR:可屏蔽中断请求输入引脚。

NMI:不可屏蔽中断请求输入引脚INTA:可屏蔽中断响应引脚INT n :软件中断指令,其中n为中断类型号INTO:溢出中断,运算后若产生溢出,可由此指令引起中断。

CLI:中断标志位IF清0STI:置位中断标志位为13. 8086/8088系统中可以引入哪些中断?答:(1)外部中断两种外部中断:不可屏蔽中断NMI和可屏蔽中断INTR(2)内部中断内部中断又称软件中断,有三种情况引起:①INT n :中断指令引起的中断②CPU的某些运算错误引起的中断:包括除法错中断和溢出中断③由调试程序debug设置的中断:单步中断和断点中断。

4. CPU响应中断的条件是什么?简述中断处理过程。

答:CPU响应中断要有三个条件:外设提出中断申请;本中断位未被屏蔽;中断允许。

可屏蔽中断处理的过程一般分成如下几步:中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。

CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作:⑴从数据总线上读取中断类型号,将其存入内部暂存器。

微机原理课件第七章


2)内部中断(软件中断)
(1)单步中断-----------中断类型号是1 (2)除法出错中断-------中断类型号是0 (3)断点中断-----------中断类型号是3 (4)溢出中断-----------中断类型号是4
(5)指令中断-----------中断类型号是n
内部中断的特点:
① 内部中断的类型号都是固定的,或是在中断指令中给定的。 不需要进入INTA总线周期获取类型号; ② 不受中断允许标志位IF的影响; ③ 用一条指令或由某个标志位启动进入中断处理程序,这样
查中断向量表得中断向量为:
A123H:B678H 中断服务程序入口的物理地址为: AC8A8H
01H 78H
B6H 23H A1H ┋
0089H
008AH 008BH ┋
图7.11
部分中断向量表
例2
解:
某中断源的类型号为54H,中断服务程序入口的符号地址为
MOV MOV AX,0 DS,AX
INTADD,试编一段程序设置该中断类型号的中断向量。
256种中断可分为两大类:外部中断和内部中断。
8086 INT 3 指令 INT n 指令 CPU INT O 指令 除法 出错 单步 中断 NMI 非屏蔽 中断请求
中 断




INTR 8259A 可屏蔽中断请求
图7.8
8086系统的中断源
1、中断源的类型
1)外部中断(硬件中断) 分为非屏蔽中断和可屏蔽中断两种。 (1)非屏蔽中断 (2)可屏蔽中断
IR1 中断清除
IR4处理程序 IR3中断请求 IR3处理程序 开中断 STI STI 。 。 。 。 。 。 IR3 IR4 (EOI) (EOI) 中断清除 中断清除 IRET IRET

微机原理与接口技术_第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
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常量作用:
(1)指令语句中源操作数中作立即数。 例: MOV AX, 0A5F1H (2) 在指令语句的基址加变址的寻址方式中作位移量。例: MOV BX, [SI+32H] (3)在数据定义伪指令中。例:DB 12H

2. 数值表达式 /、MOD)、逻辑 由常量和算术(+、-、 (AND、OR、XOR、NOT)和关系(EQ、 NE、LT、GT、LE、GE)3类运算符组成的 表达式称为数值表达式。
(1) CS: MOV AX,[SI]
若 CS = 3000 H,SI = 4000 H,
34000 H 1A H 34001 H 20 H
EA=4000H,物理地址=34000H,
执行结果: AX=201A H
(2)MOV
BX,[DI]
若 DS = 5000 H,DI = 0200 H
执行结果:BX
7.1.3 变量
1.变量和地址表达式

变量是代表存放在某些存储单元的数据,这些数据在程序 运行期间随时可以修改。为了便于对变量的访问,它常常 以变量名的形式出现在程序中。


变量名:可认为是存放数据的存储单元的符号地址,即变 量名是数据的地址或数据区的首地址。 涉及到: 段地址、偏移地址
地址表达式:由变量、标号、寄存器、常量和运算符组成 的表达式。
EA=变量[基址寄存器+变址寄存器 或者EA=[基址寄存器+变址寄存器
7.1.2 标号
标号是指令地址的符号表示,也可以是过程名。过 程名是入口地址的符号表示,即过程的第一条指 令的地址。
标号定义方式: (1)用冒号‚:‛定义,直接写在指令助记符前。 CYCLE: MOV AL,[SI] (2) 用PROC和ENDP伪指令定义过程


标号是一条指令目标代码的符号地址。一般只在 代码段中定义和使用。常作为转移指令(含子程 序调用指令)的操作数。具有段基址、偏移地址 和类型三个属性 例: JNC LP1 属性有: …… ……. 段 值(SEG) LP1: …… HLT 偏移量(OFFSET) 类型(即距离属性): NEAR(近),只能被本段内访问。 FAR(远),可以被其它段访问 。

7.2.2.立即数寻址 8086指令系统中,有一部分指令所用的8位或16位操作数
就在指令中提供,这种方式叫立即数寻址方式,例如:

MOV AL,5; 将十六进制数05H送入AL, MOV AX,18;将18H送AX,AH中为00H,AL中为18H
采用立即数寻址方式的指令主要用来对寄存器赋值。因为操

7.2.8 比例变址寻址 MOV EBX, [ESI 4]

7.2.9 基址比例变址寻址 MOV ECX, [EDI 4+EAX] MOV EAX, [ESI

8+EBX]
7.2.10 存储器寻址及存储器寻址中段基址或 段选择字的确定

1. 存储器寻址与地址表达式
偏移地址也称为有效地址EA
[50201 H][50200 H]
50200H 20H 32H
BX = 3220 H
50201H
7.2.7、以BX、BP和SI、DI寄存器组合起来 进行间接寻址——基址加变址的寻址
EA = [BX] [BP] + [SI] [DI]
例:若 BX = 5000 H,SI =2000 H,DS =4000 H, SS = 1000 H,BP = 3100 H。 MOV AX,[BX+SI]; EA=5000+2000=7000H, AX
作数可以从指令中直接取得,不需要运行总线周期,所以,
立即数寻址方式的显著特点就是速度快。
立即数寻址总结:
操作数由指令提供.操作数直接存 放在指令中。用于表示常数,给变量赋 初值。 例: MOV AL,80 H MOV AX,1090 H MOV CX,100
7.2.3、直接寻址
操作数在存储器中,其地址由指令


汇编语言特点: (1)用助记符表示指令所执行的操作; (2)在操作数中使用符号。 (3)有三类基本指令:符号指令、伪指令 和宏指令。
汇编语言是一种面向机器的符号语言。
要想在计算机上运行汇编语言程序,必须首
先对源程序进行汇编和连接。下图表示了对
汇编语言源程序的汇编、连接和装入运行过 程。简述如下:
AH,1 ;将AH中的内容循环左移一位 采用寄存器寻址方式的指令在执行时,操作就在CPU内部进行,不需要
使用总线周期,因此,执行速度快。
说明: 一条指令中,可以对源操作数采用寄存器寻址方式,也可以对目
的操作数采用寄存器寻方式,还可以两者都用寄存器寻址方式。
例:mov BX,AX; (BX)←(AX)
提供。即指令中直接给出操作数的有效地址。
指令 EA 内存 数据
例:MOV AX,[ 1070 H ]
若 DS = 2000 H,物理地址为: 21070 H 20 H 21071 H AX = 3020 H 30 H

例:mov SI,[2000H] ;(SI←(2000H) 注意:在汇编语言中常将“[ ]”方括号中的 内容作为存储单元的地址。 MOV BX,CS:[ 3000 H ]
MOV AH,[ 1000 H ]

另外:指令中一般不出现直接地址,直接地址 用变量表示。
例:mov SI,var ; var 定义为变量。

例:MOV AX, [4000H ] (若DS = 3000H)
7.2.4、寄存器间接寻址
操作数在存储器中,存储器的有效地址由寄 存器指出。即指令中寄存器值是操作数的地址。
指令举例:
MOV AX , BX
操作码 操作数 ADD AX,[SI+6] INC
HLT
[BX]

通常,一条带有操作数的指令要指明用什么方式寻找操作 数据,寻找操作数据的方式称为寻址方式。 寻址方式有:立即数寻址、寄存器寻址方式、直接寻址方 式、间接寻址方式、基址寻址方式、(比例)变址寻址方 式和基址(比例)变址寻址方式。
21000 H 21001 H
40 5B
MOV CX,ES:[BX]
AX ← [31001 H][31000 H]
7.2.5 基址寻址



MOV [BX+BUF+2], AL 或 MOV BUF[BX+2], AL * 只有BX和BP可以用作基址寄存器;32位 的所有通用寄存器都可以用作基址寄存器。 MOV [BP+6], AX; 或 MOV 6[BP], AX
ASM或MASM
汇编语言源程序的汇编、连接和装入运行
7.1 符号指令中的表达式
1.常量:(1)
数字常量:有B、O、D、H、实数类 型及ASCII码,对H型,凡是以字母A-F为起始的一 个十六进制数,必须在前面冠以数字‚0‛,否则 汇编程序认作标识符。 (2)符号常量:由伪指令EQU或‚=‛定 义。如:P EQU 314 或P=314
能够间接寻址的寄存器有:SI,DI,BX,BP(基数指针寄存器,
对应的段寄存器为SS)
指令 寄存器
寄存器 EA
内存 数据
1)、以BX寄存器进行间接寻址——
数据段基址寻址
例: 若 DS = 2000 H,ES = 3000 H,BX = 1000 H 1)MOV AX,[BX] AX← [21001 H][21000 H] AX = 5B40 H

7.2.1.寄存器寻址
如果操作数就在CPU的内部寄存器中,那么寄存器名可在指令中指 出,这种寻址方式就叫寄存器寻址方式。
指令
寄存器
寄存器
数据
对16位操作数来说,寄存器可以为AX、BX、CX、DX、SI、DI、SP或者BP, 而对8位操作数来说,寄存器可为AH、AL、BH、BL、CH、CL,DH、DL。例 如: INC ROL CX ;将CX的内容加1
表达式由操作数和运算符组成,汇编时产生一个值。 1.算数运算符:+ - * / 2.逻辑运算符:AND OR NOT XOR
3.关系运算符:EQ NE LT GT 4.分析运算符: SEG \OFFSET \TYPE \LENGTH \SIZE 5.组合运算符 PTR THIS 6.分离运算符 LOW HIGH

[47001 H] [47000 H]
AX = 2A32 H
相对的基址加变址的寻址:
MOV AX,[BP + SI + 0020 H]; EA=3100+2000+0020=5120H
在基址加变址的寻址方式中,只要用上BP寄存器,那么默认的 段寄存器就是SS;在其它情况下,默认的段寄存器均为DS.如果 操作数不在默认段,则要用前缀指出相应的段寄存器名。

2. 变量存储区 域中数据的存 放
要点:内存中以1个字 节为单位进行地址 编码。 在汇编中,存储器的 地址都是变量和地 址表达式来表示的。
3. 变量的段基址和偏移地址的指定算符 用分析运算符 SEG \OFFSET \TYPE \LENGTH \SIZE
(1)SEG:操作数的段地址 (2)OFFSET:操作数地址偏移量 例: TABLE DW 67,89 ……. MOV AX,SEG TABLE MOV BX,OFFSET TABLE MOV CX,TABLE

类型PTR地址表达式: BYTE PTR W1; WORD PTR B2[BX];
BYTE PTR [BX+5]


宏汇编语言的语法小节

伪指令格式
伪指令:指示性语句.不产生机器目标代码.
常数、变量和标号
变量的属性:段值、偏移量、类型。 标号属性有:段值、偏移量、距离属性。
相关文档
最新文档