电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

汇编实验报告(安工大纪平老师)

22页
  • 卖家[上传人]:第***
  • 文档编号:34253982
  • 上传时间:2018-02-22
  • 文档格式:DOC
  • 文档大小:375KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、汇编语言实验报告学院:计算机学院姓名: 学号:班级:软件工程 104 班实验一 汇编运行环境及方法、简单程序设计1. 程序说明:本程序用来比较两个字符串 string1 和 string2 所含的字符是否相同。若相同则显示Match ,否则显示Nomatch 。在程序的数据段先定义两个字符串 string1 和 string2,再定义两个字符串 mess1 和 mess2,分别代表Match和Nomatch 。再代码段比较字符串string1 和 string2,通过比较判断是否相同。若相同则显示Match ,否则显示Nomatch 。2.程序代码(比较两字符串):;PROGRAM TITLE GOES HERE-Compare string;*datarea segment ;define data segmentstring1 db Move the cursor backward.string2 db Move the cursor backward.;mess1 db Match.,13,10,$mess2 db No match!,13,10,$datarea ends;*p

      2、rognam segment ;define code segment;-main proc farassume cs:prognam,ds:datarea,es:datareastart: ;starting execution address;set up stack for returnpush ds ;save old data segmentsub ax,ax ;put zero in AXpush ax ;save it on stack;set DS register to current data segmentmov ax,datarea ;datarea segment addrmov ds,ax ;into DS registermov es,ax ;into ES register;MAIN PART OF PROGRAM GOES HERElea si,string1lea di,string2cldmov cx,25repz cmpsb jz matchlea dx,mess2jmp short dispmatch:lea dx,mess1disp:mov

      3、ah,09int 21hret ;return to DOSmain endp ;end of main part of program;-prognam ends ;end of code segment;*end start ;end assembly3.截图:该程序是用来判断两字符串 string1 和 string2 是否相同,相同则显示 match。实验二 用 DEBUG 编程:使用堆栈段将 AX 和 BX 的内容进行交换等1.程序说明:(1)设堆栈指针 SP=2000H,AX=3000H,BX=5000H;编一程序段将 AX 和BX 的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG 调试程序进行汇编与调试。(2)设 DS=当前段地址,BX=0300H,SI=0002H;请用 DEBUG 的命令将存储器偏移地址 300H304H 连续单元顺序装入 0AH,0BH,0CH ,0DH,0EH。在 DEBUG 状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX 中的内容是什么。2.程序代码:MOV AX,BXMOV

      4、AX,0304HMOV AX,0304HMOV AX,BXMOV AX,0001BXMOV AX,BXSIMOV AX,0001BXSIHLT3.截图:先使用-r 设置 sp,ax,bx,在使用-a 输入指令然后再-t 单步调试刚开始 ax 3000,bx 5000 debug 调试后 ax,5000 bx 3000首先用-r 设置 bx,si 然后再用-e 将 a,b,c,d,e 分配到指定的内存中,-a 输入指令最后-t 单步调试执行单步调试后 ax 的值一直变化从 000E,0B0A,0C0B,0D0C,0E0D实验三 存储器块清零和内存块移动1. 程序说明:第一个程序是存储块清零。程序流程大概为首先设置起始地址,然后设置块长度,然后将当前地址内容清零,地址加 1,然后查看是否清除完全,若没有则回到当前地址清零,然后再查看,直到地址内容清除完,结束程序。第二个程序是内存块移动。程序流程框图为:首先设置块的源地址,然后设置筷的目的地址,然后再设置移动长度,然后按长度重复传送数据,然后结束。2调试及截图:第一个程序进入 debug 先用-u 指令查看程序代码然后-d 查看内存的情况再

      5、执行-g 讲程序执行完 在用-d 查看内存 第二个程序进入 debug 后先用-u 查看程序 然后-g 运行到指令 rep movsd 之前再用 d 查看内存的内容-g 前-g 后实验四 将键盘输入的小写字母用大写字母显示出来1.程序说明:本程序用来将小写字母转变为大写,并在屏幕上显示出来。先利用 DOS 功能调用 INT21H 的 1 号功能从 键盘输入字符,然后判断输入的是否是小写字母,若不是小写字母,则显示输入出错,重新输入。若输入的是小写字母,则通过将其减去 20h,从而变为大写字母。在通过 DOS 功能调用 INT21H 的 2 号功能显示出来。若输入的是 Enter 键,则结束程序。2.程序代码:TITLE SHIYANCODE SEGMENTASSUME CS:CODESTART:MOV AH,01HINT 21HCMP AL,61HJL STARTSUB AL,20HMOV DL,ALMOV AH,02HINT 21HCODE ENDSEND START3.截图:实验五 循环程序设计1.程序说明:第一个程序是用来显示 AL 寄存器中的两位十六进位制数,通过 DOS 功能

      6、调用 INT21H 的 2 号功能显示出来。第二个程序是用来判别键盘上输入的字符:若是 1-9 字符,则显示之; 若为A-Z 或 a-z 字符,均显示“c”;若是回车字符,z 则结束程序,若为其他字符则不显示,继续等待新的字符输入。首先输入一个字符,将其和回车字符比较,若是回车字符,则结束程序。1-9 字符,则显示之。若是若小于 0,则重新等待输入。若大于 9,则跳转到和A、Z 比较,若小于A,则重新等待输入,若大于Z,则跳转到和a、z比较处,若小于 a 或大于 z,则重新等待输入,否则输出c。2.程序代码:CODE SEGMENTASSUME CS:CODESTART:MOV AL,3EHPUSH AXMOV DL,ALMOV CL,4SHR DL,CLCMP DL,9JBE NEXT1ADD DL,7NEXT1:ADD DL,30HMOV AH,2INT 21HPOP AXMOV DL,ALAND DL,0FHCMP DL,9JBE NEXT2ADD DL,7NEXT2:ADD DL,30HMOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND S

      7、TART3.截图:4.程序代码:code segmentassume cs:codestart:mov ah,1int 21hcmp al,0dhjz donecmp al,0jb nextcmp al,9ja charupmov dl,almov ah,2int 21hjmp startcharup:cmp al,41hjb nextcmp al,5ahja chrdndispc:mov dl,cmov ah,2int 21hnext:jmp startchrdn:cmp al,61hjb nextcmp al,7ahja nextjmp dispcdone:mov ah,4chint 21hcode endsend start5.截图:实验六 分支程序设计1.程序说明:第一个程序是用来显示 AL 寄存器中的两位十六进位制数,通过 DOS 功能调用 INT21H 的 2 号功能显示出来。第二个程序是用来判别键盘上输入的字符:若是 1-9 字符,则显示之; 若为A-Z 或 a-z 字符,均显示“c”;若是回车字符,z 则结束程序,若为其他字符则不显示,继续等待新的字符输入。首先输入一个

      8、字符,将其和回车字符比较,若是回车字符,则结束程序。1-9 字符,则显示之。若是若小于 0,则重新等待输入。若大于 9,则跳转到和A、Z 比较,若小于A,则重新等待输入,若大于Z,则跳转到和a、z比较处,若小于 a 或大于 z,则重新等待输入,否则输出c2.程序代码:CODE SEGMENTASSUME CS:CODESTART:MOV AL,3EHPUSH AXMOV DL,ALMOV CL,4SHR DL,CLCMP DL,9JBE NEXT1ADD DL,7NEXT1:ADD DL,30HMOV AH,2INT 21HPOP AXMOV DL,ALAND DL,0FHCMP DL,9JBE NEXT2ADD DL,7NEXT2:ADD DL,30HMOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND START3.截图:可以对 ax 的值进行修改为 00ad4.程序代码code segmentassume cs:codestart:mov ah,1int 21hcmp al,0dhjz done cmp al,0jb nextcmp al,9ja charupmov dl,almov ah,2int 21hjmp startcharup:cmp al,41hjb nextcmp al,5ahja chrdndispc:mov dl,cmov ah,2int 21hnext:jmp startchrdn:cmp al,61hjb nextcmp al,7ahja nextjmp dispcdone:mov ah,4chint 21hcode endsend start5.截图:实验七 统计不同成绩段学生的人数1.程序说明:本程序用来统计在不同分数段的学生人数并显示出来。有三个子程序,分别用来统计各分数段的学生人数、输出相关内容、换行回车。子程序

      《汇编实验报告(安工大纪平老师)》由会员第***分享,可在线阅读,更多相关《汇编实验报告(安工大纪平老师)》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.