微型计算机原理实验,微机原理实验报告.pdf

2130401097

电气34 班

郭永钊

1 实验一 顺序程序的设计

一、 实验目的

1. 学习8086/8088 指令系统中一些基本指令的用法和程序的基本方法。

2. 熟悉在PC 机上建立,汇编,连接,调试和运行8086.8088 汇编语言程序

的全过程。

二、 实验内容

设a,b,c,d 四个数分别以单字节压缩BCD 码形式存放在内存NUM 开始的四

个单元,计算(a+b )- (c+d )并将结果放在Y1 单元,将结果在屏幕上显示

出来。

在DEBUG 中,不断改变a ,b,c,d 内容并查看结果。

这里给出了几组数据:

1. a=09 ,b=06,c=04 ,d=07

2. a=38 ,b=41,c=29 ,d=34

3. a=70 ,b=23,c=42 ,d=41

4. a=63 ,b=73,c=62 ,d=50

三、 实验调试过程

1. 利用dos 工具masm 以及link 生成exe 文件

2. 利用debug 工具反汇编后设置断点调试程序

①利用-u 命令反汇编程序

②设置断点一,查看a+b 结果是否正确

结果存在AL 中,等于23h,结果正确

③设置断点二,查看c+d 结果是否正确

结果存在AL 中,等于30h ,结果正确

④运行完程序,用-d 命令查看最终结果是否正确

其中数据段第五个地址处为计算结果,结果正确

⑤利用-E 命令多次改变数值,运行程序,按以上步骤查看结果,查看结果

是否正确

特别的,在(a+b )- (c+d )中,若前者小于后者,结果有可能不正确,

此时应该判断借位标志位是否为负,若负,则用(c+d )- (a+b )再在结果

中输出负号即可

3. 调试成功,查看结果

在dos 命令下直接运行add.exe 或在debug 中利用-g 命令运行程序,查

看程序结果

四、 实验程序及框图

DSEG SEGMENT ;DEFINE DATA SEGMENT

NUM DB 13H,27H,11H,12H ;DEFINE A,B,C,D

Y1 DB ?

DSEG ENDS ;DATA SEGMENT ENDS

SSEG SEGMENT PARA STACK ;DEFINE STACK

DB 20 DUP(?)

SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START: MOV AX,DSEG

MOV DS,AX

MOV AX,SSEG

MOV SS,AX

MOV AL,[NUM] ;COPY A TO AL

ADD AL,[NUM+1] ;A+B

DAA

MOV CL,AL ;SAVE AL

MOV AL,[NUM+2] ;COPY C TO AL

ADD AL,[NUM+3] ;C+D

DAA

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微机原理与汇编语言-实验报告(中北大学大数据学院)(前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位数(选做)

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值