 
         
         
         
         
        版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、江苏大学电气与信息工程学院 1.8086/80881.8086/8088系统环境认识系统环境认识 2 2学时学时 2.2.程序设计及调试程序设计及调试 2/32/3学时学时 3.3.中断控制器中断控制器82598259应用应用 2 2学时学时 4.4.并行接口并行接口82558255应用应用 2 2学时学时 5.5.定时定时/ /计数器计数器82538253应用应用 ( (选做选做) 2) 2学时学时 共共 8/108/10学时学时实验要求: 实验前预习,提前编写预习程序。实验前预习,提前编写预习程序。 实验时按学号对应机号入座,并签到,实验时按学号对应机号入座,并签到,做完实验请通知老师。做
2、完实验请通知老师。 实验时不要带电触摸芯片,不可随意拔实验时不要带电触摸芯片,不可随意拔插芯片。有要求接线的实验,请务必先插芯片。有要求接线的实验,请务必先断电再接线。出现问题及时联系老师。断电再接线。出现问题及时联系老师。 实验完整理好再离开。实验完整理好再离开。 注意室内卫生。注意室内卫生。实验一实验一: 8086系统环境认识系统环境认识一、实验目的一、实验目的1.掌握在计算机上建立、编译、连接、调试和运行8086/8088汇编语言程序的步骤;2.熟悉FD88调试软件的使用方法;3.了解FD88系统实验系统组成。 二、实验内容二、实验内容 计算16位二进制Y中的1的个数,并将结果存入COU
3、NT单元,已知数Y的地址存放在ADDR中。 已知数:Y=0001000100010001B=1111H 结果:(COUNT)=4 程序见P.22。 更正:倒数第5行SHIFY应为SHIFT三、实验步骤三、实验步骤 1.开启计算机进入98系统,从“开始”“程序”“MS-DOS方式” 2.进入文件所在文件夹 F: CD FD88(FD88为子目录名) 3. 创建源程序(*.ASM文件) 文件名中的类型为(.ASM),文件名须小于8个字符,只允许数字或字母。如dq1.asm F:FD88 Q 文件名.ASM 进入编辑界面输入程序; 按ESC键,选择FILE菜单中的file 存盘 4. 用MASM文件
4、编译产生目标代码.OBJ文件 F:FD88 MASM 文件名.ASM; ; 如源程序中有语法错误则屏幕会提示出错信息,重新回到第3步进行修改、编辑、存盘、编译。5. 用LINK程序连接产生.EXE文件; F:FD88 LINK 文件名.OBJ; 在源程序中没有定义堆栈段,有警告提示,可以忽略。注意: 第4步后若提示源程序中有语法错误,源程序中有语法错误,不能下一步,必须回第3步6. 进入FD88调试软件进行.EXE文件调试, F:FD88 FD88/1(需先打开实验系统电源开关),其中1代表设备连接计算机串行口COM1。注意: 先连接好串行接口,再打开实验箱电源。切勿带电插拔串口通讯线!实验箱
5、示意图实验箱示意图插上插上FD88调试软件的使用:(1)连接成功连接成功,如何装入装入.EXE.EXE文件文件到FD88实验装置中;(2)如何观察各窗口信息观察各窗口信息(程序窗,寄存器窗、存贮器窗等),分析各窗的内容;(3)如何设置断点设置断点,并学会带断点运行程序断点运行程序;(4)如何观察实验结果观察实验结果,并分析其结果的正确性其结果的正确性;(5)如何修改指定单元修改指定单元内的数据(已知数),再一次运行程序运行程序。(6)Alt-X退出FD88软件,关闭实验箱电源。问答:nDSEG SEGMENTnADDR DW NUMBERnNUMBER DW 1111HnCOUNT DW ?n
6、DSEG ENDSY?结果结果本次实验程序调试成功,请每一位同学讲述正确本次实验程序调试成功,请每一位同学讲述正确的结果是什么,的结果是什么, DS:0000DS:0000DS:0005DS:0005内存放的值内存放的值是多少?是多少?n四、实验报告要求四、实验报告要求n1. 写出FD88调试软件的主要操作(结合实验内容); n2. 写出如何修改Memory中Y值的操作步骤;n3. 思考:在实验中不采用带断点运行,而用全速运行(不设断点)有何不同?会出现什么现象? ? n五、预习要求五、预习要求n认真编写程序(实验二中1,2),写好上机操作步骤及需要的测试数据。连接成功连接成功装载文件装载文件
7、_F3_F3观察各窗口信息观察各窗口信息主要观察程序CS窗、R窗等设置断点设置断点 在程序代码窗中找到程序最后一条语句,按下Ctrl-F8设置断点,该行处由黄变红。带断点运行程序带断点运行程序_F9_F9按下F9,该行处由红变白。在R窗中ip由0000变为0022,分析程序知CX内存放Y的个数。实验结果实验结果 分析程序知:结果放在DS段中的COUNT内,点中存储Memory窗,按下Ctrl-F2,输入地址DS:00,查看DS:0000DS:0005内的内容。分析分析实验结果实验结果 通过点击菜单Memory Display,切换Memory窗中数据显示字节DB或字DW。修改指定单元值(输入修
8、改指定单元值(输入Y Y) 移动光标到指定单元处,修改数据。运行程序运行程序先按下F5(或修改R窗中的ip=0000);再按下F9带断点运行;分析Memory窗中数据显示。实验二实验二: :程序设计及调试程序设计及调试 n一、实验目的一、实验目的n1.掌握分支、循环等基本程序结构及程序设计方法。n2.掌握用FD88调试软件调试程序。n二、实验二、实验内容内容n1. 编写一程序,把20个字节的数组分成正数组和负数组,并分别计算两个数组中数据的个数。n2. 编写一程序实现将32位数左移4位,并将高四位存入CH中,已知32位数存放在DX:AX中。分析:题1分析: 已知一个含已知一个含2020个字节数
9、据的数组(可正可负),开个字节数据的数组(可正可负),开辟辟2020个字节正数组的存储空间,开辟个字节正数组的存储空间,开辟2020个字节负数组的个字节负数组的存储空间,开辟存储空间,开辟1 1个字节存储空间存储统计的正数个数,个字节存储空间存储统计的正数个数,开辟开辟1 1个字节存储空间存储统计的负数个数。个字节存储空间存储统计的负数个数。 取数指针用:取数指针用:SISI、DIDI、BXBX LEA SI,BLOCK; BLOCK LEA SI,BLOCK; BLOCK偏移地址取到偏移地址取到SISI中。中。 判数是正还是负,只要判其最高位为判数是正还是负,只要判其最高位为1 1?题2分析
10、: 3232位数存放在位数存放在DXDX:AXAX中,即中,即DXDX存放高字、存放高字、AXAX存放低字。存放低字。 左移左移4 4位实现:通过把位实现:通过把 CHCH:DXDX:AXAX寄存器内容(寄存器内容(4040位)位)左移左移1 1位,再循环移位共位,再循环移位共4 4次。次。 3232位数左移位数左移1 1位,位,AXAX逻辑左移逻辑左移1 1位,最高位移入位,最高位移入CFCF, DXDX带进位左移带进位左移1 1位,位, CHCH带进位左移带进位左移1 1位。位。逻辑左移逻辑左移 SHL OPRDSHL OPRD,CNTCNT带进位位的循环左移带进位位的循环左移RCL OP
11、RDRCL OPRD,CNTCNT编程框架 DATA SEGMENTDATA SEGMENT DATA ENDS DATA ENDS CODE SEGMENT CODE SEGMENT MAIN PROC FARMAIN PROC FAR ASSUME CS ASSUME CS:CODECODE,DSDS:DATADATA START START: PUSH DSPUSH DS XOR AX XOR AX,AXAX PUSH AX PUSH AX MOV AX MOV AX,DATADATA MOV DS MOV DS,AXAX RET RET MAIN ENDPMAIN ENDP CODE
12、ENDS CODE ENDS END START END STARTn参考程序n分析结果问答一:nDATA SEGMENTnDAT DB 1,-1,2,-2,3,-3,4,-4,5,-5,6,-6,7,-7,8,9,10,-8,-9,-10nDATZ DB 20 DUP(?)nDATF DB 20 DUP(?)nDATA ENDS结合结合你的数据段的定义你的数据段的定义,分析并回答:,分析并回答: 已知数、正数组、正数个数、负数组、负数已知数、正数组、正数个数、负数组、负数个数存放位置及内容是什么?个数存放位置及内容是什么?实验题实验题1:问答二:程序运行前:程序运行前:CH、DX、AX各寄存
13、器的内容;各寄存器的内容;程序运行后:程序运行后: CH、DX、AX各寄存器的内容;各寄存器的内容; 并分析其正确性。并分析其正确性。 实验题实验题2:n三、实验步骤三、实验步骤n在计算机上建立程序、编译、连接、运行,验证程序的正确性。n四、实验报告要求四、实验报告要求n1. 写出程序清单并画出程序流程图。n2. 写出数据及调试结果。(观察地址指针、计数器变化) 实验三:中断控制器中断控制器8259实验实验 n一、实验目的n1.了解可屏蔽中断的响应和处理过程n2.掌握8259使用及中断服务程序的设计。n二、实验内容n使用IRQ1,用单脉冲信号模拟外部中断信号,每一个单脉冲信号显示一个字符“M”
14、,共10次退出程序。n 三、中断控制器8259A芯片JJ4JJ5一片8259可管理8级中断。n插孔JJ5用于级联方式,可管理更多的中断。n插孔JJ4是8级中断请求信号的输入插孔,在8个中断请求中IRQ0已连接8253通道0输出,IRQ4已用作8250中断申请,我们可以使用其余6个中断。本次实验中用IRQ1号中断。n8259A芯片使用地址20H和21H。1. 硬件接线: 将单脉冲发生器的输出端(J23)接JJ4-IRQ1。2. 在计算机上建立程序、汇编、连接、调试运行程序。注意: 用调试软件FD88时,要点击全屏图标; 调试时可以不要设置断点,采用连续运行方式运行程序; 按动输出脉冲的按钮,实时
15、看现象。 按下中断ABORT按钮或复位RESET按钮,停止程序运行。 四、实验步骤实验箱示意接线图五、编程说明1、可屏蔽中断的响应和处理过程中断方式的实现一般需要经历下述过程:中断方式的实现一般需要经历下述过程:主程序主程序 中断服务程序中断服务程序中断请求中断请求中断响应中断响应中断处理中断处理中断返回中断返回8259A可对多个可屏蔽中断源进行优先级控制,一片可对多个可屏蔽中断源进行优先级控制,一片8259A可管理可管理8级可屏蔽中断。级可屏蔽中断。8 8259259A A的编程使用的编程使用 使用使用82598259A A进行中断控制时,进行中断控制时,CPUCPU通过通过OUTOUT指令
16、向指令向82598259A A内部寄存器写入相应的内部寄存器写入相应的命令字命令字,8 8259259A A按命令字按命令字指定的方式工作。指定的方式工作。控制电路控制电路ICW1OCW1ICW2ICW3ICW4OCW2OCW3初始化编程初始化编程操作方操作方式编程式编程一旦写入,工作过程一旦写入,工作过程中不再改变。中不再改变。可多次改写的可多次改写的编程说明2 2、主程序:、主程序: 1 1)将中断子程序的入口地址置入将中断子程序的入口地址置入中断矢量表中断矢量表的相应表项的相应表项 2 2)82598259初始化初始化ICW1-ICW2-ICW4ICW1-ICW2-ICW4 3 3)操作
17、命令字)操作命令字OCW1OCW1 4 4)设置中断次数,开中断)设置中断次数,开中断 5 5)等待中断)等待中断 6 6)判断)判断1010次中断到结束程序,未到继续第次中断到结束程序,未到继续第5 5步步3 3、中断服务程序、中断服务程序 1 1)显示)显示M M字符字符 moval,M movah,1 int 14h ;系统功能调用;系统功能调用 2 2)次数减)次数减1 1 3 3)发出中断结束命令发出中断结束命令OCW2OCW2 4 4)中断返回)中断返回 程序框架按中断类型码从小到大顺序依次存放按中断类型码从小到大顺序依次存放各类中断(各类中断(256种)的中断向量(中种)的中断向
18、量(中断服务程序入口地址)。断服务程序入口地址)。 在内存的在内存的00000H003FFH地址范围地址范围内内,大小为,大小为1KB。每个中断向量占用每个中断向量占用4 Bytes,低字为,低字为段内偏移地址,高字为段基址。段内偏移地址,高字为段基址。中断类型码中断类型码与中断向量地址的关系与中断向量地址的关系: 设某中断的设某中断的中断类型码中断类型码为为n 中断向量在中断向量在IVT中的存放地址中的存放地址(向量地址)(向量地址)4n中断向量表IVT中断向量地址中断向量地址 类型类型0中断向量中断向量00000H类型类型1中断向量中断向量00008H00004H段地址段地址偏移地址偏移地
19、址003FFH类型类型2中断向量中断向量FFFFFH类型类型255中断向量中断向量003FCH内存内存n在在82598259中中ICW2ICW2确定确定中断中断类型码类型码nICW2ICW2值(中断类型码基值)必须是能被值(中断类型码基值)必须是能被8 8整除整除的值,即其低的值,即其低3 3位必须为位必须为0 0。n系统采用系统采用ICW2ICW200001000B00001000Bn定义类型码高定义类型码高5 5位为位为0000100001,低,低3 3位由引入中断位由引入中断请求的引脚请求的引脚IR0IR0IR7IR7决定。决定。IR0IR0IR7IR7分别对应分别对应000000111
20、 111 n实验用实验用IR1 IR1 中断,中断类型码中断,中断类型码为为n n9 9n在在IVTIVT中的存放地址中的存放地址0 0003600360003900039 n由于所有中断服务程序的入口地址都放在中断向量表由于所有中断服务程序的入口地址都放在中断向量表中,首先需将类型码转换为向量地址中,首先需将类型码转换为向量地址4 n 向量地址向量地址查表取得中断向量查表取得中断向量字单元(字单元(4 n,4 n + 1) 字单元(字单元(4 n + 2,4 n + 3) IP CSCS : IP即可转入相应中断服务程序执行。即可转入相应中断服务程序执行。CSEGSEGMENT ASSUME
21、CS:CSEGSTART: XOR AX,AX MOVDS,AX LEAAX,IRQ1 MOVDS:0024H,AX MOVAX,CS MOVDS:0026H,AX : :IRQ1: :IRETCSEG ENDSENDSTART主程序中断服务程序8259初始化nICWICW的写入顺序不可颠倒的写入顺序不可颠倒n写入地址要求:写入地址要求:nICW1ICW1必须写入偶地址必须写入偶地址端口:端口:20H20HnICW2ICW2ICW4ICW4必须写入必须写入奇地址端口奇地址端口:21H21HICW1nLTIMLTIM :中断触发方式n=1 =1 高电平触发高电平触发n=0 =0 上升沿触发(系统
22、采用)上升沿触发(系统采用)nSNGLSNGL :系统使用单片还是多片8259A8259An=1 =1 单片(系统采用)单片(系统采用)n=0 =0 多片(级联)多片(级联)nIC4 IC4 :是否写入ICW4n=1 =1 写(系统采用)写(系统采用)n=0 =0 不写不写 D7D6 D5 D4 D3 D2 D1 D0 x x x 1 LTIM x SNGL IC4ICW1的特征位不用,可设为0ICW100010011BMOV AL,13H OUT 20H,ALICW4nSFNM: 嵌套方式嵌套方式=1 特殊全嵌套方式特殊全嵌套方式(多片级联多片级联)=0 全嵌套方式(系统采用)全嵌套方式(系
23、统采用)nAEOI: 中断结束方式=1 自动自动EOI方式方式=0 非自动非自动EOI方式(系统采用)方式(系统采用) D7D6 D5 D4 D3 D2 D1 D0 0 00 SFNMBUF M/S AEOI 1 BUF: 连接系统总线方式 M/S: 主/从缓冲选择BUF M/S 1 1 缓冲方式缓冲方式/主片主片 1 0 缓冲方式缓冲方式/从片从片 0 x 非缓冲方式非缓冲方式/正常正常系统采用:系统采用:BUF=1n只有在ICW1的IC4位(D0) 0 ,才设置ICW4。ICW400001001BMOV AL,09H OUT 21H,AL操作方式编程n8259A的操作命令字的操作命令字OC
24、Wn初始化后在用户程序中写入nOCW的写入顺序可任意n写入地址要求:nOCW1必须写入奇地址端口:必须写入奇地址端口:21HnOCW2 、OCW3必须写入偶地址端口必须写入偶地址端口:20H OCW1 屏蔽或开放中断屏蔽或开放中断nMi=1 屏蔽中断IRi =0 开放IRi中断 D7D6 D5 D4 D3 D2 D1 D0 M7 M6 M5 M4 M3 M2 M1 M0nR: R: 优先级自动循环位优先级自动循环位 0 0,中断优先级固定(,中断优先级固定(IRIR0 0最高,最高,IRIR7 7最低)最低) 1 1,优先级自动循环,优先级自动循环nSL: SL: 决定决定L L2 2L L1
25、 1L L0 0是否有效的标志是否有效的标志 1 1,有效;,有效;0 0,无效,无效nEOI:EOI:中断结束命令位中断结束命令位 1 1,复位当前中断级在,复位当前中断级在ISRISR中的对应位。中的对应位。 D7D6 D5 D4 D3 D2 D1 D0 R SL EOI 0 0 L2 L1 L0特征位特征位nL2L1L0: 当当OCW2的的SL,EOI为为11,L2L1L0指出具体清除当前指出具体清除当前ISR中的哪一位;中的哪一位;当当OCW2的的R,SL为为11,L2L1L0指出哪个中断优先级最低。指出哪个中断优先级最低。OCW2 设置中断优先级循环方式和中断结束方式设置中断优先级循
26、环方式和中断结束方式nOCW2的作用的作用n中断结束命令(EOI命令):EOI=1 一般EOI命令: R=0,SL=0,EOI=1, MOV AL,00100000B(20H ) ;EOI命令送AL OUT 20H,AL IRET五、实验报告五、实验报告n写出程序清单并画出程序流程图。实验四:可编程并行可编程并行I/O接口接口 8255n一、实验目的一、实验目的n掌握8255A的基本使用及设计方法。 n二、实验二、实验内容内容 采用8255的B口为输入,A口为输出,输入与输出分别用开关及发光二极管代表。要求: 当输入不全为0时,输入与输出保持一致; 当输入为全0时,A口输出发光二极管闪烁报警信
27、号。三、实验设计n8255A是可编程外围通用并行接口芯片, 它具有 A、B、C 三个并行接口,能在三种方式下工作: 方式 0:基本输入输出式; 方式 1:选通输入输出式; 方式 2:双向选通工作方式。 工作方式控制字:用来设定通道的工作方式及数据的传送方向的。适用于适用于无条件传送无条件传送和查询方式的接口电路和查询方式的接口电路8088/8086的输入输出指令n8088只能通过输入输出指令与外设进行数据交换;呈现给程序员的外设是端口(Port),即I/O地址。有直接、间接两种寻址方式。n对大于0FFH的端口只能采用间接寻址方式。nIN AL, i8 ;直接寻址,字节输入nOUT i8, AL
28、 ;直接寻址,字节输出8255A的编程 工作方式控制字放在程序的开始部分(即初始化8255)。采用控制I/O地址:A1A011流程图: 使使 8255A8255A端口端口 B B 工作在方式工作在方式 0 0 ,作为输入口,读取作为输入口,读取 K1 K4 K1 K4 个开个开关量(开关推上读取关量(开关推上读取0 0););端口端口A A 工作在方式工作在方式0 0, 作为输出口作为输出口, ,发光二极管发光二极管L1 L1 L4L4指示(输出指示(输出0 0发发光二极管亮)。光二极管亮)。n闪烁编程思想: 灯亮延时灯灭延时。 实现灯亮,将A口输出0。n延时程序: MOV CX,0FFFFH
29、 L1: LOOP L1试设计试设计1 12 2种不同闪烁形式种不同闪烁形式四、实验步骤实验步骤n1. 硬件接线:8255的PA口(J32)连接四个发光二极管L (J20) 8255的PB口(J31)连接四个拔动开关K (J21) 8255的片选端CS (J29)连接I/O地址译码插座(JJ11-1)。取得了8255基地址为08H。 注意:实验时仅利用8255PA、PB口的低四位或高四位,编程做相应修改。PAPA口、口、PBPB口、控制字口地址分别为口、控制字口地址分别为08H08H、09H09H、0BH0BH。实验箱示意接线图实验箱示意接线图n2. 在计算机上建立程序、编译、连接、调试运行程序,用连续运行的方法看现象。n(本题程序较简单,但连线较多,要细心)。提示:用调试软件FD88时,要点击全屏图标;装载完程序,不要设置断点,采用连续运行方式运行程序;拨动开关,观看现象。按下中断ABOR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年荆门遴选考试试题及答案
- 2025年商品经营管理师职业资格考试《零售管理实务》备考题库及答案解析
- 2025年工程师资格考试备考题库及答案解析
- 2025年企业培训师职业资格考试《员工培训与发展》备考题库及答案解析
- 2023年保育员(中级)备考押题2卷合壹(带答案)卷19
- 2025-2026年一级建造师铁路工程重点试题及答案
- 2025年教育学硕士资格考试备考题库及答案解析
- 省吕梁地区孝义市2024年机械员专业管理实务及完整答案(各地真题)
- 配膳员安全文化知识考核试卷含答案
- 产科护理品管圈主题库及答案解析
- 篮球场施工合同(标准版)
- 11《百年孤独(节选)》任务式公开课一等奖创新教学设计统编版高中语文选择性必修上册
- 2025年汽车后市场汽车维修配件电商平台研究报告
- 2025年三力测试题库及答案
- 中国铁建股份有限公司招聘笔试题目
- 2025 小学技术课创意机器人之快递小帮手课件
- 2025年10月全国自考《00226知识产权法》真题及答案
- 服饰色彩搭配培训
- 基于知识、能力、素养培养的2026届高考历史复习备考策略讲座
- 冬季通信工程安全培训课件
- 县绩效考核方案范文(30篇)
 
            
评论
0/150
提交评论