微机原理实验指导书

导读:微机原理与接口技术实验指导书自动化实验室,实验步骤:,实验五循环程序设计,一、实验目的,二、实验设备,TDN86/88教学实验系统一台,三、实验内容及步骤,实验程序如下:STACK1SEGMENTSTACK,实验程序及流程图如下:STACK1SEGMENTSTACK,ENDSTART实验步骤,实验六子程序设计实验,实验程序及流程如下:,微机原理与接口技术实验指导书自动化实验室MOV[DI],A

微机原理实验指导书

微机原理与接口技术实验指导书 自动化实验室

MOV [DI],AL INC SI INC DI DEC CX JNE A2

A3: JMP A3 CODE ENDS

END START

实验步骤:

(1) 阅读程序,画出程序流程图。 (2) 输入源程序,进行编译、链接和加载。 (3) 用E命令在以SI为起址的单元中填入16个数。

(4) 运行程序并检查结果,用D命令查看DI为起址的单元中的数据是否与SI单元中数据相同。

(5) 试改变SI、DI的取值,观察在三种不同的数据块情况下程序的运行。

2.设在变量单元A、B和C中存放有三个数,若三个数都不为0,则求出三个数之和存入D单元中;若有一个为0,则将其它两个单元也清0,试编写程序。

3.十个学生的成绩分别为56、69、84、82、73、88、98、63、100和80分,依次存放在字变量GRADE中,试编制程序,统计低于60分、60~69分、70~79分、80~89分、90~99分及100分的人数,并分别存放在S5、S6、S7、S8、S9及S10单元中。

四、思考题

为什么当源数据块首址>目的块首址时,应从数据块首地址开始传送数据,而当源数据块首址<目的块首址时,应从数据块末地址开始传送数据?

24

微机原理与接口技术实验指导书 自动化实验室

实验五 循环程序设计

一、实验目的

1.加深对循环结构的理解。 2.掌握循环结构程序设计的方法。 3.熟练掌握调试循环程序的方法。

二、实验设备

TDN86/88教学实验系统一台

三、实验内容及步骤

1.编制程序,使S=1+2×3+3×4+4×5+?+N(N+1),直到N(N+1)项大于200为止。

实验程序如下: STACK1 SEGMENT STACK

DW 64 DUP(?)

STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE

START: MOV DX,0001H

MOV BL,02H

N开始1→DX2→BLBL→ALBL+1→BLAL*BL→AXDX+AX→DXA1: MOV AL,BL

INC BL MUL BL

AX>200结束

25

微机原理与接口技术实验指导书 自动化实验室

ADD DX,AX CMP AX,00C8H JNA A1 A2: INT 03H CODE ENDS

END START

实验步骤

(1) 输入源程序,进行编译、链接和加载。 (2) 运行程序,查看结果。

2.求某数据区内负数的个数

设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得区内所包含负数的个数。

实验程序及流程图如下: STACK1 SEGMENT STACK

DW 64 DUP(?)

STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE

START: MOV DI,3000H ;设数据区首址

MOV CL,[DI] ;送数据个数 XOR CH,CH ;CH清0

26

微机原理与接口技术实验指导书 自动化实验室

MOV BL,CH ;BL 清0

INC DI ;指针指向第一个数据 A1: MOV AL,[DI]

TEST AL,80H ;数据首位是否为1 JE A2

INC BL ;负数个数累加 A2: INC DI

LOOP A1

MOV [DI],BL ;存结果 INT 03H

开始数据区首址→DI数据个数→CLCH、BL清0DI增1数据首位=1?BL+1→BLCODE ENDS

END START 实验步骤

(1) 输入源程序,进行编译、链接和加载。 (2) 键入E0000:3000↙,输入数据如下:

3000=06(数据个数)

3001=12、88、82、90、22、33。

(3) 运行程序,查看结果,即在调试区键入

D0000:3007↙,显示结果应为03。

3.修改程序2,使其能分别求出数据区中正数、零和负数的个数。

4.已知有256个带符号字数据存放在以BUF1为首地址的数据区中,试编写程序将其中的负数去除后将剩下的正数重新顺序存放在以PLUS开始的数据区中。

27

DI增1CX=0?存结果结束

微机原理与接口技术实验指导书 自动化实验室

实验六 子程序设计实验

一、实验目的

1.学习子程序的定义和调用方法。

2.掌握子程序、子程序的嵌套、递归子程序的结构。 3.掌握子程序的程序设计、编制及调用。

二、实验设备

TDN86/88教学实验系统一台

三、实验内容及步骤

1.求无符号字节序列中的最大值和最小值

设有一字节序列,其存储首址为3000H,字节数为08H。利用子程序的方法编程求出该序列中的最大值和最小值。实验程序及流程如下:

STACK1 SEGMENT STACK

主程序

DW 64 DUP(?)

开始STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE

START: MOV SI,3000H

MOV CX,0008H CALL branch INT 03H

branch: JCXZ A4

结束序列的字节个数→CX数据区首址→SI调用求最大最小值子程序

28

五星文库wxphp.com包含总结汇报、资格考试、旅游景点、出国留学、文档下载、党团工作、考试资料、教学研究以及微机原理实验指导书等内容。

本文共10页1<<45678910