实验报告格式.docx
《实验报告格式.docx》由会员分享,可在线阅读,更多相关《实验报告格式.docx(13页珍藏版)》请在冰豆网上搜索。
![实验报告格式.docx](https://file1.bdocx.com/fileroot1/2023-1/26/71173012-af2a-4356-b079-418cac43427e/71173012-af2a-4356-b079-418cac43427e1.gif)
实验报告格式
微机原理与接口技术实验报告
学院:
核技术与自动化工程学院
专业:
电气工程及其自动化
班级:
2011060504
学号:
201106050416
姓名:
张恒
指导老师:
杨小峰
完成时间:
2013.11.18
实验一×××(宋体小二)
、实验目的(宋体小四)
实验要达到的目标,比如说能力方面,理论方面等;(宋体五号)
2、实验环境及设备
列出完成该实验的说用到的资源,比如软硬件平台,测试仪器,耗材等;
3、实验内容
记录实验的过程、步骤及相关实验结果
4、实验总结
写出实验结论
实验二8086指令观察
一、实验目的和要求
1.掌握汇编语言程序编辑、汇编、链接和调试的基本概念。
2.掌握在PC机上建立、汇编、链接和运行8088汇编语言程序的过程。
3.通过观察深入掌握数据传送类、算术运算类和逻辑运算类等各类指令的功能。
2、实验环境及设备
PC机、EMU8086
3、实验内容
1.寻找最大最小数程序实验
设内存缓冲区从BUF单元开始,存放若干个单字节数,其数据长度在BUF单元,要求找出最大数送MAX单元,最小数送MIN单元。
源程序:
;FILENAME:
MAXMIN.ASM
DATA
SEGMENT
BUF
DB9,-4,55,78,-9,0,41,124
B1
EQU$-BUF
MAX
DB9
MIN
DB9
DATA
ENDS
CODE
SEGMENT
ASSUME
CS:
CODE,DS:
DATA
START:
MOV
AX,DATA
MOV
DS,AX
MOV
CH,0
MOV
CL,B1
;CX=数据个数
DEC
CX
;循环次数
MOV
AL,BUF
;第一个数据送AL寄存器
MOV
MAX,AL
;假设第一个数是最大数
MOV
MIN,AL
;假设第一个数是最小数
MOV
BX,OFFSETBUF+1
;下一个数据地址
LAST:
MOV
AL,[BX]
CMP
AL,MAX
;比较
JG
GREAT
CMP
AL,MIN
JL
LESS
JMP
NEXT
GREAT:
MOV
MAX,AL
;大数->MAX
JMP
NEXT
LESS:
MOV
MIN,AL
;小数->MIN
NEXT:
INC
BX
LOOP
LAST
NOP
;实验时程序执行到此,通过D命令查看数据段结果
MOV
AH,4CH
INT
21H
CODE
ENDS
END
START
2.代码转换实验
从键盘输入2个十进制数组合成压缩BCD码存入DL,再将压缩BCD码转换成ASCII码送CRT显示。
源程序:
CODE
SEGMENT
ASSUME
CS:
CODE
ST:
MOV
AH,01H
;键盘输入并回显,AL=输入字符
INT
21H
MOV
CL,4
SHL
AL,CL
MOV
DL,AL
MOV
AH,01H
INT
21H
AND
AL,0FH
OR
DL,AL
MOV
BL,DL
;保护DL原值
SHR
DL,CL
OR
DL,30H
MOV
AH,02H
;显示十位数,DL=输出字符
INT
21H
MOV
DL,BL
AND
DL,0FH
OR
DL,30H
MOV
AH,02H
;显示个位数
INT
21H
MOV
AH,4CH
INT
21H
CODE
ENDS
END
ST
要求先编写汇编文件,EMU8086采用单步调试的方法进行运行调试,任意输入两个数字,验证实验结果。
实验总结:
通过此次实验,我基本了解了8086实验的使用方法,以及一些设置。
掌握DEBUG调试程序的使用方法。
掌握简单程序的设计方法。
除此以外,在进行赋值时还要注意赋的初值要准确。
微机原理与接口技术实验报告
实验程序中出现了CMP指令,并结合JMP指令的JZ和JNZ。
当目的操作数比源操作数大时,JZ指令发生跳转,小时则JNZ跳转
在A串中,由于数据是按从低地址到高地址的顺序存放的 。
程序的L2 循环使得所存二进制数据转换成相对应的ASCII码。
实验三顺序结构程序设计
一、实验目的
1.熟悉EMU8086集成环境软件的使用方法。
2.熟悉8086汇编指令,能自己编写简单的程序,并调试运行验证结果。
3.学习使用EMU8086集成环境软件,验证及编写调试实验内容的程序。
三、实验环境及设备
PC机、EMU8086
四、实验内容
1.编写简单程序,用数据运算指令,对两个16位数做加法运算。
这两个数从地址10050H开始连续存放,低位在低地址一端,结果放在这两个数之后。
实验框图:
程序清单:
CODE
SEGMENT
ASSUME
CS:
CODE
BG:
MOV
AX,0000H
MOV
DS,AX
MOV
SI,50H
MOV
DI,52H
MOV
BX,54H
CLC
XOR
AX,AX
MOV
AX,[SI]
ADC
AX,[DI]
MOV
[BX],AX
HLT
CODE
ENDS
END
BG
2.编写简单程序,实现组合BCD码转换成ASCII码送CRT显示。
程序清单:
CODE
SEGMENT
ASSUME
CS:
CODE
BEGIN:
MOV
AL,27H
;27的BCD码,先显示高位。
MOV
DL,AL
MOV
CL,4
SHR
DL,CL
OR
DL,30H
MOV
AH,2
INT
21H
;显示'2'
MOV
DL,AL
AND
DL,0FH
OR
DL,30H
MOV
AH,2
INT
21H
;显示'7'
MOV
AH,4CH
INT
21H
CODE
ENDS
END
BEGIN
3.试用已学过的指令编程,运算以下算式:
⑴、5555H+6666H+8756H
⑵、5678+(-1234)-4321
4.已知BX=12ABH,试编程将其内容转换成ASCII码送到数据段0100H单元开始存放。
实验总结:
实验四分支结构程序设计
一、实验目的和要求
1.学习分支结构程序的设计和调试方法;
2.熟悉8086汇编指令中的程序控制指令的应用。
3.学习使用EMU8086集成环境软件,验证及编写、调试实验内容。
三、实验环境及设备
PC机、EMU8086
四、实验内容
1.已知在内存中有一个字节单元NUM,存有带符号数据,要求计算出它的绝对值后,放入RESULT单元中。
题目分析:
根据数学中绝对值的概念知道,一个正数的绝对值是它本身,而一个负数的绝对值是它的相反数;要计算一个数的相反数,需要完成减法运算,即用0减去这个数。
8086/8088指令系统中有专门的求相反数的指令NEG。
实验框图:
程序清单:
DATA
SEGMENT
X
DB
-25
RESULT
DB
?
DATA
ENDS
CODE
SEGMENT
ASSUME
CS:
CODE,DS:
DATA
START:
MOV
AX,DATA
MOV
DS,AX
;初始化
MOV
AL,X
;X取到AL中
TEST
AL,80H
;测试AL正负
JZ
NEXT
;为正,转NEXT
NEG
AL
否则AL求补
NEXT:
MOV
RESULT,AL
;送结果
MOV
AH,4CH
INT
21H
;返回DOS
CODE
ENDS
END
START
;汇编结束
2.编写计算下面函数值的程序:
1X>0
Y=0X=0
-1X<0
设输入数据为X、输出数据Y,且皆为字节变量。
3.试编一程序,求三个带符号字数据中的最大值,并将最大值存入MAX字单元中。
设三个带符号数分别在三个字变量X、Y、Z中存储。
五、实验报告
实验报告要求参考附录一。
实验五循环结构程序设计
一、实验目的和要求
1.学习、掌握循环结构程序的设计和调试方法;
2.熟悉8086汇编指令中的程序控制指令和LOOP指令的应用。
3.学习使用EMU8086集成环境软件,验证及编写、调试实验内容。
三、实验环境及设备
PC机、EMU8086
四、实验内容
1.编写程序完成求1+2+3+……N的累加和,直到累加和超过1000为止。
统计被累加的自然数的个数送CN单元,累加和送SUM。
流程图如下图所示。
实验框图:
程序清单:
DATA
SEGMENT
SUM
DW
?
CN
DW
?
DATA
ENDS
CODE
SEGMENT
ASSUME
CS:
CODE,DS:
DATA
START:
MOV
AX,DATA
MOV
DS,AX
;初始化
MOV
AX,0
;0送AX
MOV
BX,0
LP:
INC
BX
;BX加1
ADD
AX,BX
;求累加和
CMP
AX,1000
;比较
JBE
LP
;≤1000转
MOV
SUM,AX
MOV
CN,BX
;送结果
MOV
AH,4CH
INT
21H
CODE
ENDS
END
START
;汇编结束
2.采用LOOP指令来实现上例。
3.已知有几个元素存放在以BUF为首址的字节存贮区中,试统计其中正元素的个数。
显然,每个元素为一个8位有符号二进制数,统计其中正元素的个数可用循环程序实现。
实验总结:
实验六子程序设计
一、实验目的和要求
学习子程序的结构、特点,以及子程序的设计和调试方法。
学习使用EMU8086集成环境软件,验证及编写、调试实验内容。
三、实验环境及设备
PC机,EMU8086
四、实验内容
1.设计一个子程序,功能是将一个字节的BCD码转换成二进制数。
说明:
名称:
BCD2BIN
功能:
将一个字节的BCD码转换成二进制数
所用寄存器:
CX
入口参数:
AL存放两位BCD码
出口参数:
AL存放二进制数
主程序及子程序清单:
CODE
SEGMENT
ASSUME
CS:
CODE
START:
MOV
AL,12H
CALL
BCD2BIN
HALT
BCD2BIN
PROC
NEAR
;子程序
PUSH
CX
MOV
CH,AL
AND
CH,0FH
;存低4位
MOV
CL,4
SHR
AL,CL
;高4位右移4位后乘10
MOV
CL,10
MUL
CL
ADD
AL,CH
;高4位加低4位
POP
CX
RET
BCD2BIN
ENDP
CODE
ENDS
END
START
、 在A串中,由于数据是按从低地址到高地址的顺序存放的,所以A DB'5','7','4','1','3'其实表示的是31475 。
5、 程序的L2 循环使得所存二进制数据转换成相对应的ASCII码,并通过DOS 功能调用输出。