微机原理实验指导书

导读:微机原理与接口技术实验指导书自动化实验室,实验步骤,实验程序如下,实验七显示程序实验(软件中断实验),一、实验目的,二、实验设备,TDN86/88教学实验系统一台,三、实验内容及步骤,1.本实验在显示器上显示A-Z26个英文字母,实验程序如下:STACK1SEGMENTSTACK,(2)运行实验程序,观察实验结果,2.修改实验1的程序,微机原理与接口技术实验指导书自动化实验室实验步骤(1)输入

微机原理实验指导书

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

实验步骤

(1) 输入源程序,进行编译、链接和加载。

(2) 在调试区键入E0000:3000↙,输入8个字节的数据:D9、07、8B、C5、EB、04、9D、F9。

(3) 运行程序,查看结果,在调试区键入R AX↙,显示结果应为AX=F9 04,AH中为最大值,AL中为最小值。

2.求N!

利用子程序的嵌套和子程序的递归调用,实现N!的运算。根据阶乘运算,我们有:

N!=N(N-1)!=N(N-1)(N-2)!=?? 0!=1

欲求N的阶乘,可以用一递归子程序来实现,每次递归调用时应将调用参数减1,即求(N-1)的阶乘,并且当调用参数为0时停止递归调用,且有0!=1的中间结果。最后将每次调用的参数相乘得到最后结果;因每次递归调用时参数都送入堆栈中,当N为0而程序开始返回时,应按嵌套的方式逐层取出相应的调用参数。

实验程序如下,N放在3000-3001H单元中,N!的结果放在3010H起的单元中,N在0H-FH间取数,且(3000H)中放低位。

STACK1 SEGMENT STACK

DW 64 DUP(?)

STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE

START: MOV AX,3010H ;主程序

PUSH AX

30

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

MOV SI,3000H MOV AX,[SI] PUSH AX MOV DI,0000H CALL BRANCH INT

03H

BRANCH: PUSH BP ;子程序

MOV BP,SP PUSH BX PUSH AX

MOV BX,[BP+DI+06H] MOV AX,[BP+DI+04H] CMP AX,0000H JZ A1 PUSH BX DEC AX PUSH AX CALL branch MOV BX,[BP+DI+06H] MOV AX,[BX] PUSH BX

MOV BX,[BP+DI+04H] MUL BX POP BX JMP A2

31

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

A1: MOV AX,0001H A2: MOV [BX],AX

POP AX POP BX POP BP RET 0004H

CODE ENDS

END START

实验步骤

(1) 阅读程序,画出子程序的流程图。 (2) 输入源程序,进行编译、链接和加载。

(3) 在0-F之间随意取一数放入3000-3001H单元中。 (4) 运行程序,验证结果。

3.字节变量ADDR中存有8个无符号数,欲求其整数平均值(余数不计),并存于字节变量DCP中,要求求和工作由子程序实现。

四、思考题

1.若求有符号字节型序列中的最大值和最小值,如何修改程序1?

2.子程序执行完毕后要返回程序调用,它返回调用程序的什么地方,是靠什么指令、什么方法返回的?

3.若N=3,请画出程序2运行时的堆栈变化情况,并加以解释。

32

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

实验七 显示程序实验(软件中断实验)

一、实验目的

1.了解INT 10H各功能块的作用及用法。 2.掌握字符方式下PC机显示器显示控制。

二、实验设备

TDN86/88教学实验系统一台。

三、实验内容及步骤

显示器I/O功能调用使用说明如下: INT 10使用说明 入口:AH=00H,AL=01H 功能:清屏

入口:AH=01H,AL=数据 功能:写AL中的数据到屏幕上

入口:AH=06H,DS:BX=字串首址,且字符串尾用00H填充。 功能:显示一字串,直到遇到00H为止

1.本实验在显示器上显示A-Z 26个英文字母,实验程序如下: STACK1 SEGMENT STACK

DW 64 DUP(?)

STACK1 ENDS CODE SEGMENT

ASSUME CS:CODE

33

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

START: MOV CX,001AH ;显示字符个数(26)送入CX

MOV BL,41H ;显示字符‘A’ MOV AH,01H ;显示一个字符 A1: MOV AL,BL

INT 10H

INC BL ;显示下一个字符 PUSH CX MOV CX,0FFFFH A2: LOOP A2

POP CX DEC CX JNZ A1 INT 03H

CODE ENDS

END START

实验步骤

(1) 输入源程序,并进行编译、链接和加载。 (2) 运行实验程序,观察实验结果。

2. 修改实验1的程序,在显示器上显示‘GOOD AFTERNOON’。要求:分别用AH=01

(写一字符到屏上功能块),AH=06(显示一字符串功能块)来完成。

34

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

本文共10页1<<45678910