欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年2022年汇编语言-子程序设计 .pdf

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

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

    2022年2022年汇编语言-子程序设计 .pdf

    1 福建农林大学计算机与信息学院(程序设计类课程)实验报告课程名称:汇编语言姓名:系:计算机系专业:计算机专业年级:09 级学号:指导教师:职称:2011 年12 月 30 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 2 实验项目列表序号实验项目名称成绩指导教师1 汇编程序的汇编及执行张旭玲2 DEBUG 的使用(顺序执行程序)张旭玲3 程序的调试与纠错(循环语句)张旭玲4 DOS 功能调用张旭玲5 子程序张旭玲6 串操作张旭玲7 8 9 10 11 12 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 11 页 - - - - - - - - - 3 福建农林大学计算机与信息学院实验报告系:计算机专业:计算机科学与技术年级: 2009 姓名:学号:实验室号田 507 计算机号 79 实验时间:11.11.29指导教师签字:成绩:实验五子程序设计一、 实验目的(1)学习子程序的编写,主子程序的调用;(2)不同模块间程序的调用和调试。二、 实验内容1)数据段中3 个字符, 调用子程序将其逐个显示出来。子程序的功能是显示一个字符。单步执行,对CALL 语句和 RET 语句观察SP,IP 的变化,并用D 命令查看栈顶的内容。DATA SEGMENT MAG DB ABC DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DA TA START: MOV AX, DA TA MOV DS, AX MOV SI, 0 MOV CX, 3 LL: MOV DL, MAGSI CALL MADD INC SI LOOP LL MOV AH, 4CH INT 21H MADD PROC MOV AH, 02H INT 21H RET 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 11 页 - - - - - - - - - 4 MADD ENDP CODE ENDS END START 2)阅读 S31.ASM 和 S32.ASM 两个模块中的程序,并分别汇编,然后连接成一个可执行文件 S31.EXE。具体步骤如下:MASM S31.ASM (分别汇编)MASM S32.ASM LINK S31 S32 (将两个文件连接成为一个文件名为S31)S31.EXE (运行)3)编程:利用主程序调用子程序,比较BUF1 和 BUF2 缓冲区中不相等的字符,并将不相等的字符显示出来。(也可以将找到的不相等字符逐个显示,用INT 21H 的 02 功能调用)4)编程:子程序搜索指定字符缓冲区中是否有N,如果有用Y 替代。调用子程序将BUF1,BUF2,BUF3 中的 N 全部用 Y 替代。附源程序:NAME S31.ASM 不同模块间的段间调用。从键盘输入2 位非压缩BCD 数,存入AX 寄存器中。为了将其转换为二进制数,编写一个子程序TRAN 。显示子程序DISP 完成将16 进制数转换为对应的 ASCII 码并显示该字符,显示子程序在另一模块S32 中。输入数据为00 时结束。EXTRN DISP: FAR CODE SEGMENT PARA CODE ASSUME CS: CODE START: MOV AH, 01H INT 21H MOV BL, AL INT 21H MOV AH, AL MOV AL, BL CMP AX, 3030H JE EXIT CALL NEAR PTR TRAN CALL FAR PTR disp JMP START 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - 5 EXIT: MOV AH, 4CH INT 21H TRAN PROC NEAR ;将输入的ASCII 码转换成 2 进制数AND AX, 0F0FH ;将 ASCII 码转换成非压缩BCD 码,;高位在AL 中MOV BL, AH MOV CL, 10D MUL CL ADD AL, BL RET TRAN ENDP CODE ENDS END START NAME S32.ASM PUBLIC DISP CODE1 SEGMENT PARA CODEASSUME CS: CODE1 DISP PROC FAR MOV BL, AL MOV BH, 00 MOV CH, 4 ROLL: MOV CL, 4 ROL BX, CL MOV DL, BL AND DL, 0FH CMP DL, 9 JBE NEXT1 ADD DL, 07H NEXT1: ADD DL, 30H MOV AH, 02H INT 21H DEC CH JNZ ROLL RET 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 11 页 - - - - - - - - - 6 DISP ENDP CODE1 ENDS END三、 实验环境计算机四、 实验步骤及运行结果1) 单步执行程序,如下:从实验结果中可以看出,当程序运行到call语句之前, SP一直保持 0000 不变,而 IP 则一直在增加。继续单步执行程序:从上图中可以看出,当程序在RET语句之前欲行时, SP 、IP 每次都是分别按名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 11 页 - - - - - - - - - 7 2 和 1 递增,当运行到 RET语句时,SP海事按照 2 来递增,而 IP 出现了变化,这次却减少了很多,说明指针回撤执行下一个循环。用 D命令查看栈顶内容:出来、从结果中可以看到,栈顶的内容为A。程序全部执行后的结果为:2)编辑 s31和 s32文件,输入程序,保存。分别编译上s31 和 s32文件。链接 s31和 s32文件:无错误输出,运行程序:输入“ 10” ,输出: 10000A 按“00”结束,退出运行。3)编写程序如下:data segment buf1 db aabbccvvxx$ buf2 db aabccvvvxz$ buf3 db 20 dup(?) data ends 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 11 页 - - - - - - - - - 8 code segment assume cs:code,ds:data start:mov ax,data mov ds,ax mov si,0 mov di,0 call bijiao lea dx,buf3 mov ah,09h int 21h mov ax,4c00h int 21h bijiao proc mov al,si cmp al,$ je exit mov ah,buf2si cmp al,ah je next mov buf3di,al mov buf3di+1,ah add di,2 next:inc si jmp bijiao exit:mov buf3di,al ret bijiao endp code ends end start 运行输出结果为 bccvxz,如下图:4)编写程序如下:data segment buf1 db AANAAAAANAAAAANAAA$ buf2 db AAANAAANAAAAAAANAA$ buf3 db ANAANAAAAANAANAANA$ buf4 db The buf1 first is:,0ah,0dh,$ buf5 db 0ah,0dh,The buf1 now:,0ah,0dh,$ buf6 db 0ah,0dh,The buf2 first is:,0ah,0dh,$ buf7 db 0ah,0dh,The buf2 now:,0ah,0dh,$ buf8 db 0ah,0dh,The buf3 first is:,0ah,0dh,$ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 11 页 - - - - - - - - - 9 buf9 db 0ah,0dh,The buf3 now:,0ah,0dh,$ data ends code segment assume cs:code,ds:data start:mov ax,data mov ds,ax mov si,0 push si lea dx,buf4 mov ah,09h int 21h lea dx,buf1 mov ah,09h int 21h add si,offset buf1 call sort lea dx,buf5 mov ah,09h int 21h lea dx,buf1 mov ah,09h int 21h pop si push si lea dx,buf6 mov ah,09h int 21h lea dx,buf2 mov ah,09h int 21h add si,offset buf2 call sort lea dx,buf7 mov ah,09h int 21h lea dx,buf2 mov ah,09h int 21h pop si push si lea dx,buf8 mov ah,09h 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 11 页 - - - - - - - - - 10 int 21h lea dx,buf3 mov ah,09h int 21h add si,offset buf3 call sort lea dx,buf9 mov ah,09h int 21h lea dx,buf3 mov ah,09h int 21h pop si mov ax,4c00h int 21h sort proc ;push ax mov al,si cmp al,$ je exit cmp al,N jne gert mov byte ptr si,Y gert: inc si jmp sort exit:;pop ax ret sort endp code ends end start 运行输出:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 11 页 - - - - - - - - - 11 五、 总结通过本次上机实验, 学会了子程序的编写和主子程序的调用,并且掌握了在不同模块间程序的调用和调试。 在本次实验中, 再一次加深了对汇编程序的汇编以及连接运行的方法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 11 页 - - - - - - - - -

    注意事项

    本文(2022年2022年汇编语言-子程序设计 .pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开