教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

北京理工大学自动化专业微机原理软件实验报告

来源:网络收集 时间:2026-08-23
导读: 报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删 班级: 姓名: 学号: 微型计算机原理与接口技术软件实验报告 报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删 实验一 一.实验题目 1、学习

报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删

班级: 姓名: 学号:

微型计算机原理与接口技术软件实验报告

报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删

实验一

一.实验题目

1、学习并掌握IDE86集成开发环境的使用; 2、参考书例4-8,以单步形式观察程序的执行过程;

3、修改该程序,求出10个数中的最大值和最小值。以单步形式观察如何求出最大值、最小值。

二.实验目的

1、熟悉IDE86集成开发环境的使用。

2、通过编程、上机调试,进一步理解汇编语言的设计思路与执行过程。 3、锻炼动手编程,独立思考的能力。

三.实验内容

1、题目1的设计思路及流程图 a.设计思路

为实现求和的功能,首先将十个数存入内存中,设定AX为计算结果存储单元,CX为计数器,随后建立循环,将每个数依次加到AX上,直至CX=0,最后将AX中存储的结果移动到SUM存储单元中,结束程序。 b.流程图

报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删

2、题目3设计思路及流程图 a.设计思路

为实现求取最大值最小值的功能,首先将十个数存入内存中,设定CX为计数器,将第一个数分别存入到MAX与MIN储存单元中,随后建立循环,将每个数依次与MAX(MIN)相比较,如果有大于(小于)MAX(MIN)中的,移入相应存储单元,直至CX=0。最后将MAX和MIN中存储的数据打印在屏幕上,返回DOS

b.

报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删

四.实验源程序 a.题目2源程序

DATA SEGMENT ;定义数据段

TABLE DB 12H,23H,34h,45h,56h ;10个加数

DB 67H,78H,89H,9AH,0FDH

SUM DW ? DATA ENDS

CODE SEGMENT ;定义代码段

ASSUME CS:CODE,DS:DATA,ES:DATA

START: MOV AX,DATA

MOV DS,AX ;初始化DS MOV ES,AX ;初始化ES LEA SI,TABLE ;SI指向TABLE MOV CX,10 ;循环计数器 XOR AX,AX ;AX为中间结果

NEXT: ADD AL,[SI] ;把一个数加到AL中

ADC AH,0

;若有进位,则加到AH中

INC SI ;指向下一个数

LOOP NEXT ;若未加完,继续循环 MOV SUM,AX

;若结束,存结果于SUM

HLT ;结束

报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删

CODE ENDS ;代码段结束

ENDSTART ;汇编结束

b.题目3源程序

DATA SEGMENT ;定义数据段

TABLE DB 12H,23H,34h,45h,56h ;十个待比较数

DB 67H,78H,89H,9AH,0FDH

MAX DB ? MIN DB ?

A DB 'Max:','$' B DB 0DH,0AH,'Min:','$' DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA

MOV DS,AX

;初始化DS MOV ES,AX ;初始化ES LEA SI,TABLE

;SI指向TABLE

MOV CX,10 ;循环计数器 XOR AX,AX ;清空AX CLD ;清方向标志DF LODSB ;AL存入一个8位数 MOV MAX,AL ;将该数送MAX MOV MIN,AL

;将该数送MIN

DEC CX ;计数器减一 NEXT: LODSB ;取下一个数 CMP AL,MAX

;与MAX比较

JA LARGER ;若大于转LARGER CMP AL,MIN ;否则与MIN比较 JB SMALLER ;若小于转SMALLER

;屏幕提示字符串;定义代码段

报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删

JMP GOON ;否则转GOON

LARGER:MOV MAX,AL ;AL的值存入MAX JMP GOON ;转到GOON

SMALLER:MOV MIN,AL ;AL的值存入MIN GOON: LOOP NEXT

LEA DX,A

;CX-1,若CX≠0转NEXT

;获取A的首地址

;调用字符串显示功能

MOV AH,09H INT 21H MOV AL,MAX CALL DISPLAY LEA DX,B

;MAX值存入AL ;调用显示子程序

;获取B的首地址

;调用字符串显示功能

MOV AH,09H INT 21H MOV AL,MIN CALL DISPLAY MOV AH,4CH INT 21H

DISPLAY PROC

;MIN值存入AL ;调用显示子程序 ;调用返回DOS功能

;十六进制显示子程序 ;保持BX内容 ;保持CX内容

PUSH BX PUSH CX

MOV BH,AL

MOV CH,2 ;设置循环计数器

ROT: MOV CL,4 ;移位次数

ROL BX,CL MOV AL,BL AND AL,0FH

;清空AL高四位

ADD AL,30H ;0-9转换ASCII码 CMP AL,3AH JL PRIT

报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删

ADD AL,7H ;A-F转换ASCII码

PRIT:MOV DL,AL

MOV AH,2 ;调用字符显示功能 INT 21H DEC CH

;计数器-1

JNZ ROT ;CH≠0,继续循环 POP CX ;恢复CX内容 POP BX ;恢复BX内容 RET ;返回

DISPLAY ENDP CODE ENDS

;代码段结束

ENDSTART ;结束

五.实验运行结果 a.题目2运行结果

前五个数运算结束后寄存器状态:

图3 前五个数计算后寄存器状态

其中ax值为

图4 前五个数计算后AX的值

故此时前五个数之和为0104H。

报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删

前八个数运算结束后寄存器状态:

图5 前八个数计算后寄存器状态 其中ax值为

图6 前八个数计算后AX的值 故此时前八个数之和为026CH。 全部运算结束后,ax的值为:

图7 计算结束后AX的值 故十个数的和为0403H。

以TABLE开始的存储器单元中的内容如图8:

图8 TABLE开始的存储器单元中内容

b.题目3运行结果

图9 题目3的运行结果

六、实验中遇到的问题及解决方法

1、由于是第一次使用IDE86集成开发环境,在编译、连接和调试程序时,操作不熟练,造成了一些误操作。经过几次摸索之后,慢慢熟悉了该开发环境。

2、在题目3中,最开始时直接使用了DOS功能的2号功能,但输出结果错误。经过分析,该功能将16进制数直接当做ASCII码输出,导致错误。故专门编写了在屏幕上显示16进制的子程序,得到了正确的结果。

报告内容是结合文库下载的报告内容+同学的报告+自己的实验内容 编辑整理而成,如侵删

七、心得体会

通过这次上机实验,我熟悉了IDE86集成开发环境,对其编辑、编译、连接和调试的过程得到了初步的提高。与此同时,通过单步运行、单步跟踪、观察寄存器和标志寄存器的变化,对汇编程序的理解加深了一步。与此同时,在题目3中,我熟悉了汇编语言中子程序的编写与调用。可以说,这次实验达到了其应有的效果。

实验二

一、实验题目

1、求1到100 的累加和,并用十进制的形式将结果显示在屏幕上。要求实现 …… 此处隐藏:4964字,全部文档内容请下载后查看。喜欢就下载吧 ……

北京理工大学自动化专业微机原理软件实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1996471.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)