例如:X DB 5,?,6
?号只是为了给变量保留相应的存储单元,而不赋予变量某个确定的初值。 ?重复次数:N DUP(初值[,初值…]) ?例如:ZERO DB 2 DUP(3,5)
XYZ DB 2 DUP(0,2 DUP(1,3),5)
?在伪操作的操作数字段中若使用$,则表示的是地址计数器的当前值。
2、补充内容:
(1)类型 PTR 地址表达式例如:MOV BYTE PTR [BX],12H
INC BYTE PTR [BX]
注意:单操作数指令,当操作数为基址、变址、基+变的时候必须定义
3、符号定义伪指令 (1)EQU
格式:名字 EQU 表达式
EQU伪指令将表达式的值赋予一个名字,以后可用这个名字来代替上述表达式。 例:CONSTANT EQU 100
NEW_PORT EQU PORT_VAL+1
(2) =(等号)
与EQU类似,但允许重新定义 例:
┇ EMP=7 ;值为7 ┇ EMP=EMP+1 ;值为8
(3)LABEL
LABEL伪指令的用途是定义标号或变量的类型 格式:名字 LABEL 类型
变量的类型可以是BYTE,WORD,DWORD。标号的类型可以是NEAR或FAR
4、段定义伪指令
与段有关的伪指令有:
SEGMENT、ENDS、ASSUME、ORG (1)段定义伪指令的格式如下:
段名 SEGMENT [定位类型] [组合类型] [’类别’]
┇
段名 ENDS
SEGMENT和ENDS
这两个伪指令总是成对出现,二者前面的段名一致。二者之间的删节部分,对数据段、附加段及堆栈段,一般是符号、变量定义等伪指令。对于代码段则是指令及伪指令。此外,还必须明确段和段寄存器的关系,这可由ASSUME语句来实现。
(2)ASSUME 格式:
ASSUME 段寄存器名:段名[,段寄存器名:段名[,…]]
ASSUME伪指令告诉汇编程序,将某一个段寄存器设置为某一个逻辑段址,即明确指出源程序中逻辑段与物理段之间的关系。
(3)ORG
伪指令ORG规定了段内的起始地址或偏移地址,其格式为: ORG <表达式>
表达式的值即为段内的起始地址或偏移地址,从此地址起连续存放程序或数据。
5、汇编程序的一般结构(重点?)(记住) DATA SEGMENT …
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA BGN: MOV AX ,DATA MOV DS,AX ….
MOV AH,4CH INT 21H CODE ENDS END BGN
第三节 程序设计
1、 顺序程序的设计(略) 2、 分支程序的设计 典型例题:
1 X>0
Y = 0 X=0 -1 X<0
?程序为:
MOV AL ,X CMP AL,0 JGE BIG MOV Y,-1 JMP EXIT
BIG:JE EQUL MOV Y,1 JMP EXIT
EQUL:MOV Y,0 EXIT:….
3、 循环程序见 ?用计数控制循环 ?见教材例题4.8 ?见练习册P9 八.2
第五章 微机接口技术基础
说明:第五章主要是一些概念,以下所列的要求学员记住
第一节 I/O接口的概念
1、I/O接口的作用
(1) 匹配外设与主机间的数据形式 (2) 匹配外设与主机间的工作速度 (3) 在主机与外设之间传输控制信息
2、I/O接口的分类
按外设的性能及通用的程度,可将I/O接口分为两类: I/O接口芯片和I/O接口卡
第二节 I/O端口的编址方式
1、I/O端口的编址方式 (1)I/O端口的统一编址 (3) I/O端口的独立编址
第三节 输入/输出控制方式
1、程序控制传送方式 ?(1)无条件传送方式 ?(2)程序查询传送方式 2、中断控制传送方式
3、直接存储器存取传送方式
第六章 中断技术
一、中断的类型(教材P217):
PC机中各种类型的中断共有256个,并对它们进行了统一的编号,称为中断类型码 1、 内中断 (1)、微处理器中断
①0号中断(除数为0)
②1号中断(单步执行程序) ③4号中断(运算溢出) ④3号中断(断点处理) (2)、不可屏蔽中断 (3)、保留的微处理器中断(不要求) 2、外中断 外中断特点:
①INTR为电平触发 ②外中断可多级排优 ③外中断可用指令屏蔽 ④外中断可以嵌套
⑤外中断响应条件的修正(重点掌握)
?在IF=1,任何一条指令执行完时,CPU将检测引脚INTR,以便响应外中断。 3、软中断
?由中断指令INTn引发的中断称为软中断。 4、保留中断
5、各类中断的优先级
高 低
除数0,INTn,断点,溢出 NMI INTR 低 单步
二、中断向量表(重点?)
(1)中断向量表(教材P223)
在8086系统中,内存最低端的1K字节地址范围内(从00000-003FFH),放置256个中断的中断向量(入口地址),即称为中断向量表。每个中断矢量在表中占据4个字节,地址较高的两个字节放入口地址的段地址(CS),地址较低的两个字节放偏移地址(IP)。 中断向量表中的存储地址=中断类型码n×4
中断向量见综合练习题P9 七,3题
(2)中断服务程序的执行 ?第一、将标志寄存器F入栈 ?第二、清除中断标志(IF=0)、单步标志(TF=0)
?第三、将程序当前代码地址CS和指令偏移地址IP依次入栈 ?第四、根据中断号n,计算中断向量的首地址——0000:n*4
?第五、根据中断向量首地址,取出4个字节的中断向量,并分别置入CS和IP中,CPU便转而执行相应的中断服务程序。
三、可编程中断控制器8259A
1、8259A的特点:
?每片芯片具有8级优先权控制,可连接8个中断源。
?通过级联可扩展至64级优先权控制,可连接64个中断源。 ?每一级中断均可屏蔽或允许。
?在中断响应周期,可提供相应的中断号
?具有固定优先权、循环优先权、等多种工作方式,可通过编程进行连接 ?28条引脚,+5V供电 2、8259A的内部结构 (1)、中断控制逻辑
①中断请求寄存器(IRR) ②中断服务寄存器(ISR) ③中断屏蔽寄存器(IMR)
(2)8259A引脚功能
?IR0~IR7(外设的中断请求)
?8个外设来的中断请求信号,IR0的优先级最高,IR7最低。 ③ INT(向CPU的中断请求)
3、硬中断的执行过程(重点?)(掌握)
(1)PC机的外设接口卡输出中断请求信号IRQi至8259A中断控制器,并将其中的中断
请求寄存器IRR的相应位i置1。
(2)8259A收到IRQi信号后,将它与同时请求中断的信号或者正挂起的中断,通过优先
级分析器,分析比较优先级。若该中断请求是唯一的或其优先级最高,则8259A向CPU发中断请求信号INT。
(3)CPU响应中断,连续发生两个中断响应脉冲INTA。第一个INTA将中断服务器ISR
的I位置1,表示正在响应I级中断,同时将IRR的I位清0,为本i级中断下一次的中断请求做准备;第二个INTA则要求8259A将中断源i的中断号n送至CPU。 (4)CPU收到I级中断的中断号n后,将其乘4作为中断向量地址。
(5)CPU屏蔽中断,将中断现场信息(F,IP,CS)压入堆栈,将标志寄存器F中的IF