汇编语言、微机原理、接口技术-八个实验(全).doc
文本预览下载声明
成绩:
计算机原理实验室实验报告
课 程 : 汇编语言与微机原理
姓 名 : 周晗
专 业 : 计算机科学与技术
学 号 : 1120542387
日 期 : 2013-12-19
太原工业学院
计算机工程系
实验一:输入输出实验
实验环境 PC机+Win 2003+emu8086+proteus仿真器 实验日期 2013.10.29 一.实验内容
熟悉emu8086仿真系统
实现控制台输入输出
设计并单步调试实现一位十进制数的加法运算(屏幕效果为3+2=5,红色为输入其他为自动输出)
扩展要求:
实现两位十进制和的输出
实现一位十进制四则运算
3.实现多位数运算 二.理论分析或算法分析
基本要求:
输入一位数保存在寄存器BL中,然后输出“+”,再输入被加数并加到BL。将计算的结果输出。
扩展要求:
实现两位十进制和的输出,不同于基本要求的是有了低位的进位。对于低位的相加有进位,并且要给了高位。首先必须把输入的字符数转换为数值型,才可能有进位。然后进行加法的aaaBCD调整。
从键盘读取第一个数
从键盘读取第一个数的十位三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)
1、基本要求
MOV AH,1
INT 21H
MOV BH,AL;
输出加号
MOV DL,+
MOV AH,2
INT 21H;
从键盘读第二个数
MOV AH,1
INT 21H;
保存第二个数
MOV BL,AL;
输出等于号
MOV DL,=
MOV AH,2
INT 21H ;
两数相加
ADD BL,BH
SUB BL,30H;
输出结果
MOV DL,BL
MOV AH,2
INT 21H
实现两位十进制和的输出
五.结论
通过实验,初步了解emu8086仿真系统,能用汇编语言设计简单的程序我学会了简单的输入输出字符、对于的数据和计算的数据初步的理解。
实验二:分支程序实验
实验环境 PC机+Win 2003+emu8086+proteus仿真器 实验日期 2013.11.5 一.实验内容
实现控制台输入输出
实现两位十进制数猜数字游戏(基本要求:输入两位数和预设数值比较,对于输出小于输出等于输出=并退出)
扩展要求:
每次输出都换行
2.显示远大于(大于两倍)和远小于(小于二分之一) 二.理论分析或算法分析
首先将被猜的数字设成30。输入两位十进制数,放在al和bl并将其减去30h转换为数值型。输入数字和被猜数值30比较,如果大于30,则跳转到j4,并输出“”;如果小于30,则跳转到j3并输出“”;如果等于,则输出“=”并结束程序。
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)
四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)
五.结论
完成了本次实验,并通过本次试验的,学会了控制输入输出。通过对程序的设计学会了运用比较进行程序的跳转
实验三:循环程序实验
实验环境 PC机+Win 2003+emu8086+proteus仿真器 实验日期 2013.11.12 一.实验内容
实现内存数据访问
用两种方法实现对五个字从大到小排序
用冒泡法时实现快排 二.理论分析或算法分析
选择排序
冒泡排序
提取数组中的第一个数,与后一个数做比对,如果第一个数比第二个数小,则交换位置,
否则位置保持不变,依次和后边的数作比较,循环操作。
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)
四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)
验证了基本要求,实现了冒泡排序功能。
五.结论
该实验完成了基本要求,并通过这次实验学会了比较,循环。
实验四:子程序及中断实验
实验环境 PC机+Win 2003+emu8086+proteus仿真器 实验日期 2013.11.19 一.实验内容
实现子程序和中断服务子程序的设计
编写子程序设置40H中断为自定义中断服务子程序
编写中断服务子程序实现AX=AX+BX
编写主程序调用子程序和中断 二.理论分析或算法分析
1、让c=a+b。再将其传给子程序
2.用mov将ax,bx清零
3,用add函数将ax和bx相加,并用mov 将ax+bx的值传给c
三.实现方法(含实现思路、程序流程图、实验电路图和源程序
显示全部