汇编语言程序课程设计报告_第1页
汇编语言程序课程设计报告_第2页
汇编语言程序课程设计报告_第3页
汇编语言程序课程设计报告_第4页
汇编语言程序课程设计报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言程序课程设计报告 输出九九乘法表的程序设计 班级 计应用 111 姓名 xxx 学号 111010136 指导教师 xxx 设计时间 2012 6 4 2012 6 7 教师签名 成 绩 输出九九乘法表程序设计输出九九乘法表程序设计 一 一 课程实验的目的 需求分析 课程实验的目的 需求分析 在我们的日常生活中 我们会经常使用到九九乘法口诀 以达到一些计算 目的 因此编写一个输出九九乘法表程序能够帮助许多学生学习此口诀 而且 本程序通过汇编语言实现 汇编语言具有许多其他语言不可替代的优点 其目 标程序占用内存空间少 运行速度快 在一些硬件配置较差的机器上也能大显 身手 二 课程设计的任务 概要设计 二 课程设计的任务 概要设计 1 在编程中主要用到 21 号中断 2 号功能 2 用汇编语言编写一个九九乘法表的程序 并且再不用 debug 的情况下能够 运行出来 3 在编写出来后 运行时 在键盘上按 k 键可以显示出来整个乘法表 按 q 键退出 按 1 9 键可以显示相应的一行 三 流程图设计及说明 详细设计 三 流程图设计及说明 详细设计 一 流程图 是 否 是 否 开始 输入字符 给 i 赋 8 判断是否等于字 符 q 判 判断是否等于字符 k 是 否 是 否 不大于 大于 被乘数加 1 被乘数与乘数比较 大小 是否需换行 判段是否小于等于 0 或者大于 9 显示 乘数加 1 i 加 1 用 i 大于等于 10 二 源代码及注释 dseg segment mess db 0ah 0dh please Enter 1 9 continue mess1 db 0ah 0dh error mess2 db 0ah 0dh enter k will to show mess3 db 0ah 0dh enter q will to close i db dseg ends cseg segment assume cs CSEG ds DSEG ss SSEG start mov ax dseg mov ds ax lea dx mess mov ah 09 int 21h lea dx mess2 Error 返回 dos 结束 mov ah 09 int 21h lea dx mess3 mov ah 09 int 21h main xor dx dx 初始化 dx 0 mov ah 07h int 21h cmp al q je aend zhongzhuan 中转作用 cmp al k je l11 cmp al 0 je mk zhongzhuan cmp al 0 jl mk zhongzhuan cmp al 9 jg mk sub al 31h mov dx al mov i 8h jmp l1 mk zhongzhuan jmp mk aend zhongzhuan jmp aend l11 mov dx 0 mov i 0 L1 call crlf 回车换行 add i 1h cmp i 10 je EXIT inc dl dl mov bl 1 里层循环 bl 每次从 1 开始 直到和 dl 相等为止 L2 push dx 输出被乘数 mov ah 02h add dl 30h int 21h mov dl x 输出乘号 x int 21h mov dl bl 输出乘数 add dl 30h int 21h mov dl 输出等号 int 21h pop dx xor ax ax ax 初始化 mov al dl mul bl al 乘以 bl 存放到 ax mov cl 10 除数为 10 and cx 0fh div cl ax 除以 10 其中 ah 存放余数 al 存放商 push bx 以下为输出最终结果代码 push 为保护现场 push dx push ax pop dx dx 赋值 ax mov ah 02h mov dl al add dl 30h int 21h 输出 al mov dl dh add dl 30h int 21h 输出 ah pop dx pop bx push dx mov ah 02h mov dl int 21h pop dx cmp bl dl bl dx 时跳出循环 je L1 inc bl loop L2 mk lea dx mess1 mov ah 09 int 21h jmp aend aend 按任意键退出 mov ah 1 int 21h mov ax 4c00h 程序结束 返回到操作系统系统 int 21h exit jmp main crlf proc 回车换行过程 push dx mov ah 02h mov dl 0ah int 21h mov ah 02h mov dl 0dh int 21h pop dx ret crlf endp CSEG ENDS SSEG SEGMENT PARA STACK stack dw 100h dup 0 初始化堆栈大小为 100 SSEG ENDS DSEG SEGMENT 数据段 在此处添加程序所需的 DSEG ENDS END start 三 调试分析 开始执行会有提示输入 1 7 字符 和输入 q 结束 输入 k 显示 整个乘法表 如图 执行后的提示 按 1 9 的效果 按 k 的效果 四 课程设计总结四 课程设计总结 通过本次汇编课程设计 我深刻感受到了汇编语言在程序运行效率 以及 时间 空间上的优越性 对汇编中常用的寄存器有了一定的了解 同时对程序设计的基本步骤有了一定的了解 此次编程对编程知识了解太 少 动手能力不够强 以后在程序的调试过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论