2.循环程序设计实验
1.2.1 实验目的
1. 加深对循环结构的理解。
2. 掌握循环结构程序设计的方法以及调试方法。
1.2.2 实验设备
PC机一台,TD-PITE实验装置一套。
1.2.3 实验内容
计算S=1+2×3+3×4+4×5+?+N(N+1),直到N(N+1)项大于200为止。 编写实验程序,计算上式的结果,参考流程图如图1.6所示。
开始
1→DX2→BL[BL]→AL[BL]+1→BL[AL]×[BL]→AX[DX]+[AX]→DX[AX]>200?
图1.6 程序流程图
结束1.2.4 实验程序 SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DX,0001H MOV BL,02H A1: MOV AL,BL
INC BL MUL BL
ADD DX,AX ;结果存于DX中
CMP AX,00C8H ;判断N(N+1)与200的大小 JNA A1 MOV AX,4C00H INT 21H ;程序终止 CODE ENDS
END START
1.2.5 实验步骤
(1)编写实验程序,编译、链接无误后装入系统。 (2)运行程序,待程序运行停止。 (3)运算结果存储在寄存器DX中,查看结果是否正确。 (4)可以改变N(N+1)的条件来验证程序功能是否正确,但要注意,结果若大于0FFFFH将产生数据溢出。
1.2.6 实验结果
AL、BL显示出N的值分别为D2H、0FH即210/15,DX显示出结果值为045FH即1119。
实验二 8255并行接口实验
2.1 实验目的
1. 学习并掌握8255的工作方式及其应用。 2. 掌握8255典型应用电路的接法。
2.2 实验设备
PC机一台,TD-PITE实验装置一套。
2.3 实验内容
查询式输入输出实验。编写程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求将一开关设为总开关,由此开关来决定数据灯的显示是否随开关相应改变。
2.4 实验步骤
查询输入输出实验
本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程
来实现输入输出功能。具体实验步骤如下述:
(1)实验接线图如图2.1所示,按图连接实验线路图。 (2)编写实验程序,经编译、连接无误后装入系统。
(3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。
XD0D0......PA0K0......IOW#IOR#IOY1WRRDCSPB78255单元...D7系统总线...K7D0XD7D7开关及LEDPA7XA1XA2A0A1PB0显示单元 图2.1 8255基本输入输出实验接线图
2.5 实验程序
IOY1 EQU 0640H ;片选IOY0对应的端口始地址
MY8255_A EQU IOY1+00H*2 ;8255的A口地址 MY8255_B EQU IOY1+01H*2 ;8255的B口地址 MY8255_C EQU IOY1+02H*2 ;8255的C口地址 MY8255_MODE EQU IOY1+03H*2 ;8255的控制寄存器地址
SSTACK SEGMENT STACK
DW 32 DUP(?) SSTACK ENDS CODE SEGMENT
ASSUME CS:CODE MOV AL, 90H OUT DX, AL IN AL, DX CALL DELAY
START: MOV DX, MY8255_MODE
AA1: MOV DX, MY8255_A
MOV DX, MY8255_B OUT DX, AL JMP AA1 MOV CX, 0F00H POP AX LOOP AA2 POP CX RET END START
DELAY: PUSH CX AA2: PUSH AX
CODE ENDS
2.6 实验结果