用c55汇编语言写一个九九乘法表,汇编实现九九乘法表输出.doc

目 录

概述 ………………………………………………………… 3

一 设计内容与要求 ……………………………………… 3

二 设计思想………………………………………………… 3

三 工作原理………………………………………………… 3

四 程序流程图……………………………………………… 4

五、程序运行结果截图……………………………………… 5

六 程序源代码 …………………………………………… 5

七 设计过程中遇到的问题及解决方法 ………………… 8

八 设计心得 ……………………………………………… 8

九 结束语 ……………………………………………… 9

十 参考文献 ……………………………………………… 9

九九乘法表输出

摘 要:

九九乘法表输出是应用masm.exe 、link.exe、debug.exe等汇编语言软件进行编译链接及执行目的程序的方法来实现。并且认识和利用DOS系统下的21h函数的02功能号来进行单个字符的输出,程序设计的过程中用到循环和子函数的思想。模块化的程序设计思想,有利于源代码代码的编写,错误的查找和修改,同时可以分步来调试程序,减少工作量,乘法表的输出没有乘数和被乘数,只有乘积的结果输出。

关键词:

汇编语言程序设计 、微机原理 、 九九乘法表 、dos中断系统

导入语

设计要求

(一)创建文本文件,编写源代码,把文件保存在有masm.exe link.exe等汇编软件的 文件夹下,文件的后缀名改为.asm,比如(九九乘法表输出.asm)。

(二)开启电脑,在“开始”—“运行”输入“cmd”命令进入DOS的字符操作界面,编译链接程序代码,查看源程序是否有错误,有错误则加以修改。

(三)程序编译链接没有错误的情况下,执行目标程序,查看结果的输出情况,并用debug命令查看内存的变化。

(四)按要求撰写设计报告。

二、设计思想

九九乘法表输出程序主要用到一个嵌套循环,和两个过程,外层循环用bl保存并记录,外循环每执行一次,bl的值加一。内循环用bh保存并记录,如果bh的值小于bl的值则执行内循环,内循环中每盒bl比较一次,成立则值加一不成立则转到换行子函数执行,同时也比较外循环是否继续满足条件执行,即比较bl的值是否小于10,小于就执行外循环,否则就结束程序。

设计dis子函数,把内存中的16进制数转换成10进制,设计的disp子函数是把十进制转化成ASCLL码,并输出乘积,这样得到的显示的结果就是我们看到的10进制数。

子函数output_ctl的功能是换行,当内循环变量bh的值大于外循环值bl时,调用这个函数,使得输出的结果风有序,输出的结果更容易体现嵌套循环。

三、工作原理

九九乘法表输出是简单的乘法,实现了1—9之间的数字相互相乘,并且把结果输出,利用masm.exe 、link.exe debug.exe等汇编语言软件。设计算法编写源代码,设计一个循环结构来循环相乘,直到完成9*9,比较退出程序。同时还设计到数数制的转换问题,内存中的数据是16进制,而我们习惯看到的是10进制数,通过16进制转换成10进制,在转成通用ascll码输出显示,同时还用到DOS的中断调用。

四、程序流程图

N

Y

Y

N

Y

N

五、程序运行结果截图

六、程序源代码

data segment

table dw 81 dup(0)

data ends

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

mov di,offset table ;di指向table的首地址00h

mov bl,1 ;外循环值

mul_1:

mov bh,1 ;内循环值

mul_2:

push cx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值