版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
80x86微机原理与接口技术
实验指导书
长安大学信息工程学院电子信息与通信工程实验室
第1章80X86微机原理及其程序设计实验
本章主要介绍汇编语言程序设计,通过实验来学习80X86的指令系统、寻址
方式以及程序的设计方法,同时掌握联机软件的使用。
1.1系统认识实验
1.1.1实验目的
掌握TD-PITE80X86微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开
发调试软件的操作环境.
1.1.2实验设备
PC机一台,TD-PITE实验装置一套。
1.1.3实验内容
编写实验程序,将00H〜OFH共16个数写入内存30Q0H开始的连续16个存储单元中。
1.1.4实验步骤
1.运行Wmd86软件,进入Wmd86集成开发环境。
2.根据程序设计使用语言的不同,通过在“设置”下拉列表来选择需要使用的语言,
如图ITT所示。语言选择后,下次再启动软件,语言环境保持这次的修改不变。在这里,
我们选择汇编语言。
寄存器名值(16进制)♦
AXs
BX***♦
121-1-1语言环境i蟒界面
3.语言选择后,点击新建或按CtH+N组合键来新建一个文档,如图1-1-2所示。默认
文件名为Wmd861。
Rd86
文件(E),查看(V)工具⑴端口(P)设置(S)虚拟仪器帮助(H)
L'■i—.
口新建(N)Ctrl+NtC区]60直厘I
户打开(Q)...Ctrl+O
1E:lntel386\Shiyan\Wmd861
2E:\lntel386\Shiyan\Subprog1
3E:\lntel386\Shiyan\TABLE
4F-llntpl3R6\ShivanlrHART
图IT-2新建文件界面
4.编写实验程序,如图1-1-3所示,并保存,此时系统会提示输入新的文件名,输完后
点击保存。
SSTACKSEGMENTSTACK:定义堆栈段
32DUP(7)
SSTACKENCS
CODESEGMENT
ASSUMECS:CODE,SS:SSTACK
p
START:XL:SIIDS
MORAX,AX
OVDS,AX
MOV
OVSI,3000H;建立数据起始地址
M()V
MCX,16:循环次数
2A】;[SI],AL
I:地址自加1
ISI
NCAL:数据百加1
LNCp
JAA1
OC怔
AA2:AA2
Es
CODEENE
NESTART
图卜卜瑁序编辑界面
5.点击出,.编译文件,若程序编译无误,则输出如图1T-4所示的输出信息,然后再
点击进行链接,链接无误输出如图1-1-5所示的输出信息。
X
[C]CopyRight2004
CompileYourObject
EE
冈Compiling...
Wmd861.obj-0errorfsl,0warning[s]
编译调试入结果
却[C]CopyRight2004
LinkYourObjec
&
—Unking...,
Wmd861.exe-。error[s],0warning[s]|
编译/调试人结果
图1-1Y编译输出信息界面图1-1T输出信息界面
6.连接PC与实验系统的通讯电缆,打开实验系统电源.
7.编译、链接都正确并且上下位机通讯成功后,就可以卜载程序,联机调试了。可以
通过端II列表中的“端口测试”来检查通讯是否正常。点击I下载程序。I0为编译、链
接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。下载成功后,在输出区
的结果窗中会显示“加载成功!”,表示程序已正确下载。起始运行语句下会有一条绿色的
背景。如图1-1-6所示。
&<V)WP(2}im«.ift4aix.«rcM.(D>Pl6)n00
D安月1四因矿闭圈酬以国丽笔郑咆在
曹存态/实策/)区工儿厂SECKANTETACT
TT*re-tuilADJw22EUP⑺
5STACFRNDS
wmsTJCXxH.建立收要医蛤地址
KCV8U
皿FIL
a:
an
ERTSTART
IJ_____
图1-16加载成功输出显示界面
8.将输出区切换到调试窗I」,使用D0000:3000命令查看内存3000H起始地址的数据,
如图1-1-7所示。存储器在初始状态时,默认数据为CC。
>00000:3000
>
>0000:3000CCcccccccccccccc
>0000:3008CCcccccccccccccc
>0000:3010Cccccccccczccccc
>0000:3018CCcccccccccccccc
>0000:3020cccccccccccccccc
|>|编薜入调试人结果
图1-1-7内存地址单元数据显示
9.点击按钮运行程序,然后再点击来停止程序运行,接下来观察程序运行结果,
仍使用命令D0000:3000来观察数据变化。如图1-1-8所示。
图1-8运用后城变kS示
10.也可以通过凹在语句AA2:JMPAA2处设置断点,断点显示如图LL9所示,然后
运行程序,当遇到断点时程序会停下来,然后观察数据。可以使用E0000:3000来改变该地
址单元的数据,如图1TT0所示,输入11后,按“空格”键,可以接着输入第二个数,如
22,结束输入按“回车”健。
>E0000:3000
>0000:3000=0011
>0000:3001=01_22
>0000:3002=02
LOOPAA1
•AA2:JMPAA2
CODEENDS
编译入训试人结果
ENDSTART►▲N、----"、.,、———/____
图1-lf断点图1TT0修改内存单元娄辨显示界面
实验例程文件名为Wrr.d861.asm。
1.1.5操作练习
编写程序,将内存3500H单元开始的8个数据复制到3600H单元开始的数据区中。通过
调试验证程序功能,使用E命令修改3500H单元开始的数据,运行程序后使用D命令查看3600H
单元开始的数据。
1.2数制转换实验
1.2.1实验目的
1.掌握不同进制数及编码相互转换的程序设计方法,加深对数制转换的理解;
2.熟悉程序调试的方法。
1.2.2实验设备
PC机一台,TD-PITE实验装置一套。
1.2.3实验内容及步骤
计算机输入设备输入的信息一般是由ASCH码或BCD码表示的数据或字符,CPU一般均
用二进制数进行计算或其它信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、
BCD码或七段显示码等。因此,在应用软件中,各类数制的转换是必不可少的。
计算机与外设间的数制转换关系如图1-2-1所示,数制对应关系如表1-2-1所示
二进制
ASCII
图121数制转换关系
表卜2T数制对应关系表
二进制七段码
十六进制BCD55ASCII码
机器码共阳共阴
00000000030H40H3FH
10001000131H79H06H
20010001032H24H5BH
30011001133H30114FII
40100010034H19H66H
50101010135H12H6DH
60110011036H02H7DH
70111011137H78H07H
续表1-2-1
81000100038HOOH7FH
91001100139H18H67H
A101041H08H77H
B101142H03H7CH
C110043H46H39H
D110144H21H5EH
E111045H06H79H
F111146HOEH71H
1.将ASCII码表示的十进制数转换为二进制数
十进制表示为:
D.x*Dz7产♦…血犬1。•■工D,
()
Di代表十进制数0,1,2,-,9;
上式转换为:
.
VD’aHT<(D/lg%)xlQ*D7)xl0♦…DHofD.
tS1⑵
由式(2)可归纳卜进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10
加次位的操作,依次类推,则可求出二进制数的结果。程序流程图如图1-2-2所示。实验参
考程序如下。
实验程序清单(例程文件名:A2-1.ASM)
SSTACKSEGMENTSTACK
DW64DUP(?)
SSTACKENDS
DATASEGMENT
SADDDB30H,30H,32H,35H,36H;十进制数:00256
DATAENDS
CODESEGMENT
ASSUMECS:C()DEDS:DATA
START:MOVAX.DATA
MOVDS.AX
MOVAX.OFESETSADD
MOVSI.AX
MOVBX.(XX)AH
MOVCX.OCXMH
MOVAH.OOH
MOVAL4S1I
SUDAL,30”
Al:IMULBX
MOVDXJSI+OI]
ANDDX.OOFFH
ADCAX.DX
SUBAL.30H
INCSI
LOOPAl
A2:JMPA2
CODEENDS
ENDSTART
程序开始
j
初始化转换首地址
转换次数一CX
I
取第一位ASCIII码
减去30H
图1-2-2转换程序流程图
实验步骤
(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统:
(2)待转换数据存放于数数段,根据自己要求输入,默认为30H,30H,32H,35H,36H;
(3)运行程序,然后停止程序;
(4)查看AX寄存器,即为转换结果,应为:0100;
(5)反复试几组数据,验证程序的正确性。
2.将十进制数的ASCH码转换为BCD码
从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转换为BCD
码后,再按位分别存入35CAH起始的内存单元内。若输入的不是十进制的ASCH码,则对应
存放结果的单元内容为“FF”。由表1-2-1可知,一字节ASCII码取其低四位即变为BCD码。
实验程序清单(例程文件名:A2-2.ASM)
SSTACKSEGMENTSTACK
DW64Dim
SSTACKENDS
CODESEGMENT
ASSUMECS:CODE
START:)MOVCX,0005H;转换位数
MOVDI.3500H;ASCH码首地址
Al:MOVBLOFFH;将错误标志存入BL
MOVAL,|DI|
CMPAL.3AH
JNBA2;不低于3AH则转A2
SUBAL.30H
JBA2低于30H则转A2
MOVBL.AL
AIMOVAL,BL;结果或错误标志送入AL
MOV[DHOAFOAL;结果存入目标地址
INCDI
LOOPAl
A3:JMPA3
CODEENDS
ENDSTART
实验步骤
(1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统;
(2)在3500H〜3504H单元中存放五位十进制数的ASCII码,即:键入E3500后,输入31,
32,33,34,35;
(3)运行程序,然后停止程序运行:
(4)键入D350A,显示运行结果,应为:0000:350A0102030405CC…
(5)反复测试几组数据,验证程序功能。
3.将十六位二进制数转换为ASCH码表示的十进制数
十六位二进制数的值域为0〜65535,最大可转换为五位十进制数。
五位十进制数可表示为:
422
ND410D310D210DIIODo
Di:表示十进制数0〜9
将十六位二进制数转换为五位ASCH码表示的十进制数,就是求D1〜D4,并将它们转换
为ASCII码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、35O1II
中,转换结果存放于35101卜-3514H单元中。
实验程序清单(例程文件名:A2-3./KSM)
SSTACKSEGMENTSTACK
DW64DUP(?)
SSTACKENDS
CODESEGMENT
ASSUMECS:CODE
START:MOVSI,3500H;源数据地址
MOVDX.[SI]
MOVSI,3515H旧标数据地址
Al:DECSI
MOVAX.DX
MOVDX.0000H
MOVCX,OOOAH除数10
DIVCX;得商送AX,得余数送DX
XCHGAX.DX
ADDAL.30H;得Di的ASCII码
MOV[SI],AL;存入目标地址
CMPDX,OOOOH
JNEAI;判断转换结束否,未结束则转Al
A2:CMPSI,3510H;与目标地址得首地址比较
JZA3;等于首地址则转A3,否则将剩余地址中填30H
DECSI
MOVAL,30H
MOV|S1|.AL
JMPA2
A3:JMPA3
CODEENDS
ENDSTART
实验步骤
(1)编写程序,经编译、链接无误后,装入系统;
(2)在3500H、3501H中存入0C00;
(3)运行程序,然后停止运行:
(4)检查运行结果,键入D3510,结果应为:30303C3132;
(5)可反复测试几组数据,验证程序的正确性。
4.十六进制数转换为ASCII码
由表・2T中十六进制数与ASCII码的对应关系可知:将十六进制数OH〜09H加上30H
后得到相应的ASCII码,AH〜FH加上37H可得到相应的ASCI1码。将四位十六进制数存放于
起始地址为3500H的内存单元中,把它们转换为ASCH码后存入起始地址为350AH的内存单
元中。自行绘制流程图。
实验程序清单(例程文件名为A2-4.ASM)
SSTACKSEGMENTSTACK
DWMDUP(?>
SSTACKENDS
CODESEGMENT
ASSUMECS:CODE
START:MOVCX.0004H
MOVDI,3500H;十六进制数源地址
MOVDX.IDII
Ai:MOVAX.DX
ANDAX.OOOFH:取低4位
CMPAL.OAH
JBA2;小于OAH则转A2
ADDALO7H;在A〜FH之间,需多加上7H
A2ADDAL30H;转换为相应ASCH码
MOV(DLK)DH]AL;结果存入目标地址
DECDI
PUSHCX
MOVCL04H
SHRDXCL;将卜六进制数右移4位
POPex
IXK)PAl
A3:JMPA3
CODBENDS
ENDSTART
实验步骤
(1)编写程序,经编译、链接无误后装入系统;
(2)在3500H、3501H中存入四位十六进制数中3B,即键入E3500,然后输入3B20;
(3)先运行程序,然后再停止运行;
(4)键入D350A,显示结果为:0000:350A32303342CC…;
(5)反复输入几组数据,验证程序功能。
5.BCD码转换为二进制数
将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入
3510H起始的内存单元中,自行绘制流程图并编写程序。
实验程序清单(例程文件名为:A2-5.ASM)
SSTACKSEGMENTSTACK
DW64DUP(?)
SSTACKENDS
CODESEGMENT
ASSUMECS:CODE
START:XORAX.AX
MOVCX,0004H
MOVSI.35OOH
MOVDL351OH
Al:MOVAL.|SI]
ADDAL«AL
MOVBL.AL
ADDAL»AL
ADDAL,AL
ADDAL.BL
INCSI
ADDAL.|SI|
MOV(DI].AL
INCSI
INCDI
LOOPAl
A2:JMPA2
CODEENDS
ENDSTART
实验步骤
(1)编写程序,经编译、链接无误后装入系统;
(2)将四个二位十进制数的BCD码存入3500H〜3507H中,即:
先键入E3500,然后输入0102030405060703;
(3)先运行程序,然后停止运行;
(4)键入D3510显示转换结果,应为:OC22384E;
(5)反复输入几组数据,验证程序功能。
1.2.4思考题
1.实验内容1中将一个五位十进制数转换为二进制数[十六位)时,这个十进制数最小可
为多少,最大可为多少?为什么?
2.将一个十六位二进制数转换为ASCII码十进制数时,如何确定D;的值?
3.在十六进制转换为ASCII码时,存转换结果后,为什么要把DX向右移四次?
4.自编ASCII码转换十六进制、十六进制小数转换二进制、二进制转换BCD码的程序,并
调试运行。
1.4循环程序设计实验
1.4.1实验目的
1.加深对循环结构的理解;
2.掌握循环结构程序设计的方法以及调试方法。
1.4.2实验设备
PC机一台,TI)-P1TE实验装置一套。
1.4.3实验内容及步骤
1.计算S=l+2x3+3x4+4x5+...+N(N+l),直到N(N+1)项大于200为止。
编写实验程序,计算上式的结果,参考流程图如图1-5-1所示。
实验程序清单(例程文件名为:A5-1.ASM)
SSTACKSEGMENTSTACK
DW64DUP<?)
SSTACKKNDS
CODESEGMENT
ASSUMECS:CODE
START:MOVDX.000IH
MOVBL.O2H
Al:MOVAL.BL
INCBL
MULBL
ADDDXAX结果存于DX中
CMPAXQOCBH,判断N(N+1)与200的大小
JNAAl
A2:JMPA2
CODEENDS
ENDSTART
图程序流程图
实验步骤
(1)编写实验程序,编译、链接无误后装入系统;
(2)运行程序,然后再停止程序运行;
(3)运算结果存储在寄存器DX中,查看结果是否正确;
(4)可以改变N(N+I)的条件来验证程序功能是否正确,但要注意,结果若大于FFFFH将
产生数据溢出。
2.求某数据区内负数的个数
设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后
•个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每•个数据,然后将
所有数据中凡是符号位为:的数据的个数累加起来,即得到区内所包含负数的个数。
实验程序流程图如图1-5-2所示。
实验程序清单(例程文件名为:A5-2.ASM)
SSTACKSEGMENTSTACK
DW64DUPT?)
SSTACKENDS
CODESEGMENT
ASSUMECS:CODE
YTART:MOVDL3000H;数据区首地址
MOVCL,[DI];取数据个数
XORCII.CII
MOVBL,CH
INCDI;指向第一个数据
A!:MOVALJDIl
TESTAL,8()H;检查数据苜位是否为1
JEA2
INCBL;负数个数加1
A2:INCDI
LOOPAl
MOV[DIJ.BL;保存结果
A3:JMPA3
CODEENDS
ENDSTART
数据区首地址一DI
CH、BLXO
DI增I
(结束)
图1-4-2程序流程图
实验步骤
(1)按实验流程编写实验程序;
(2)编译、链接无误后装入系统;
(3)键入E3000,输入数据如下:
3000=06(数据个数)
3001=12
3002=88
3003=82
3004=90
3005=22
3006=33
(4)先运行程序,然后停止程序运行;
(5)查看3007内存单元或寄存器BL中的内容,结果应为03;
(6)可以进行反复测试来验证程序的正确性。
N012345678
RESULT126181:78H02D0H13B0H9D80H
1.6显示程序实验
1.6.1实验目的
1.了解INT1OH各功能模块的作用及用法;
2.掌握字符方式下PC机显示器显示控制。
1.6.2实验设备
PC机一台,TD-PITE实验装置一套。
1.6.3实验内容
编写实验程序,在显示器上的输出窗I」显示A〜Z共26个大写英文字母。
显示I/O功能调用使用说明如下:
INT10使用说明
入口:AH=OOH,AL=C1H
功能:清屏
入口:AHN)1H,AL二数据
功能:写AL中的数据到显示屏上
入口:AH=06H,DS:BX=字串首地址,且字符串尾月00H填充
功能:显示一字串,直到遇到00H为止
实验程序清单(例程文件名为:A9-1.ASM)
SSTACKSEGMENTSTACK
DW64DUP(?)
SSTACKENDS
CODESEGMENT
ASSUMECS:CODE
START:MOVCX.OObXH
MOVBMlHfA1的ASCII码值
MOVAH.OIH
A1:MOVAL.BL
INT10H;功能调用
INCBL
PUSHCX
MOVCX.OFFFni
A2:LOOPA2
POPCX
DECCX
JNZAl
A3:JMPA3
CODEENDS
ENDSTART
1.6.4实验步骤
1.编写实验程序,经编译、链接无误后装入系统:
2.运行实验程序,观察实验结果;
3.修改实验程序,在显示器上显示'GOODAFTERNOON1要求使用AH=06功能(显示一字
符串功能块)完成。
第2章80X86微机接口技术实验
接口技术是把由处理器、存储器等组成的基本系统与外部设备连接起来,从而实现CPU
与外部设备通信的一门技术。微机的应用是随着外部设备的不断更新和接口技术的不断发展
而深入到各行各业,任何微机应用开发工作都离不开接口的设计、选用及连接。微机应用系
统需要设计的硬件是一些接口电路,所要编写的软件是控制这些接口电路按要求工作的驱动
程序。因此,接口技术是微机应用中必不可少的基本技能。
2.38259中断控制实验
2.3.1实验目的
1.掌握8259中断控制器的工作原理;
2.学习8259的应用编程方法;
3.掌握8259级联方式的使用方法。
2.3.2实验设备
PC机一台,TI>P1TE实验装置一套。
2.3.3实验内容及步骤
1.中断控制器8259简介
在Intel386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制
器,•个为主控制器,•个为从控制器。该中断控制单元就功能而言与工业上标准的82c59A
是一致的,操作方法也相同。从片的INT连接到主片的IR2信号上构成两片8259的级联。
在TD-PITE实验系统一,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验
使用,主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图2-3-1所示。
INTR
(内核)
串口0
MIR6
MIR7
SIRh
图2-3-18259内部连续及外部管脚引出图
表2-37列出了中断控制单元的寄存器相关信息。
表2-3-1ICU寄存器列^
寄存器口地址功能描述
ICW1(主)0020H初始化命令宇1:
ICW1(从)00A0H决定中断请求信号为电平触发还是边沿触发。
(只写)
ICW2(主)0021H初始化命令字2:
ICW2(从)00A1H包含了8259的基址中断向量号,基址中断向量是IR0的向量号,基址加1就是
(只写)IR1的向量号,依此类推。
ICW3(主)0021H初始化命令字3:
(只写)用于识别从8259设备连接到主控利器的IR信号,内部的从8259连接到主8259
的1R2信号上。
ICW3(从)00A1H初始化命令字3:
(只写)表明内部从控制器级联到主片的IR2信号匕
ICW4(主)0021H初始化命令宇4:
ICW4(从)00A1II选择特殊全嵌套或全嵌套模式,使能中断自动结束方式。
(只写)
OCW1(主)0021H操作命令字1:
0CW1(从)00A1H中断屏蔽操作寄存器,可屏蔽相应的中断信号。
(读/写)
0CW2(主)0020H操作命令字2:
OCW2(从)OOAOH改变中断优先级和发送中断结束命令。
(只写)
OCW3(主)0020H操作命令字3
OCW3(从)OOAOH使能特殊屏蔽方式,设置中断查询方式,允许读出中断请求寄存器和当前中断服
(只写)务寄存器。
IRR(±)0020H中断请求:
IRR(从)OOAOH指出挂起的中断请求。
(只读)
ISR(主)0020H当前中断服务:
ISR(从)OOAOH指出当前正在被服务的中断请求。
(只读)
POLL(主)0020H查询状态字:
0021H表明连接到8259上的设备是否需要服务,如果有中断请求,该字衣明当前优先
POLL(从)OOAOH级最高的中断请求。
(只读)00A1H
初始化命令字1寄存踞(ICWI)说明见图2-3-2所示。
o
ICW10901LS001
0:边沿触发
1:电平触发
图2-3-2初始化命令字1寄存器
初始化命令字2寄存器(ICW2)说明见图2-3-3所示。
70
ICW2T7T6T5T4T30,00
中断向量地址
图2T-3初始化命令字2寄存辖
初始化命令字3寄存器(ICW3)说明,主片见图2-3T,从片见图2-3-5。
o
ICW3(主片)S7S6S5S4S3S2S10
S7-S3:0表示无8259被连接到主片上
1表示有8259被连接到主片上
S2:0表示内部从片没被使用
1表示内部从片被级联到主片的IR2上
S1:0表示无8259通过1R1连接到主片上
1表本有8259通过IR1连接到主片上
图2-3-4主片初始化命令字3寄存器
70
ICW3(从片)00000010
图2-3-5从片初始化命令字3寄存暴
图2-3-5从片初始化命令字3寄存器
初始化命令字4寄存器(ICW4)说明见图2-3-6。
70
ICW4000SNFM00AE0I1
SNFM:O=选择全嵌套模式
『选择特殊全嵌套模式,仅主8259能够工作在特殊全嵌套模式
AEOI:O=禁止中断自动结束
1=使能中断自动结束,仅主8259能够工作在中断自动结束方式
图2-3-6初始化命令字4寄存器
操作命令字1寄存器(OCWI)说明见图2-3-7。
70
OCW1M7W6M5M4M3M2MlM0
M7-M0:0=对应IR信号上的中断请求得到允许
『对应以信号上的中断请求被屏蔽
注意:设置屏蔽位不影响各自中断挂起位
图2-3-7操作命令字1寄存器
操作命令字2寄存器((心吃)说明如图2-3-8所示。
0CW2RSLE0I00L2L1L0
RSLE0I命令
000取消优先级自动循环
001一般的中断结束命令
010无操作
011特殊的中断结束命令**
100中断优先级自动循环*
101在一般中断结束方式中优先级循环
110优先级特殊循环方式**
111在特殊中断结束方式中优先级循环“
当8259工作在中断自动结束方式下时,这些情况可以改变优先级结构。
**在这些情况下优先级由L2:L0指定。
L2、LI、L0:在给出特殊的中断结束命令时,L2、LI、L0指出了具体要清除当
前中断服务寄存器的哪一位:当绐出特殊的优先级循环方式命令时,L2、L1、
L0指出了循环开始时哪个中断的优先级最低,
图2-3~8操作命令字2寄存簿
操作命令字3寄存器(0CW3)说明如图2-3-9所示。
OCW30ESMMSMM01PRRRIS
ESMMSMM
00无影响
01无影响
10禁止特殊屏蔽模式
1使能特殊屏帮模式
P:设置该位使8259工作在中断查询方式
RRR1S
00无影响
0无影响
10读中断请求寄存器IRR
11读当前中断服务寄存器ISR
图2-3T操作命令字3寄存器
查询状态字(POLL)说明如图2-3-10所示。
7o
INTL2L1L0
INT:0=无请求
1=连接在8259上的设备请求服务
12、LI、L0:当INT为1时,这些位指出了需要服务的最高优先级的IR:当
1NT为0时这些位不确定。
图2-3-10程序状态字寄存器
在对8259进行编程时,首先必须进行初始化。一般先使用CLI指令将所有的可屏蔽中
断禁止,然后写入初始化命令字。8259有一个状态机控制对寄存器的访问,不正确的初始化
顺序会造成异常初始化。在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、
ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。
系统启动时,主片8252已被初始化,且4号中断源(IR4)提供给与PC联机的串口通
信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如下表所示:
2.8259单中断实验
实验接线图如图2-3-11所示,单次脉冲输出与主片8259的IR7相连,每按动一次单次
脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。
革
系次
脉
统冲
总MIR7,OO单
线主8259元
图2-3-118259单中断实验接线图
实验程序清单
SSTACKSEGMENTSTACK
DW32DUP(?)
SSTACKENDS
CODESEGMENT
ASSUMECS:CODE
START:PUSHDS
MOVAX.(XXX)H
MOVDS.AX
MOVAX.OFFSETMIR7:取中断入口地址
MOVSLOO3cH;中断矢量地址
MOV[SII.AX:填IRQ7的偏移矢量
MOVAX.CS:段地址
MOVSI.003EH
MOV(SIJ.AX;)WRQ7的段地址矢量
CLI
POPDS
;初始化主片8259
MOVAU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年心理学基础测试题及答案
- 2022物流专员笔试专业知识考题带全版本答案
- 2024年食品厂IQC入职笔试题及答案
- 2025防止返贫动态监测信息员专项认证 历年真题+高频考点刷题包
- 2026年广州中考生物测试题及答案
- 2021年12月四级写作押题范文就是考试答案直接抄
- 2026年微生物细菌测试题及答案
- 普华永道寒假实习内推通道及笔面试真题合集
- 女方签了抚养费协议书
- 几个股东合作协议书
- 境外旅游保险知识培训课件
- 幼儿园足球课题申报书
- 【普法教育】初高中主题班会:知法懂法做明理少年【课件】
- 索尼摄像机DCR-HC21E说明书
- 豪宅防水策划方案(3篇)
- 小红书电商学习中心 -新手小白也能上手的0-1起号策略
- 《义务教育数学课程标准(2022年版)》解读课件
- 脑血管介入科进修汇报
- 卡迪滚筒洗衣机 GO4 DF86说明书
- 部编版八下历史期末复习常考观点速记(新考向)
- 扶梯施工安装管理制度
评论
0/150
提交评论