欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    总汇编语言程序设计报告材料五.doc

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

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

    总汇编语言程序设计报告材料五.doc

    汇编语言程序设计报告 五五、 数据处理与输入输出 实验1. 实验目的与要求目的:1) 全面掌握输入和输出的中断功能调用键盘和显示器2) 掌握子程序的定义和调用3) 学会编制良好风格的汇编语言程序要求:1) 在实验四的根底上,在屏幕上开设二个窗口如左右或上下2) 定义输入缓冲区最多输入50个字符3) 在第一个窗口输入要求有输入提示4) 后台程序完成实验四的工作5) 结果显示在第二个窗口要求有输出提示6) 所有程序必须以子程序方式表现除了初始化和程序结尾7) 必须在程序中做好子程序的功能说明以与参数说明8) 注意调试结果,并做好记录。2. 实验源代码.model small.386.model small.386DATAS SEGMENTSTRING1DB'Please input a string:$' STRING2DB'Please input a character:$' SORT_STRDB'SORTED STRING:$' FIRST_STRDB'FIRST LOCATION:$' LAST_STRDB'LAST LOCATION:$' SUM_STRDB'SUM:$' BUFA DB80,?,80 dup(?) BUFB DB80,?,80 dup(?)CRLF DB13,10,'$'FLAG DB0FLOC DB0LLOC DB0TEN DB10SUMDB0LFLAG DB 0DATAS ENDS;定义宏指令 清屏CLEAR MACRO A,B,C,D MOV AH,6MOV AL,0 MOV CH,A MOV CL,B MOV DH,C MOV DL,D MOV BH,7 INT 10H ENDM;宏指令 向上卷动SCROLL MACRO T,ULROW,ULCOL,LRROW,LRCOL MOV AH,7MOV AL,T MOV CH,ULROW MOV CL,ULCOL MOV DH,LRROW MOV DL,LRCOL MOV BH,70H INT 10H ENDM;宏指令 光标定位POSTC MACRO X,Y MOV AH,2MOV DH,X MOV DL,Y MOV BH,0 INT 10H ENDMCODES SEGMENTSTART:MAIN PROC ASSUME CS:CODES,DS:DATASPUSH DSXOR AX,AXPUSH AXMOV AX,DATASMOV DS,AX CLEAR 0,0,24,79 SCROLL 5,3,5,8,70 SCROLL 5,10,5,15,70 POSTC 3,5BEGIN:;输入字符串MOVAH,09HLEADX,STRING1INT21HLEADX,BUFAMOVAH,0AHINT21HLEADX,CRLFMOVAH,09HINT21H ;排序CALL POP_SORT;传送CALL MOVE_TO_NEW;输入查找字符POSTC 4,5LEADX,STRING2MOVAH,09HINT 21HMOVAH,01HINT 21H;查找字符CALL FIND_CHAR;求和CALL GET_SUM;输出排序结果CALL PRINT_SORTED;输出查找结果CALL PRINT_LOCATIONMOV AH,4CH INT 21HMAIN ENDP;=冒泡排序=POP_SORT PROC NEARMOV BL,BUFA1DECBLLOOP1:MOV CH,BLLEASI,BUFA2LOOP2:MOVAL,SICMPAL,SI+1JLEEXTXCHG AL,SI+1MOVSI,ALEXT:INCSIDECCHJNZLOOP2DECBLJNZLOOP1RETPOP_SORT ENDP;=移动=MOVE_TO_NEW PROC NEARLEASI,BUFA1LEADI,BUFB1MOVCH,BUFA1INCCHMOVE:MOVAL,SIMOVDI,ALINCDIINCSIDECCHJNZMOVERETMOVE_TO_NEW ENDP;=查找=FIND_CHAR PROC NEARLEASI,BUFB2MOVCH,0FIND:CMPAL,SIJZFOUNDJMPNEXTFOUND:CMPFLAG,1JNZFIRSTJMPLASTFIRST:INCFLAGMOVFLOC,CHINCFLOCJMPNEXTLAST:INC LFLAGMOVLLOC,CHINCLLOCCMPAL,SI+1JNZFENDJMPNEXTNEXT:INCSIINCCHCMPCH,BUFB1JNAE FINDFEND:LEADX,CRLFMOVAH,09HINT 21HRETFIND_CHAR ENDP;=求和GET_SUM PROC NEARXORAL,AL ;清零ALADDAL,FLOCADDAL,LLOCMOVSUM,AL ;求和RETGET_SUM ENDP;=输出排序结果PRINT_SORTED PROC NEARPOSTC 10,5LEADX,SORT_STRMOV AH,09H INT 21H MOV AH,09HLEA DX,BUFB2 INT 21HLEA DX,CRLFMOV AH,09HINT 21HRETPRINT_SORTED ENDP;=输出查找结果PRINT_LOCATION PROC NEARPOSTC 12,5LEADX,FIRST_STRMOVAH,09HINT21HMOVAL,FLOC;第一个位置SUBAH,AHDIVTENADDAX,3030HMOVBL,AHMOVDL,ALMOVAH,2INT 21HMOVDL,BLMOVAH,2INT21HLEADX,CRLFMOVAH,09HINT21HCMPLFLAG,0 JZFIN ;假如只找到一个,跳转到末尾;找到不止一个,输出最后一个位置与位置和 PLAST:POSTC 13,5LEADX,LAST_STRMOVAH,09HINT21HMOVAL,LLOC;最后一个位置SUBAH,AHDIVTENADDAX,3030HMOVBL,AHMOVDL,ALMOVAH,2INT 21HMOVDL,BLMOVAH,2INT21HLEADX,CRLFMOVAH,09HINT21HPOSTC 14,5LEADX,SUM_STRMOVAH,09HINT21HMOVAL,SUM;位置之和SUBAH,AHDIVTENADDAX,3030HMOVBL,AHMOVDL,ALMOVAH,2INT 21HMOVDL,BLMOVAH,2INT21HLEADX,CRLFMOVAH,09HINT21HFIN: RETPRINT_LOCATION ENDPCODESENDSENDSTART3. 输出结果:只找到一个位置:找到多个位置:4. 体会这次实验根本上沿用了上次实验的代码,难点是开设两个窗口,这需要用到BIOS显示中断,对屏幕进展一系列的操作。

    注意事项

    本文(总汇编语言程序设计报告材料五.doc)为本站会员(李司机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开