- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
输出九九乘法表程序设计(附源代码)
Rabbit 徐
摘 要: 本程序主要完成一个输出九九乘法表的程序,主程序实现九九乘法表的输出。程序输出界面为阶梯型,程序设计中主要应用了条件转移指令判断,通过更改字符对应的ASII码达到乘法字符输出。
关键字: 汇编;程序;九九乘法表;阶梯行输出
九九乘法表在生活应用非常广泛,本程序利用汇编语言针根据平时生活中的需要对九九乘法表输出。
需求分析
在日常生活中,我们经常需要使用到九九乘法口诀,以达到一些计算目的。因此编写一个输出九九乘法表程序能够帮助许多学生学习此口诀。而且本程序通过汇编语言实现,汇编语言具有许多其他语言不可替代的优点,其目标程序占用内存空间少,运行速度快,在一些硬件配置较差的机器上也能大显身手。
概要设计
(一)数据类型
程序中主要用了byte型变量,以及cs,ds,ax,bx寄存器。将提示信息存储在byte型变量数组中,然后将偏移地址存储在ax寄存器中,以用于输出信息。用bl暂存乘数,用bh暂存被乘数。
(二)主要类型
程序中主要用byte型变量存储提示信息,用bl寄存器存放乘数,bh寄存器存放被乘数,进行乘法运算。
(三)主要流程
详细设计
本程序首先是程序代码段开始code segment用main proc far使程序模块化,子程序和调用程序不在同一段,方便数据调用。使各寄存器入栈,初始化,并使用乘法调整指令,将各种字符转换为ASCII码值,方便输出。利用JNA判断,实现判断循环功能。程序的具体代码如下:
输出九九乘法表程序设计
code segment;数据段开始
main proc far;子程序调用时使用的参数
assume cs:code;设定数据放入cs寄存器
push ds;DS寄存器入栈
mov ax,0;
push ax;ax寄存器入栈
mov bl,1;乘数赋值为1
lop2: mov bh,1;被乘数赋值为1
lop1: mov al,bh;被乘数存放如al寄存器当中
mul bl; 将bl与bh相乘 结果送到ax中
aam ;
add bh,30h ;变为ASCII的值
add bl,30h
mov cx,ax
mov dl,bh ;
mov ah,2
int 21h
mov dl,* ;显示乘号
mov ah,2
int 21h
mov dl,bl ;显示乘数
mov ah,2
int 21h
mov dl,= ;显示等号
mov ah,2
int 21h
cmp ch,0 ;查看高位有没有值
je tu;等于转移
add ch,30h ;若有则显示
mov dl,ch
mov ah,2
int 21h
tu:add cl,30h ;否则显示低位
mov dl,cl
mov ah,2
int 21h
mov dl, ;显示空格
mov ah,2
int 21h
sub bh,30h ;将ASCII还原为BCD数
sub bl,30h
inc bh ;将被乘数加一
cmp bh,bl ;比较看是不是要换行
jna lop1;
mov dl,0ah ;换行与置首位显示
mov ah,2
int 21h
mov dl,0dh;置于首位置并显示
mov ah,2
int 21h
inc bl;否则乘数加一
cmp bl,9;比较乘数与9的大小,是不是要结束
jna lop2
mov ah,4ch ;返回dos
int 21h
main endp
code ends
end main
调试分析
例如,输入程序名无错误,即可输出
测试结果示例
首先在模拟dos环境进入程序,测试结果如下图:
心得体会
通过本次汇编课程设计,我深刻感受到了汇编语言在程序运行效率,以及时间、空间上的优越性。对汇编中常用的寄存器有了一定的了解,了解了一些子程序调用时需使用的参数如main proc far和main proc near等。同时对程序设计的基本步骤有了一定的了解,此次编程对编程知识了解太少,动手能力不够强,以后在程序的调试过程在不断完善功能,使程序功能更强大,能够处理更多的错误,处理更多的异常。本次课程设计,我感受到编程成功带来的成就感,也感受到的汇编语言的特点。
参考文献
[1] 钱晓捷.微机原理与接口技术,基于IA-32处理器和32位汇编语言[M].2008年1月:30-100
[2] 陈涛.16/32位微机原理,汇编语言及接口技术[M]. 2008年6月:56-70
[3] 白中英.计算机组成原理[M].2008年1月:45-53
[4] 张雪兰.汇编语言程序设计:从DOS到Windows[M].2006年10月:101-120
[5] 王爽. 汇编语言[M]. 2008年3月:135-140
显示1*1=1
是
高于
不高于
返回DO
您可能关注的文档
- 2012年1月全国自考Java语言程序设计(一)试题与答案.docx
- C++ 引用的作用及用法.doc
- 软启动器原理要领.doc
- 第七章 VC++ 之vector使用方法.doc
- 如何发规范邮件教材.doc
- 第六章 unix操作基本命令.doc
- 浅析社会形态变革和会计演进研究1.doc
- 日语100句 常用日语口语100句 附发音解读.doc
- C++中Static作用及使用方法.doc
- 认知无线电体系结构解读.doc
- Unit 6 Get Close to Nauture Lesson 22 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 23 -课件-2025-2026学年度北京版英语四年级上册.pptx
- 2025食品饮料行业AI转型白皮书-2025食品饮料行业数智化转型领先实践.pdf
- Unit 7 Be Together Lesson 24 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 25 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 26 -课件-2025-2026学年度北京版英语四年级上册.pptx
- 2025年广州体育职业技术学院单招职业倾向性考试题库完美版.docx
- 软件公司员工考勤异常处理.doc
- 2025年土地登记代理人之土地登记相关法律知识题库500道及完整答案【有一套】.docx
- 2025年四平职业大学单招职业适应性考试题库含答案.docx
最近下载
- 深入贯彻中央八项规定精神学习教育知识测试题库(含答案)_可搜索.pdf VIP
- 飞行控制系统(FCS)系列:Honeywell Primus Epic_(5).自动飞行控制功能.docx VIP
- 瘦终端thinos安装使用手册.pdf VIP
- 飞行控制系统(FCS)系列:Honeywell Primus Epic_(8).飞行仪表显示与界面.docx VIP
- 施工升降机拆除作业安全技术交底完整版.doc VIP
- 《脑淀粉样血管病》课件 .ppt VIP
- 飞行控制系统(FCS)系列:Honeywell Primus Epic_(12).安全与合规性要求.docx VIP
- 雕塑艺术行业发展预测分析.docx
- 新员工三级安全培训考试试题(含答案).docx VIP
- 高中新教材历史选择性必修一课件单元整合.pptx VIP
文档评论(0)