微机计算机原理实验报告总结,微机原理实验报告.doc

文档介绍:

微机原理实验报告

目录

微机原理实验报告 1

目录 2

第一部 32位微机原理实验 4

实验一显示程序实验 4

一、实验步骤 4

二、实验程序 5

三、实验结果 5

实验二数据传送实验 6

一、实验步骤 6

二、实验程序 6

三、实验结果 7

实验三数码转换程序实验 8

一、将ASCII码表示的十进制数转换为二进制数 8

二、将十进制数的ASCII码转化为BCD码 12

三、将十六进制数的ASCII码转化为十进制数 19

四、BCD码转换为二进制码 23

实验四运算类程序实验 26

一、实验思路 26

二、实验程序 28

三、实验结果 29

实验五分支程序设计实验 30

一、实验步骤 30

二、实验程序 33

三、实验结果 34

实验六循环程序设计实验 35

一、实验步骤 35

二、实验程序 37

三、实验结果 38

汇编语言部分实验总结 39

第二部分32位微机接口技术实验 40

实验一 8259中断控制器应用实验 40

一、实验内容 40

二、实验步骤 40

三、实验思考题及所填空缺的数据的分析 47

四、实验结果 48

实验二 8255并口控制器应用实验 49

一、实验内容 49

二,实验步骤 50

三、实验思考题及所填空缺的数据的分析 53

四、实验结果 54

实验三 8254定时/计数器应用实验 56

一、实验内容 56

二、实验步骤 56

三、实验思考题及所填空缺的数据的分析 60

四、实验结果 62

接口部分实验总结 63

32位微机原理实验

实验一显示程序实验

实验步骤

1. 运行Tddebug软件,选择Edit菜单,根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图1-1示;

2. pile和Link对实验程序进行汇编、连接;

3. 使用Rmrun菜单中的Run,运行程序,观察运行结果;

4. 使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;

5. 更改数据区中的数据,考察程序的正确性。

实验程序

实验程序如下:

DATA SEGMENT

MES DB 'Show a as hex:', 0AH,0DH,'$'

SD DB 'a'

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DATA

MOV DS, AX

MOV DX, OFFSET MES ;显示提示信息

MOV AH, 09H

INT 21H

MOV DI, OFFSET SD

MOV AL, DS:[DI]

AND AL, 0F0H ;取高4位

SHR AL,4

CMP AL, 0AH ;是否是A以上的数

JB C2

ADD AL, 07H

C2: ADD AL, 30H

MOV DL, AL ;显示字符

MOV AH, 02H

INT 21H

MOV AL, DS:[DI]

AND AL, 0FH ;取低4位

CMP AL, 0AH

JB C3

ADD AL, 07H

C3: ADD AL, 30H

MOV DL, AL ;显示字符

MOV AH, 02H

INT 21H

MOV AX, 4C00H ;返回DOS

INT 21H

CODE ENDS

END START

三、实验结果

程序运行结果为:

本程序既是把字符“a”转化为其ASCII码并以10进制数的形式显示在屏幕上。

实验二数据传送实验

一、实验步骤

1. 运行Tddebug软件,选择Edit菜单;

2. pile和Link对实验程序进行汇编、连接;

3. 使用Rmrun菜单中的Run,运行程序,观察运行结果;

4. 使用Rmrun菜单中的Debug,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容;

5. 更改数据区中的数据,考察程序的正确性。

二、实验程序

DDATA SEGMENT ;定义源数据段

MSR DB "HELLO,WORLD!$"

LEN EQU $- MSR

DDATA ENDS

EXDA SEGMENT ;定义附加数据段

MSD DB LEN DUP(?)

EXDA ENDS

MYSTACK SEGMENT STACK ;定义堆栈段

DW 20 DUP(?)

MYSTACK ENDS

CODE SEGMENT ;定义代码段

ASSUME CS:CODE, DS:DDATA

内容来自淘豆网www.taodocs.com转载请标明出处.

相关推荐
微机原理与汇编语言-实验报告(中北大学大数据学院)(前4个实验都可以直接运行,后面的几个需要用到proteus,这个要自己根据自己的情况搞,咱就不能保证在你电脑上能不能运行了) 实验一 简单程序设计 1. 编制一个简单的运算程序,并且调试完成。 2. 编制一个计算x=a2+b2 3. 验证上述结果的正确 实验二 循环、分支程序设计 1. 编制一个统计数组中正负数个数及均值的程序,并且调试完成得到正确的结果。 2. 设计计算Y=1+2+3+....,直到累加和刚好大于10000的程序并且调试完成。 3. 对给定数组中的所有元素,按从大到小的顺序排序,并且加以验证。 实验三 系统功能调用实验 1.编制一个具有屏幕提示和键盘输入的程序,键盘输入一个人名,在屏幕上显示“Hello 人名!”; 2.通过键盘输入一串包含大小写字母和数字的字符串,统计其中大写、小写字母和数字字符的个数,并将结果显示在屏幕上。 实验四 8255并行接口实验 1.将8255一个端口接8个发光二极管,用不同工作方式控制其逐次点亮发光二极管。 2.将8255另一个端口接开关,用不同工作方式,编程将开关信息在发光二极管上显示出来。 3.验证上述操作的正确性,对实验结果进行解释 实验五 键盘、LED实验 1.在实验箱上,连接小键盘和LED显示器。 2.编程将键盘输入的数字,显示在显示器上,在按键时,原来显示的数字左移一位,新按的键值显示在最右端。 3.考虑两个键组合时的输入方法 4.对实验结果进行说明 实验六 中断实验 1.连接实验箱上的数码管,通过消抖开关作为中断源。 2.编写程序,完成在中断服务程序中记录中断次数,在主程序中显示按键次数。 3.将消抖开关换成一般开关,用同样的程序,再测试,仔细观察,发现了什么,为什么? 实验七 定时/计数器实验 1.使用计数器对消抖开关的按动次数进行计数,显示当前的计数值。 2.对实验箱中系统时钟进行计数,改变计数初值(两个初值要相差很大),观察有什么不同。 3.8253的初值用0和1,观察结果,并加以分析。 4.分析实验结果,并对实验结果进行说明。 实验八 综合实验 1.将实验箱设计成一个电子表,该表能分时(或按键切换)显示年月日、时分秒; 2.设置按键,通过按键可以修正日期和时间,在修正日期、时间时,电子表仍然可以继续工作。 3.AD实验,用显示器显示当前AD的输入电压值,要求精确到小数点后2位数(选做)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值