欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    东北大学汇编实验.doc

    • 资源ID:9580       资源大小:58KB        全文页数:10页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    东北大学汇编实验.doc

    -课程B080103020"汇编语言程序设计"实验报告*班级指导教师实验名称数据传送、分支与循环构造程序设计实验开设学期2021-2021 第一学期开设时间第1周第10周报告日期2021年11月6日评定成绩评定人评定日期东北大学软件学院实验1 数据传送指令1、 实验目的:了解和掌握 MOV、PUSH、POP、*CHG四条指令的作用和在编程中的用法。、实验要求:采用立即数寻址方式将19E0H,3F56H,0AF37H,9A81H分别送给EA*、EB*、EC*、ED*四个存放器。记录:操作前 EA*=75C59191、 EB*=7FFDE000 、 EC*=00000000、 ED*=00401000操作后 EA*=000019E0、 EB*=00003F56、 EC*=0000AF37、 ED*=00009A81操作过程中所用到的指令:INCLUDE Irvine32.inc.codemain PROCcall DumpRegsmov ea*,19E0Hmov eb*,3F56Hmov ec*,0AF37Hmov ed*,9A81Hcall DumpRegse*itmain endpEND main采用采用存放器寻址方式将19E0H送给EB*、EC*、ED*三个存放器。记录:操作前 EA*=75C59191、 EB*=7FFDE000 、 EC*=00000000、 ED*=00401000操作后 EA*=000019E0、 EB*=000019E0、 EC*=000019E0、 ED*=000019E0操作过程中所用到的指令:INCLUDE Irvine32.inc.codemain PROCcall DumpRegsmov ea*,19E0Hmov eb*,ea*mov ec*,eb*mov ed*,ec*call DumpRegse*itmain endpEND main对EA*、EB*、EC*、ED*四个存放器进展出入堆栈的操作。将EA*、EB*、EC*、ED*四个存放器的容依次压入堆栈中,注意观察栈指针存放器和堆栈容的变化。记录:压入EA*前 ESP=0018FF90,ESP=75C5919F压入EA*后 ESP=0018FF8C,ESP=00000000压入EB*前 ESP=0018FF8C,ESP=00000000压入EB*后 ESP=0018FF88,ESP=00000000压入EC*前 ESP=0018FF88,ESP=00000000压入EC*后 ESP=0018FF84,ESP=00000000压入ED*前 ESP=0018FF84,ESP=00000000压入ED*后 ESP=0018FF80,ESP=FFFFC000操作过程中所用到的指令:INCLUDE Irvine32.inc.codemain PROCcall DumpRegsmov ea*,espcall DumpRegspush ea*call DumpRegspush eb*call DumpRegspush ec*call DumpRegspush ed*call DumpRegse*itmain endpEND main将堆栈中的容依次弹出到EA*、EB*、EC*、ED*四个存放器,注意观察栈指针存放器和堆栈容的变化。记录:弹出到EA*前 ESP=0018FF90,ESP=00000000弹出到EA*后 ESP=0018FF94,ESP=00000000 弹出到EB*前 ESP=0018FF94,ESP=00000000弹出到EB*后 ESP=0018FF98,ESP=00000000 弹出到EC*前 ESP=0018FF98,ESP=00000000 弹出到EC*后 ESP=0018FF9C,ESP=E18A40B7 弹出到ED*前 ESP=0018FF9C,ESP= E18A40B7 弹出到ED*后 ESP=0018FFA0,ESP= FFFFF801 操作过程中所用到的指令:include Irvine32.inc.codemain procmov esi,espcall DumpRegspush ea*mov esi,espcall DumpRegspush eb*mov esi,espcall DumpRegspush ec*mov esi,espcall DumpRegspush ed*pop ed*mov esi,espcall DumpRegspop ec*mov esi,espcall DumpRegspop eb*mov esi,espcall DumpRegspop ea*mov esi,espcall DumpRegse*itmain endpend main3EA* =3F56H,EC* =4690H,利用交换指令交换这两个存放器的容。记录:交换前 EA*= 00003F56 , EC*=00004690 交换后 EA*= 00004690 , EC*=00003F56 操作过程中所用到的指令:Include Irvine32.inc.codemain PROCmov ea*,3F56Hmov ec*,4690Hcall DumpRegs*chg ea*,ec*call DumpRegse*itmain ENDPEND main实验二逻辑指令、跳转指令与分支程序设计、 实验目的:了解和掌握逻辑指令、比较指令、无条件有条件转移类指令的功能和作用,以及此类指令的使用方法。、 实验要求:具体了解和掌握逻辑指令、比较指令、无条件有条件转移类指令的使用和在使用时应注意的问题,学习分支型程序设计的一般方法。在DEBUG系统状态下,分别编制、调试并记录以下逻辑指令程序段的每一条指令的运行情况: mov al,41 al=29H or al,20 al=3DH mov al,66 al=42H and al,0df al=00H mov EA*,5678 EA*=0000162EH *or EA*,EA* EA*=00000000H mov EA*,0ff00 EA*=0000FF00H not EA* EA*=FFFF00FFH mov EA*,1234 EA*=000004D2H test EA*,1 EA*=000004D2H SF=0 ZF=1 OF=0 test EA*,2 EA*=000004D2H SF=0 ZF=0 OF=0 test EA*,4 EA*=000004D2H SF=0 ZF=1 OF=0 test EA*,8 EA*=000004D2H SF=0 ZF=1 OF=0 test EA*,10 EA*=000004D2H SF=0 ZF=0 OF=0 test EA*,20 EA*=000004D2H SF=0 ZF=0 OF=0 test EA*,40 EA*=000004D2H SF=0 ZF=1 OF=0 test EA*,80 EA*=000004D2H SF=0 ZF=0 OF=0test指令的作用是_将原操作数与目的操作数相与,但结果不送会目的操作数,只改变标志位,并不修改操作数_。 (2) DATA单元开场存放三个带符号数,编制程序,检查三个数据是否同号,假设同时为正,则在显示器上显示"+;同时为负,则显示"-;否则显示空格"。要求:分别用三组数据同时为正,同时为负,异号调试程序,验证程序的正确性。include Irvine32.inc.datainterray sdword 23h,23h,-23h.codemain proc mov edi,OFFSET interraymov ea*,ediand ea*,80000000hpush ea*mov ea*,edi+4and ea*,80000000hpush ea*mov ea*,edi+8and ea*,80000000hpush ea*pop ea*pop eb*pop ec*jnz L1cmp ea*,eb*jne L2cmp ea*,ec*jne L2mov al,'+'call WriteChare*itL1: cmp ea*,eb* jne L2 cmp ea*,ec* jne L2 mov al,'-' call WriteChar e*itL2: mov al,' ' call WriteChar e*itmain endpend main实验三算术运算类指令、移位指令及循环程序设计、 实验目的:了解和掌握加、减、乘、除指令的在程序设计中的用法和应注意的问题,了解和掌握移位指令的功能、作用和方法。了解和掌握循环控制类指令的功能、作用和方法。学会循环程序设计的方法。学习汇编语言输出输入语句的设计。、 实验要求:具体了解和掌握算术类指令、移位指令和循环控制类指令的使用,以及在使用时应注意的问题,学习循环程序设计的一般方法。在DEBUG系统状态下,分别编制、调试并记录以下加、减程序段的每一条指令的运行情况,查看存放器的结果: MOV EA*,2389 EA*=00000955H MOV EB*,0CEDFH EB*=0000CEDFH ADD EA*,EB* EA*= 0000D834H EB*=0000CEDFH MOV EA*,2389 EA*=00000955H MOV EB*,0CEDFH EB*=0000CEDFH SUB EA*,EB* EA*=FFFF3A76H EB*=0000CEDFH MOV EA*,2389 EA*=00000955H MOV EB*,0CEDFH EB*=0000CEDFH ADD AH,BH AH=D7 BH=CE ADD AL,BL AL=34 BL=DF MOV EA*,2389 EA*=00000955H MOV EB*,0CEDFH EB*=0000CEDFH ADD AH,BH AH=D7 BH=CE ADC AL,BL AL=34 BL=DF EFL = 00000213在DEBUG系统状态下,分别编制、调试并记录以下乘、除程序段的每一条指令的运行情况: MOV AL,23 AL=17H MOV BL,0CEH BL=CEH MUL BL A*=1282H OV=1 MOV A*,2389 A*=0955H MOV B*,0CEDFH B*=CEDFH MUL B* D*= 078AH A*=870BH CF=1 MOV A*,2389 A*=0955H MOV BL,0CEH BL=0CEHDIV BL AH=7BH AL=0BH MOV A*,2389 A*=0955H MOV D*,0856 D*=0358H MOV B*,0CEDFH B*=CEDFH DIV B* A*=0423H D*=44D8H3在DEBUG系统状态下,分别编制、调试并记录以下移位指令程序段的每一条指令的运行情况: mov EA*,420 EA*=000001A4H shl EA*,1 CF=0 EA*=00000348H mov EA*,240 EA*=000000F0H mov cl,4 CL=04H shl EA*,cl CF=0 EA*=00000F00H mov EA*,8000 EA*=00001F04H mov cl,4 CL=04H shr EA*,cl CF=0 EA*=000001F4H mov EA*,8000 EA*=00001F04H mov cl,4 CL=04H sar EA*,cl CF= 0 EA*=000001F4H mov EA*,8086 EA*=00001F96H mov cl,4 CL=04H rol EA*,cl CF=0 EA*=00001F96H mov EA*,8086 EA*=00001F96H mov cl,4 CL=04H ror EA*,cl CF=0 EA*=60001F9H mov EA*,8086 EA*=00001F96H mov cl,4 CL=04H rcl EA*,cl CF=0 EA*=0001F960H mov EA*,8086 EA*=00001F96H mov cl,4 CL=04H rcr EA*,cl CF=0 EA*=C00001F9Hrol与rcl、ror与rcr的区别在于rol和ror是将存放器中的容直接进展移位,而rcl和rcr是将存放器中的容与_CF_中的容一起进展移位,因此参加移位的数据比原来的数据位数_多一_。(5) DATA单元开场存放一组无符号的字节数据,数据长度在T单元存放。编制程序,检查该组数据中是否存在数据100,假设存在,则在显示器上显示"Y,否则显示"N。include Irvine32.inc.dataay word 1,4,8,100t word 4.codemain procmov c*,tL1: mov a*,0 push a* mov b*,ay+a* cmp b*,0064h je L2 mov al,'N' call WriteChar jmp quit L2: mov al,'Y' call WriteChar jmp quitquit: pop a* add a*,4LOOP L1e*itmain endpend main(6) 编制在屏幕上显示九九表的程序。include Irvine32.inc.codemain proc mov ed*,0L1: call Crlf mov eb*,1 inc ed*L3: push ed* mov ea*,ed*mul eb* mov esi,ea* pop ed* mov ea*,eb* call WriteDecpush ed* mov al,'*' call WriteCharpop ed* mov ea*,ed* call WriteDec push ed* mov al,'=' call WriteChar pop ed* mov ea*,esi call WriteDecpush ed* mov al,' ' call WriteChar pop ed* cmp eb*,9 jz L2 cmp eb*,ed* jz L1inc eb* jmp L3L2:call Crlf e*itmain endpend main考核标准得分1正确理解和掌握实验所涉及的概念和原理20%;2能正确设计程序,运行结果正确30%;3认真记录实验数据,原理及实验结果分析准确20%;4实验过程中,具有严谨的学习态度和认真、踏实、一丝不苟的科学作风10%;5所做实验具有一定的创新性10%;6实验报告规10%。. z.

    注意事项

    本文(东北大学汇编实验.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开