1、实验报告格式微机原理与接口技术实验报告学 院 : 核技术与自动化工程学院 专 业 : 电气工程及其自动化 班 级 : 2011060504学 号 : 201106050416姓 名 : 张恒 指导老师 : 杨小峰 完成时间 : 2013.11.18 实验一 (宋体小二)、实验目的(宋体小四) 实验要达到的目标,比如说能力方面,理论方面等;(宋体五号)2、实验环境及设备 列出完成该实验的说用到的资源,比如软硬件平台,测试仪器,耗材等;3、实验内容 记录实验的过程、步骤及相关实验结果4、实验总结 写出实验结论 实验二 8086指令观察一、实验目的和要求1. 掌握汇编语言程序编辑、汇编、链接和调试的
2、基本概念。2. 掌握在PC机上建立、汇编、链接和运行8088汇编语言程序的过程。3. 通过观察深入掌握数据传送类、算术运算类和逻辑运算类等各类指令的功能。2、实验环境及设备PC机、EMU80863、实验内容1. 寻找最大最小数程序实验设内存缓冲区从BUF单元开始,存放若干个单字节数,其数据长度在BUF单元,要求找出最大数送MAX单元,最小数送MIN单元。源程序:;FILENAME:MAXMIN.ASMDATASEGMENTBUFDB 9,-4,55,78,-9,0,41,124B1EQU $-BUFMAXDB 9MINDB 9DATAENDSCODESEGMENTASSUMECS:CODE,D
3、S:DATASTART:MOVAX, DATAMOVDS, AXMOVCH, 0MOVCL, B1;CX=数据个数DECCX ;循环次数 MOVAL, BUF;第一个数据送AL寄存器MOVMAX, AL;假设第一个数是最大数MOV MIN,AL;假设第一个数是最小数MOVBX, OFFSET BUF+1;下一个数据地址LAST:MOVAL, BXCMPAL, MAX;比较JGGREATCMPAL, MINJLLESSJMPNEXTGREAT:MOVMAX, AL ;大数-MAXJMPNEXTLESS:MOVMIN, AL;小数-MINNEXT:INCBXLOOPLASTNOP;实验时程序执行到
4、此,通过D命令查看数据段结果MOVAH, 4CHINT21HCODEENDSENDSTART2. 代码转换实验从键盘输入2个十进制数组合成压缩BCD码存入DL,再将压缩BCD码转换成ASCII码送CRT显示。 源程序:CODESEGMENTASSUMECS:CODEST:MOVAH, 01H ;键盘输入并回显,AL=输入字符INT21HMOVCL, 4SHLAL, CLMOV DL, ALMOVAH, 01HINT21HANDAL, 0FHORDL, ALMOVBL, DL;保护DL原值SHRDL, CLORDL, 30HMOVAH, 02H;显示十位数,DL=输出字符INT21HMOVDL,
5、 BLANDDL, 0FHORDL, 30HMOVAH, 02H;显示个位数INT21HMOV AH, 4CHINT21HCODEENDSENDST要求先编写汇编文件, EMU8086采用单步调试的方法进行运行调试,任意输入两个数字,验证实验结果。实验总结:通过此次实验,我基本了解了8086实验的使用方法,以及一些设置。掌握DEBUG调试程序的使用方法。掌握简单程序的设计方法。除此以外,在进行赋值时还要注意赋的初值要准确。微机原理与接口技术实验报告实验程序中出现了CMP指令,并结合JMP指令的JZ和JNZ。当目的操作数比源操作数大时,JZ指令发生跳转,小时则JNZ跳转在A串中,由于数据是按从低
6、地址到高地址的顺序存放的。程序的L2循环使得所存二进制数据转换成相对应的ASCII码。 实验三 顺序结构程序设计一、实验目的1. 熟悉EMU8086集成环境软件的使用方法。2. 熟悉8086汇编指令,能自己编写简单的程序,并调试运行验证结果。3.学习使用EMU8086集成环境软件,验证及编写调试实验内容的程序。三、实验环境及设备PC机、EMU8086四、实验内容1. 编写简单程序,用数据运算指令,对两个16位数做加法运算。这两个数从地址10050H开始连续存放,低位在低地址一端,结果放在这两个数之后。实验框图:程序清单:CODE SEGMENTASSUMECS:CODEBG:MOVAX,000
7、0HMOVDS,AXMOVSI,50HMOV DI, 52HMOVBX, 54HCLCXORAX, AXMOVAX, SIADCAX, DIMOVBX, AXHLTCODEENDSENDBG2. 编写简单程序,实现组合BCD码转换成ASCII码送CRT显示。程序清单:CODE SEGMENTASSUMECS:CODEBEGIN:MOVAL,27H;27的BCD码,先显示高位。MOV DL, ALMOV CL, 4SHR DL, CLOR DL, 30HMOVAH, 2INT 21H;显示2MOV DL, ALANDDL, 0FHORDL, 30HMOV AH, 2INT 21H;显示7MOV
8、AH, 4CHINT 21HCODE ENDSENDBEGIN 3. 试用已学过的指令编程,运算以下算式: 、5555H + 6666H + 8756H、5678 +(-1234)- 43214. 已知BX=12ABH,试编程将其内容转换成ASCII码送到数据段0100H单元开始存放。实验总结:实验四 分支结构程序设计一、实验目的和要求1. 学习分支结构程序的设计和调试方法;2. 熟悉8086汇编指令中的程序控制指令的应用。3.学习使用EMU8086集成环境软件,验证及编写、调试实验内容。三、实验环境及设备PC机、EMU8086四、实验内容1. 已知在内存中有一个字节单元NUM,存有带符号数据
9、,要求计算出它的绝对值后,放入RESULT单元中。 题目分析:根据数学中绝对值的概念知道,一个正数的绝对值是它本身,而一个负数的绝对值是它的相反数;要计算一个数的相反数,需要完成减法运算,即用0减去这个数。8086/8088指令系统中有专门的求相反数的指令NEG。实验框图:程序清单:DATASEGMENTXDB-25RESULTDB?DATAENDSCODESEGMENTASSUMECS:CODE, DS:DATASTART:MOVAX,DATAMOV DS, AX; 初始化MOV AL, X;X取到AL中TEST AL, 80H;测试AL正负JZ NEXT;为正,转NEXTNEG AL否则A
10、L求补NEXT:MOV RESULT, AL;送结果MOVAH, 4CHINT 21H;返回DOSCODEENDSEND START;汇编结束 2. 编写计算下面函数值的程序: 1 X0Y= 0 X=0 -1 X0设输入数据为X、输出数据Y,且皆为字节变量。3. 试编一程序,求三个带符号字数据中的最大值,并将最大值存入MAX字单元中。设三个带符号数分别在三个字变量X、Y、Z中存储。五、实验报告实验报告要求参考附录一。实验五 循环结构程序设计一、实验目的和要求1. 学习、掌握循环结构程序的设计和调试方法;2. 熟悉8086汇编指令中的程序控制指令和LOOP指令的应用。3.学习使用EMU8086集
11、成环境软件,验证及编写、调试实验内容。三、实验环境及设备PC机、EMU8086四、实验内容1. 编写程序完成求123N的累加和,直到累加和超过1000为止。统计被累加的自然数的个数送CN单元,累加和送SUM。流程图如下图所示。实验框图: 程序清单:DATASEGMENTSUMDW?CNDW?DATAENDSCODESEGMENTASSUMECS:CODE, DS:DATASTART:MOVAX,DATAMOV DS, AX; 初始化MOV AX, 0;0送AXMOVBX, 0LP:INCBX;BX加1ADDAX, BX; 求累加和CMPAX, 1000; 比较JBELP; 1000转MOVSU
12、M, AXMOV CN, BX; 送结果MOV AH, 4CHINT21HCODEENDSENDSTART; 汇编结束 2. 采用LOOP指令来实现上例。3. 已知有几个元素存放在以BUF为首址的字节存贮区中,试统计其中正元素的个数。显然,每个元素为一个8位有符号二进制数,统计其中正元素的个数可用循环程序实现。实验总结: 实验六 子程序设计一、实验目的和要求学习子程序的结构、特点,以及子程序的设计和调试方法。学习使用EMU8086集成环境软件,验证及编写、调试实验内容。三、实验环境及设备PC机,EMU8086四、实验内容1. 设计一个子程序,功能是将一个字节的BCD码转换成二进制数。说明:名称
13、:BCD2BIN 功能:将一个字节的BCD码转换成二进制数 所用寄存器:CX 入口参数:AL存放两位BCD码 出口参数:AL存放二进制数 主程序及子程序清单:CODESEGMENTASSUMECS:CODESTART:MOVAL,12HCALLBCD2BINHALTBCD2BINPROC NEAR;子程序PUSH CXMOVCH, ALANDCH, 0FH;存低4位MOVCL, 4SHRAL, CL;高4位右移4位后乘10MOVCL, 10MULCLADDAL, CH;高4位加低4位POPCXRETBCD2BINENDP CODEENDSEND START、在A串中,由于数据是按从低地址到高地址的顺序存放的,所以ADB5,7,4,1,3其实表示的是31475。5、程序的L2循环使得所存二进制数据转换成相对应的ASCII码,并通过DOS功能调用输出。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1