1、PC机实验报告微机原理与接口技术(2015 2016 年)实验报告南昌大学学生姓名: 学号: 专业班级: 指导老师: 实验一:熟悉DOS环境和汇编软件的使用一、实验目的1、熟悉DOS环境和DOS基本操作。2、掌握汇编程序的使用方法:MASM,LINK,EDIT(TC),DEBUG二、实验仪器 1、电脑一台三、实验内容(一)、熟悉DOS环境1. MS-DOS的启动,如图:(二)、熟悉一些常用的DOS命令1、更改盘符。2、建立子目录(文件夹)。3、显示/更改当前目录。更改盘符和新建文件夹4、显示磁盘目录的内容。(三)、熟悉调试程序DEBUG.EXE的应用,练习DEBUG的常用命令1汇编语言源程序的
2、建立程序要求是:在屏幕上显示“Hello, world !”。设定源程序的文件名为1.asm。在DOS状态下键入以下命令:tc输入以下源代码并保存DATA SEGMENT BUF DB Hello, world !$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,9 INT 21H MOV AH,4CH INT 21HCODE ENDS END START2 将源程序文件汇编成目标程序文件3用连接程序生成可执行程序文件4程序的执行当我们建立了正确的
3、可执行文件以后,就可以直接在DOS状态下执行该程序。四、实验结果实验前期虽然遇到问题,但是都解决了。到了运行程序是,由于系统兼容性问题,无法运行1.exe文件。五、实验心得本次实验是我们第一次进行微机原理与接口技术的实验,实验开始对MS-DOS环境比较好奇,进行了各种尝试,最后按照实验指导书进行了命令输入,但是遇到了与实验指导书上不一致的内容,不能进行实验,进过与其他小组同学的合作之后才得以完成,本次实验我们不仅仅第一次认识到了DOS命令的无限趣味,并且通过实验加强了自己对理论知识的理解,DOS的应用相对而言是有点神秘,但是确实是很有趣味的。实验二:DEBUG的使用一、实验目的1、熟悉DOS环
4、境和DOS基本操作。2、熟悉DEBUG基本操作。二、实验仪器 1、电脑一台三、实验内容1、DEBUG程序的启动2、DEBUG的主要命令(1) 汇编命令A(2) 反汇编命令U(3) 运行命令G(4) 追踪命令T(5) 显示内存单元内容的命令D(6) 修改内存单元内容的命令E(7) 检查和修改寄存器内容的命令R(8) 命名命令N(9) 装入命令L(10) 写命令W(11) 退出DEBUG命令Q 3、使用Debug命令载入实验一中的hello.exe文件,并观察内存1汇编语言源程序的建立四、实验结果通过在DEBUG下收入命令,汇编过程、反汇编过程很顺利,但是程序调试运行出来问题由于系统兼容性问题。五
5、、实验心得本次实验是我们第二次进行微机原理与接口技术的实验,实验开始对DEBUG程序比较好奇,进行了各种尝试,最后按照实验指导书进行了命令输入,但是遇到了与实验指导书上不一致的内容,不能进行实验,进过与其他小组同学的合作之后才得以完成,在以后的实验中要加强协作,共同进步。实验三 顺序结构程序设计实验一、实验目的1、掌握顺序程序的设计方法。二、实验仪器 1、电脑一台三、实验内容1.编写程序实现:从键盘输入两个1位的十进制数,计算这两个数之和,并将结果在屏幕上显示出来。DATA SEGMENT dbcd DB 88H,99H,77H,66HDATA ENDSCODE SEGMENT ASSUME
6、CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR AH,AHMOV SI,3MOV BX,OFFSET dbcdMOV AL,BXNEXT:INC BXADD AL,BXDAAADC AH,0DEC SIJNZ NEXTDONE:PUSH AXMOV DL,AHADD,DL,30HMOV AH,02HINT 21H POP AXMOV BL ,ALMOV CL,4SHR AL,CLMOV DL,ALADD DL,30HMOV AH,02HINT 21HAND BL,0FHMOV DL,BLADD DL,30HMOV AH,02HINT 21HMOV AH
7、,4CHINT 21HCODE ENDSEND START2.编写程序实现:从键盘输入09中任意一个自然数,将其平方值在屏幕上显示出来(要求使用查表法)。DATA SEGMENT NUM DB 0 ,1,4,9,16,25,36,49,64,81RESULT DB (?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,NUMMOV AH,01HINT 21HSBU AL,30HXLAT ;平方值送ALAAM ;对两个非压缩BCD数相乘的结果(AX中)进行调整,得到正确的非压缩BCD数(把A
8、L寄存器的内容除以0AH,商放在AH中,余数放在AL中)ADD AX,3030H ;转换为ASCII码MOV DX,AXXCHG DX ;显示高位数字字符,MOV,AH,6INT 21HXCHG DXINT 21H ;显示低位字符MOV AH,4CHINT 21HCODE ENDSEND START四、实验结果实验前期虽然遇到问题,但是都解决了。到了运行程序是,由于系统兼容性问题,无法运行exe文件。五、实验心得本次实验是我们第一次进行微机原理与接口技术的程序编写实验,实验开始对汇编指令有一定的生疏感,完全不知道怎样使用汇编命令,通过观察例程,参考代码,然后自己编写程序,进行学习。通过这次实验
9、,是我对PC机内部机制有了更深一步的认识,对通用寄存器有了认知上的提高。实验四 选择结构程序设计实验一、实验目的1、 掌握分支程序的设计方法。 2、 了解小写和大写字母的ASCII码表示及其转换方法,了解数字及其他字符的ASCII码表示方法。二、实验仪器 1、电脑一台三、实验内容实验四1、从键盘输入一字符,判断该字符是小写字母、大写字母、数字还是其它字符。若输入为小写字母,则显示“You Input a Lowercase Letter!”;若输入为大写字母,则显示“You Input a Uppercase Letter!”;若输入为数字,则显示“You Input a Digit!”;若输
10、入为其它字符,则显示“You Input Other Letter!”。DATA SEGMENTBUFF1 DB You input a lowercase letter!$BUFF2 DB You input a uppercase letter!$BUFF3 DB You input a digit!$BUFF3 DB You input other!$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART:MOV AX,DATASMOV DS,AXMOV ES,AXMOV AH,1INT 21HCMP AL,0JB L4CMP A
11、L,9JNA L1CMP AL,AJB L4CMP AL,ZJNA L3CMP AL,aJB L4CMP AL,zJNA L2JMP L4L1:LEA DX,BUFF1JMP L5L2:LEA DX,BUFF2JMP L5L3:LEA DX,BUFF3JMP L5L4:LEA DX,BUFF4JMP L5L5:MOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START2、在屏幕上显示“Are you really want to exit?”,然后从键盘输入一字符,若输入“Y”或“y”,则显示“Thank you for your using!”;
12、若输入“N”或“n”,则显示“Lets continue!”;若输入其它字符,则显示“You press an error key!”后程序结束。DATA SEGMENTSTRING DB Are you really want to exit? ,0DH,0AH,$THANK DB Thank you for your using!,0DH,0AH,$ERROR DB You press an error key!,0DH,0AH,$CONT DB Lets continue!,0DH,0AH,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART
13、:LEA AX,DATAMOV DS,AXLEA DX,STRING ;输入提示MOV AH,09HINT 21HMOV AH,01H ;输入单个字符INT 21HCMP AL,YJE EXITCMP AL,yJE EXITCMP AL,NJE CONTINUECMP AL,nJE CONTINUELEA DX,ERROR ;按错了MOV AH,09HINT 21HJMP STOEXIT: ;用户选择退出LEA DX,THANKMOV AH,09HINT 21HJMP STO ;结束CONTINE: ;用户选择继续LEA DX,CONTMOV AH,09HINT 21HJMP STOSTO :
14、 MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START四、实验结果实验前期虽然遇到问题,但是都解决了。到了运行程序是,由于系统兼容性问题,无法运行exe文件。五、实验心得本次实验是我们第二次进行微机原理与接口技术的程序编写实验,实验开始对汇编指令有一定的生疏感,完全不知道怎样使用汇编命令,通过观察例程,参考代码,然后自己编写程序,进行学习。通过这次实验,是我对PC机内部机制有了更深一步的认识,对通用寄存器有了认知上的提高。实验五 循环结构程序设计实验一、实验目的1、掌握循环程序的设计方法。2、掌握比较指令、转移指令和循环指令的使用方法。3、进一步掌握调试工具的使
15、用方法。二、实验仪器 1、电脑一台三、实验内容1、试编写一程序,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCII码为07H)。 提示:用2号功能号输出07H就会响铃一次。CODE SEGMENTASSUME CS:CODESTART:MOV AH,01H ;输入数字字符(结果是ASCII码)INT 21HCMP AL,0JB STOCMP AL,9JA STO ;输入错误结束SUB AL,30H ;求循环次数MOV CL,ALXOR CH,CHMOV AH,2 ;响铃初始化MOV DL,07HDONE: ;循环体INT 21HLOOP DONESTO:MOV AH,4CHINT 2
16、1HCODE ENDSEND START四、实验结果实验前期虽然遇到问题,但是都解决了。到了运行程序是,由于系统兼容性问题,无法运行exe文件。五、实验心得本次实验是我们第三次进行微机原理与接口技术的程序编写实验,实验开始对汇编指令有一定的生疏感,完全不知道怎样使用汇编命令,通过观察例程,参考代码,然后自己编写程序,进行学习。通过这次实验,是我对PC机内部机制有了更深一步的认识,对通用寄存器有了认知上的提高。实验六 综合程序设计实验一、实验目的1、掌握综合程序的设计方法。2、熟练运行汇编的常用指令。3、掌握汇程序的基本架构。二、实验仪器 1、电脑一台三、实验内容1编写一个完整的8086汇编语言
17、程序,从附加段中首地址为ADR1(变量名)连续存放的100个字型无符号整数中找出最大数,并将此数及其偏移地址分别放入变量MAX和MAXM中DATA SEGMENTNUM DW 100 DUB(?) ;设数据已经存入MAX DW (?)MAXM DW (?)DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATAMOV AX,DATAMOV DS,AXLES SI,NUMMOV CX,99MOV AX,SIMOV BX,SI ;记录最大数据偏移地址DONE: ;循环体ADD SI,2CMP AX,SIJNB LOOPE ;大于等于,进行下一次循环;否则SI的数据判
18、大,保存偏移地址MOV DX,AXMOV AX,SIMOV BX,SILOOPE:LOOP DONE MOV MAX,AXMOV MAXM , BXMOV 4CH INT 21HCODE ENDSEND START2、有一个首地址为ARRAY的N个字的数组,请编程序使该数组中的数按照从大到小的次序排序。(采用冒泡排序算法)DSEG SEGMENTMEM DW 100 DUP(?) ;假设N等于100,数据已经存储。DSEG ENDS;CSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXLEA DI,MEMMOV AL,99 ;
19、外循环只需要99次NEXT1:MOV SI,DIMOV CL,BLNEXT2:MOV AX,SIADD SI,2CMP AX,SIJNC NEXT3MOV DX,SIMOV SI-2,DXMOV SI,AXNEXT3:DEC CLJNZ NEXT2DEC BLJNZ NEXT1MOV AH,4CHINT 21HCSEG ENDSENS START ;本质算法是冒泡法,最小值往下冒泡,嘻嘻。四、实验结果实验前期虽然遇到问题,但是都解决了。到了运行程序是,由于系统兼容性问题,无法运行exe文件。五、实验心得本次实验是我们第四次进行微机原理与接口技术的程序编写实验,实验开始对汇编指令有一定的生疏感,完全不知道怎样使用汇编命令,通过观察例程,参考代码,然后自己编写程序,进行学习。通过这次实验,是我对PC机内部机制有了更深一步的认识,对通用寄存器有了认知上的提高。对汇编语言的程序结构,对算法的理解,以及对循环嵌套的掌握都有了进一步提高。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1