电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

四川大学电气信息学院微机原理实验报告VIP免费

四川大学电气信息学院微机原理实验报告_第1页
1/13
四川大学电气信息学院微机原理实验报告_第2页
2/13
四川大学电气信息学院微机原理实验报告_第3页
3/13
实验一汇编语言编程基础一.上机目的:了解并逐步熟悉汇编语言的编辑方法及特点.复习8088汇编语言的段结构、常用的指令与伪指令、存储空间的分配等。掌握汇编语言的编辑、汇编及连接的过程。了解并逐步掌握运用DEBUG进行调试汇编语言程序。二.实验内容:学习汇编语言程序的上机步骤1.编辑EDIT.COM2.用汇编程序MASM.Exe对源程序.ASM文件汇编,生成目标文件.OBJ3.连接LINK.EXE4.运行和调试DEBUG.exe熟悉、使用DEBUG调试工具运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。运用MASM﹒EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ文件。运用LINK.EXE文件进行连接,形成*.EXE文件。仔细阅读和体会DEBUG调试方法,掌握各种命令的使用方法。运用DEBUG。EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正。三.正确的程序清单datasegmentadb9,6,8,7,5bdb5cdb5dup(0);5之后有空格nequ5dataendscodesegmentassumecs:code,ds:data,es:data;是逗号不是分号最后不应有标点start:movax,data;start后面应该有冒号movds,axmoves,axcldleasi,aleadi,c;lea不是lebmovcx,nmovah,0lp1:lodsbaaddivbstosblooplp1movcx,nleadi,clp2:movdl,[di]adddl,30h;加30对应正确的ASCII码movah,2int21hincdi;地址应该递增而不是递减looplp2movah,4chint21hcodeends;没有冒号endstart程序框图如下实验结果如下实验2.1简单程序设计一.实验目的理解各种指令的功能。进一步学习程序的调试。二.实验内容练习1.实验题目:编程计算下列表达式:A=90,B=-70,C=5,Y均为有符号数,计算Y=2×(A+B)+(A×C)÷5原程序DATASEGMENTADB90D,-70D,90D,5DBDB2CDB5DDB10DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETAMOVBL,[SI];90D进BLINCSIADDBL,[SI];-70D加入BLXORAX,AX;AX清零MOVAL,BL;结果存入ALMULB;AL乘2MOVBL,AL;结果存到BLINCSIMOVAL,[SI]INCSIMULBYTEPTR[SI];90D乘5DDIVC;AL除以5ADDBL,AL;两个结果相加,结果存BLMOVAL,BL;转移到ALDIVD;除以10MOVCL,AH;余数存CLDIVD;再除以10MOVDL,AL;商转移到DL准备输出到屏幕ADDDL,30H;调整ACSII码MOVBL,AH;余数存到BLMOVAH,2;输出百位INT21HMOVDL,BLADDDL,30HMOVAH,2;输出十位INT21HMOVDL,CLADDDL,30HMOVAH,2;输出个位INT21HCODEENDSENDSTART输出计算结果130练习3.编制程序,从键盘输入最多5个数,求他们的和,存入SUM。datasegmentadb5dup(?)bdb10dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovcx,5leasi,axordl,dllop1:xorax,axmovah,01;从键盘输入数字int21hadddl,alsubdl,30h;ASCII码转换为实际数值looplop1;循环5次输入五个一位数adddl,30h;转换为ASCII码准备输出cmpdl,3Ah;比较和是否大于9jael1;大于进入l1jmpl2;不大于进入l2l1:moval,dlxorah,ahsubal,30hdivbyteptrb;与练习一同理,除以10,商是十位,余数是个位movdl,aladddl,30hmovbl,ahmovah,2int21hmovdl,bladddl,30hl2:movah,2;直接向屏幕输出结果int21hcodeendsendstart输入11111输出连加计算结果5输入23456输出连加计算结果20实验2.2汇编语言程序设计----循环结构程序一.实验内容练习1.用“冒泡“法对一组数300,250,280,240,260,按从小到大的顺序排列。提示:用冒泡的方法对一组数据元素排序,它的基本方法是:将相邻的两个元素通过比较进行排序,通过多次,多遍的邻元素排序,实现整个一组数的排序。对于5(N)个元素,整个排序通过4遍(=N-1)邻元素排序完成。每一遍的排序由若干次邻元素的排序组成。4遍排序中,邻元素的排序依次为4,3,2,1遍。完成第一遍排序后,最大数沉底,已经到达它应占据的位置,不需要参加下一遍的排序。外循环的次数为CX=4次(N-1),内循环的次数为4,3,2,1(DECCX)排序遍数本遍排序前第一次排序后第二次排序后第三次排序后第四次排序...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

四川大学电气信息学院微机原理实验报告

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部