微机原理实验指导书(学生)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

0昆明理工大学微机原理及程序设计实验指导书段绍米编昆明理工大学信息工程与自动化学院自动化系2013年10月1微机原理实验实验要求及运行环境1、实验要求与注意事项:交纸质版实验报告,实验要求:实验成绩百分制(总分100分)实验过程(50分)提前预习,写好实验报告,标好注释,修改好程序;10分个人按要求独立完成,填好实验结果,对实验程序进行讲解,按时交实验报告20分不做与本实验无关的事(如玩游戏、聊天、打电话、听音乐等)5分不得缺席,实验签名(两份),按要求填写设备号实验名称等,不带他人签名5分带走自己的垃圾,保持实验室卫生,电脑设备桌椅摆设整齐,保管好个人物品5分按秩序进出实验室,不拥挤,注意安全,爱护设备,保证设备完好5分实验报告(50分)报告纸要统一,全部手写并填写好表头,包括:实验名称、姓名、学号、班级任课老师等2分实验目的、实验内容3分程序框图5分程序清单5分读懂程序加注释(每句注释13+分段注释7)20分实验结果,实验中经老师检查过5分程序修改,实验要求的完成及结果(可用蓝/黑在原程序上标明,并加注释)10分交电子版实验报告,实验要求:实验成绩百分制(总分100分)实验过程(50分)提前预习,标好程序注释,修改好程序;10分个人按要求独立完成,填好实验结果,对实验程序进行讲解,按时交实验报告20分不做与本实验无关的事(如玩游戏、聊天、打电话、听音乐等)5分不得缺席,实验签名(两份),按要求填写设备号实验名称等,不带他人签名5分带走自己的垃圾,保持实验室卫生,电脑设备桌椅摆设整齐,保管好个人物品5分按秩序进出实验室,不拥挤,注意安全,爱护设备,保证设备完好5分实验报告(50分)报告按统一格式要求填写,包括:课程名称、姓名、学号、班级任课老师等10分实验报告包括实验目的、实验内容、程序框图、程序清单、实验要求5分读懂程序加注释(每句注释13+分段注释7)20分实验结果,实验中经老师检查过5分程序修改,实验要求的完成及结果(可用其他颜色标明添加的程序,与原程序不同,并加注释)10分2、实验运行环境在电脑中装ASMMasmforwindows集成实验环境2008。双击图标打开ASMMasMforwindows集成实验环境运行工作界面,输入实验程序代码,调试、改错、保存、运行、查看结果,进行记录。2运行结果显示:3实验一两个多位十进制数相加的实验一、实验目的1、学习数据传送和算术运算指令的用法。2、熟悉在PC机上建立、汇编、链接、调试和运行8088汇编语言程序的过程。二、实验内容将两个多位十进制数相加。要求被加数均以ASCII码形式各自顺序存放在以DATA1和DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。三、程序框图显示被加数和加数被加数和加数以ASCII码表示的数字串形式转化为由十六进制表示的数字串形式计数值5→CX清除最低位进位执行ADC带进位相加AAA调整结果送被加数区调整偏移量NCX-1=0?Y十六进制的结果转化为ASCII码表示的数字串显示结果结束4四、程序清单CRLFMACRO;宏定义,宏名:CRLFMOVDL,0DH;把0DH给DLMOVAH,02H;把02H给AHINT21H;系统功能调用——实现回车功能MOVDL,0AH;把0AH给DLMOVAH,02H;把02H给AHINT21H;系统功能调用——实现换行功能ENDM;宏定义结束——本段实现回车换行功能DATASEGMENT;数据段定义,段名DATADATA1DB33H,39H,31H,37H,34H;变量DATA1中装入加数DATA2DB36H,35H,30H,38H,32H;变量DATA2中装入被加数DATAENDS;数据段定义结束——本段实现了两个数据的定义STACKSEGMENTSTADB20DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVSI,OFFSETDATA2MOVBX,05CALLDISPLCRLFMOVSI,OFFSETDATA1MOVBX,05CALLDISPLCRLFMOVDI,OFFSETDATA2CALLADDAMOVSI,OFFSETDATA1MOVBX,05CALLDISPLCRLFMOVAX,4C00HINT21HDISPLPROCNEAR5DS1:MOVAH,02MOVDL,[SI+BX-1]INT21HDECBXJNZDS1RETDISPLENDPADDAPROCNEARMOVDX,SIMOVBP,DIMOVBX,05AD1:SUBBYTEPTR[SI+BX-1],30HSUBBYTEPTR[DI+BX-1],30HDECBXJNZAD1MOVSI,DXMOVDI,BPMOVCX,05CLCAD2:MOVAL,[SI]MOVBL,[DI]ADCAL,BLAAAMOV[SI],ALINCSIINCDILOOPAD2MOVSI,DXMOVDI,BPMOVBX,05AD3:ADDBYTEPTR[SI+BX-1],30HADDBYTEPTR[DI+BX-1],30HDECBXJNZAD3RETADDAENDPCODEENDSENDSTART五、实验要求1.读懂源程序,写出源程序注释。2.写出实验结果。3.把源程序修改为任意两个六位十进制相加。并思考如果最高位有进位怎么办?6实验二字符匹配程序一、实验目的掌握提示信息的使用方法及键盘输入信息的用法。二、实验内容编写程序,实现两个字符串比较。如果两个字符串中有一个字符相同,显示“MATCH”,否则,显示“NOMATCH”。三、程序框图段寄存器及堆栈初始化显示“请输入字符串1”使用INT21H的0A号子功能,接收键入的字符串显示“请输入字符串2”指针SI指向串1的首字符SI指向的字符串和串2中所有字符作比较Y相等?NSI+1,指向串1中下一字符N串1中的字符已取完?Y显示“NOMATCH”显示“MATCH”返回DOS7四、程序清单CRLFMACROMOVAH,02HMOVDL,0DHINT21HMOVAH,02HMOVDL,0AHINT21HENDMDATASEGMENTMESS1DB'MATCH',0DH,0AH,'$'MESS2DB'NOMATCH',0DH,0AH,'$'MESS3DB'INPUTSTRING1:',0DH,0AH,'$'MESS4DB'INPUTSTRING2:',0DH,0AH,'$'MAXLEN1DB81ACTLEN1DB?STRING1DB81DUP(?)MAXLEN2DB81ACTLEN2DB?STRING2DB81DUP(?)DATAENDSSTACKSEGMENTSTACKSTADB50DUP(?)TOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVSP,TOPMOVAH,09HMOVDX,OFFSETMESS3INT21HMOVAH,0AHMOVDX,OFFSETMAXLEN1INT21HCRLF8MOVAH,09HMOVDX,OFFSETMESS4INT21HMOVAH,0AHMOVDX,OFFSETMAXLEN2INT21HCRLFCLDMOVSI,OFFSETSTRING1MOVCL,[SI-1]MOVCH,00HKKK:MOVDI,OFFSETSTRING2PUSHCXMOVCL,[DI-1]MOVCH,00HMOVAL,[SI]MOVDX,DIREPNZSCASBJZGGGINCSIPOPCXLOOPKKKMOVAH,09HMOVDX,OFFSETMESS2INT21HJMPPPPGGG:MOVAH,09HMOVDX,OFFSETMESS1INT21HPPP:MOVAX,4C00HINT21HCODEENDSENDSTART五、实验要求1.读懂源程序,写出程序注释。2.写出实验结果。3.修改源程序,使其实现,当两个字符串中所有字符都匹配(注意字符串的长度和顺序)时才显示“MATCH”,否则显示“NOMATCH”。9实验三排序实验一、实验目的掌握用汇编语言编写排序程序的思路和方法。二、实验内容从首地址为1000H开始存放50个数,要求设计程序将这些数由小到大排序,排序后的数,仍放在该区域中。三、程序框图入口段寄存器和堆栈初始化显示“请输入段址”调GETNUM,键入段址送ES显示“请输入偏移量”调GETNUM,键入偏移量SIDS也指向附加段外循环次数SORTNUM-1送CX偏移指针BX清0A从[SI+BX]单元取数AL交换单元指针AH=BLCX入栈计算内循环次数送CX内循环控制变量DX初始化10DX值+1比较AL与DX指示单元的值NAL较大?YDX指示单元的值赋给AL,并修改指针AHNCX-1=0?Y交换[SI+BX]单元和AH指针指示的单元的值偏移指针BX+1CX出栈NACX-1=0?Y显示“SORTOK!”循环调DISP1,将排序后的数依次显示出来返回DOS四、程序清单CRLFMACROMOVAH,02HMOVDL,0DHINT21HMOVAH,02HMOVDL,0AHINT21H11ENDMDATASEGMENTORG160HDATA1DB0ah,09h,08h,07h,06h,05h,04h,03h,02h,01hSORTNUMEQU10MESS1DB'INPUTSEGMENTVALUE:$'MESS2DB'INPUTOFFSETVALUE:$'MESS3DB'SORTOK!',0DH,0AH,'$'ERRORDB'INPUTERROR!',0DH,0AH,'$'DATAENDSSTACKSEGMENTSTADW32DUP(?)TOPDW?STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVSP,TOPMOVAH,09HMOVDX,OFFSETMESS1INT21HCALLGETNUMMOVES,DXCRLFMOVAH,09HMOVDX,OFFSETMESS2INT21HCALLGETNUMMOVSI,DXPUSHESPOPDS;DS=ESMOVCX,SORTNUMDECCXXORBX,BXIII:MOVAL,[SI+BX]MOVAH,BLPUSHCXMOVCX,SORTNUMSUBCX,BXDECCXMOVDX,BX12JJJ:INCDXPUSHBXMOVBX,DXCMPAL,[SI+BX]JBEUUUMOVAL,[SI+BX]MOVAH,DLUUU:POPBXLOOPJJJMOVCL,[SI+BX]MOV[SI+BX],ALMOVDL,AHPUSHBXMOVBX,DXMOV[SI+BX],CLPOPBXINCBXPOPCXLOOPIIIPUSHDSMOVAX,DATAMOVDS,AXMOVAH,09HMOVDX,OFFSETMESS3INT21HPOPDSMOVCX,SORTNUMVVV:MOVAL,[SI]CALLDISP1CRLFINCSILOOPVVVMOVAX,4C00HINT21HDISP1PROCNEARPUSHCXMOVBL,ALMOVDL,BLMOVCL,04ROLDL,CLANDDL,0FHCALLDISPLMOVDL,BL13ANDDL,0FHCALLDISPLPOPCXRETDISP1ENDPDISPLPROCNEARADDDL,30HCMPDL,3AHJBDDDADDDL,27HDDD:MOVAH,02HINT21HRETDISPLENDPGETNUMPROCNEARPUSHCXXORDX,DXGGG:MOVA

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功