版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录微机原理与接口技术课程作业班级:一、实验目的:汇编语言是一种用助记符表示的程序设计语言.用汇编语言编写的源程序生成的目标代码短,占内存少,执行速度快,适合于系统软件、实时限制软件、I/O接口驱动等程序设计.通过本次实验,熟练掌握汇编程序的调试,深入了解MASM:编语言及其程序设计方法.、实验环境EDIT编辑器、MASM:编程序、LINK连接程序、TD调试程序三、实验过程一根底知识储藏1.了解微处理器80486的内部结构、存放器组、工作模式等根本知识.2,熟练掌握微处理器指令系统的相关知识,重点掌握80486的寻址方式和常用的指令格式及功能.3,了解MASME编语言及其程序设计方法.掌握MA
2、SMC编语言的语句格式、语法规那么、常用伪指令及DOS*能的调用等.了解顺序结构、分支结构、循环结构和子程序的设计方法.二汇编语言程序设计1.分析问题,明确要解决的问题和要求2,确定解决问题的思路和方法.3 .将解决问题的方案编制成程序流程图.4 .根据流程图,逐条编写程序.5 .上机调试,验证程序是否正确.(三)汇编程序调试MASM:编程序的主要功能是:把源文件转换成用二进制代码表示的目标文件,并生成列表文件;在转换过程中汇编程序将对源程序进行扫描,检查源程序是否有语法错误并指出源程序的语法错误.汇编语言源程序的调试过程需要经过编辑、汇编、连接、运行、调试等几个步骤:1 .编辑:使用编辑程序
3、,将编写好的程序输入计算机,建立一个扩展名为ASM的汇编语言源文件*.ASM.2 .汇编:使用汇编程序,将*.ASM文件经汇编后生成扩展名为*.OBJ.3 .连接:使用连接程序,把一个或多个目标程序连接成可执行文件*.EXE.4 .运行:运行可执行文件,验证程序是否正确.5 .调试:如果运行中有问题,可使用编辑或调试程序进行修改和调试,重复上述步骤,直到运行正确为止.四、调试实例(一)实例一要求:编写程序,将MBUF;起始单元的5个数按相反次序传送到NBUFF始的存储单元中.实验思路:本例采用顺序结构和循环结构,合理利用堆栈,通过堆栈实现数据根据相反次序传送.源程序:DATASEGMENT;数
4、据段开始MBUFDB0,1,2,3,4;每个数据分配一个存储单元NBUFDB5DUP(0);空5个存储单元备用DATAENDS;数据段结束STACKSEGMENTPARASTACK;堆栈段开始,定位类型是PARADB100DUP(0)STACKENDSCODESEGMENT;代码段开始ASSUMECS:CODE,DS:DATA,SS:STACK;段分配伪指令START:MOVAX,DATA;数据传送MOVDS,AX;存储器数据传送到段存放器中MOVSI,OFFSETMBUF;取第一组操作数的偏移地址MOVDI,OFFSETNBUF;取第二组操作数的偏移地址MOVCX,5;数据个数5传送到CX中
5、LOP1:MOVAX,SI;数据传送PUSHAX;数据入栈INCSI;指针加1LOOPLOP1;循环LOP2:POPAX;数据出栈MOVDI,AX;数据传送INCDILOOPLOP2MOVAH,4CH;终止进程INT21HCODEENDSENDSTART(二)实例二要求:编写程序,将内存中某数据块中的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数.实验思路:本例中要求将正数和负数分开,因此应先判断数据块中数据的正负,然后将不同符号的数分别传送到两个缓冲区中,同时分别计数.利用分支结构和循环结构解决问题.源程序:DATASEGMENT;数据段BU
6、FDB5,2,7,-4,-2,-3,4,9,-6COUNTEQU$-BUF;等值语句,COUNT?于BUF数据长度ZSDB?FSDB?STR1EQUBUF+20;正数首地址STR2EQUBUF+30;负数首地址DATAENDSSTACKSEGMENTSTACK;堆栈段DB100DUP(0)STACKENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AX;初始化MOVBX,OFFSETBUF;取BUF中操作数的偏移地址MOVCX,COUNTMOVZS,0MOVFS,0MOVSI,OFFSETSTR1MOV
7、DI,OFFSETSTR2LOP:MOVAL,BXCMPAL,0;带符号数比拟JGLOP1;数据大于0时跳转至LOP1JLLOP2;数据小于0时跳转至LOP2LOP1:INCZS;正数计数加1MOVSI,AL;正数数据存入SI存放器中INCBXINCSILOOPLOPJMPLASTLOP2:INCFSMOVDI,AL;负数数据存入DI中INCBXINCDILOOPLOPLAST:MOVDL,ZSMOVAH,06H;显示字符INT21HMOVDL,FSMOVAH,06HINT21HMOVAH,4CHINT21HCODEENDSENDSTART(三)实例三要求:编写程序,从内存BLOCKF始,存放
8、着10个字节的有符号数,从这些数中找出绝对值最大的那个最大的数,将其存入MA)#.源程序:DATASEGMENTBLOCKDB1,-1,2,-3,4,5,3,-1,2;设置数据COUNTEQU$-BLOCK;置计数值MAXDB?;存最大值DATAENDSSTACKSEGMENTSTACKDB100DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETBLOCKMOVMAX,0MOVCX,COUNTAGAIN:MOVAL,SI;CMPAL,0;JSJDZ;LOP:CM
9、PAL,MAXJGBIG;ALJMPLOP1JDZ:NEGAL;JMPLOP1;BIG:MOVMAX,ALJMPLOP1LOP1:INCSI;DECCX;MOVAH,MAX;JNZAGAIN;MOVAH,4CHINT21HCODEENDSENDSTART四实例四数据首地址为计数器将第一个数据存在AL中判断正负小于0转至ijJDZ比拟数据与最大值大转到BIG求补,即绝对值跳转至LOP1指针加1,指向下一个数计数值减1最大值存入AH跳转至AGAIN要求:编写程序,将内存中N个无符号数从大到小排序后输出显示.源程序:DATASEGMENTBUFDB1H,9H,6H,15H,10HCOUNTEQU$-
10、BUFDATAENDSSTACKSEGMENTSTACKDB100HDUPSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AX;初始化MOVCX,COUNT;DECCX;LOP1:MOVSI,CXMOVDI,1;MOVBX,OFFSETBUFLOP2:MOVAL,BX;CMPAL,BX+1;JAELOP3;XCHGAL,BX+1;MOVBX,ALMOVDI,0;LOP3:INCBX;LOOPLOP2;CMPDI,0;束JNZOK;MOVCX,SILOOPLOP1;OK:MOVCX,COUNTMOVB
11、X,OFFSETBUF;BXLOP4:MOVDL,BX;BXMOVAH,06H;INT21HINCBX;LOOPLOP4;MOVAH,4CH;INT21H;CODEENDSENDSTART置计数器外层循环减1交换标志DI=1取数组中第一个偏移地址第一个数据送到AL中两数进行比拟大于等于转到LOP3小于交换两数位置,AL存大数交换标志DI=0数据指针指向下一位循环LOP2交换标志为0继续,交换标志为1结不等于0转到OK结束等于0循环LOP1为BUF首地址的偏移地址中的数放在DL中输出显示指针指向下一字符循环LOP4结束进程返回DOS五、实验总结本次实验,虽然花费时间较长,但通过实验的完成,我的收
12、获也很多.一实验收获无论是知识方面还是水平方面,本次实验都让我得到了很大提升.知识方面,本次实验需要编写符合要求的程序.首先要进行程序的设计,明确实验目的和设计思路,画出程序框图,然后进行程序的编写.通过程序的设计与编写,使我能够更加深入的了解和掌握80486了指令系统.程序编写完成后,便需要进行调试,最初编写的程序中出现了很多错误,在编译过程中发现错误后,不断进行修正,直到程序正确,可以实现所需功能.在这一过程中,我逐渐熟悉了汇编程序编辑、编译、连接、调试的过程,并能通过这些软件的功能找到自己的错误加以改正,最终实现实验目的.水平方面,由于系统原因,不能直接在电脑当前系统中进行汇编程序的调试,因此我安装了虚拟机,在虚拟机安装过程中遇到很多问题,通过对搜索引擎的有效利用,我解决了安装过程中的问题并成功安装了XP系统,建立了实验所需环境,为实验的完成打下基础.本次实验,提升了我分析问题和解决问题的水平,能够
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 标准化安全培训效果评价课件
- 养老院消防安全管理制度
- 养老院环境卫生管理制度
- 医学影像学在肿瘤治疗中的案例与启示
- 交通电路处理
- 核酸咽拭子培训课件
- 核能发电知识课件
- 辽宁省沈阳市私立中学联考2025-2026学年八年级上学期12月月考物理试题(解析版)
- 课件状元成才路
- 《GBT 5644-2008扩口式过板弯通管接头》专题研究报告
- 2026年内蒙古化工职业学院高职单招职业适应性考试参考题库及答案详解
- 中国肺血栓栓塞症诊治、预防和管理指南(2025版)
- 2025中北京铁路局集团招聘934人(本科及以上)笔试参考题库附带答案详解(3卷合一)
- 仓储管理人员考核细则及绩效标准
- 牛黄对肝功能影响研究-洞察及研究
- 泰康培训课件
- 电子签名系统安全预案
- (零模)2026届广州市高三年级调研测试物理试卷(含答案)
- 车辆保养套餐服务协议
- 大型电泳线施工方案设计
- 注册测绘师测绘综合能力试卷真题及答案(2025年新版)
评论
0/150
提交评论