- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术四则运算
题 目: 四则运算
班 级:
姓 名:
学 号:
指导老师:
日 期: 年 月 日
目录
设计目的…………………………………………………… 1
概要设计.........................................2
2.1 系统总体分析……………………………………………2
2.2 主模块框图及说明……………………………………… 3
3、详细设计……………………………………………………… 4
3.1 主模块及子模块概述…………………………………… 4
3.2 各模块详细设计………………………………………… 4
4、程序调试……………………………………………………… 9
4.1 运行界面分析………………………………………………9
4.2 调试过程与分析……………………………………………11
5、心得体会……………………………………………………… 12
5.1 设计体会……………………………………………………12
5.2 系统改进……………………………………………………12
附录…………………………………………………………………14
参考文献……………………………………………………………40
设计目的
进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平,对自身的学习从理论到实践的应用,加深对汇编语言的认识。
概要设计
2.1 系统总体分析
1. 可以任意输入十进制数进行运算。
2. 进行的运算是加、减、乘和除的独立运算。
3.运算时,当输入十进制数时,首先默认的是加法运算,通过回车得到加法运算结果。若要进行同样数的减法,乘法和除法的运算可用鼠标点击sub,mul和div进行运算。若不想则通过reload重新输入。
4. 程序可以重复进行运算,这就要求每次运算后置零数据存储区,通过reload清零。
5. 由于运算的结果位数不确定,要设计一个能显示结果的输出程序,通过窗口实现。
2.2 主模块框图及说明
详细设计
3.1 主模块及子模块概述
主模块主要是四则运算部分,就是进行运算的模块,包括加减乘除为实现运算而进行的模块,程序的中心部分。其他子模块包括用鼠标选择的何种运算的模块,通过鼠标选择加法运算或者其他的运算等等。以及窗口模块,主要是进行数据的显示。还有就是菜单模块,就是鼠标选择运算的模块,通过选择加减或者乘除来实现运算。以及鼠标引入模块,实现鼠标的选择操作。输出模块和清零数据重新运算模块。
3.2 各模块详细设计
3.2.1主要是数据的初始化
data segment
Notice db ‘(Notice: 0=Number=32767)’,’$’
String1 db ‘Number1:’,’$’
String2 db ‘Number2:’,’$’
String3 db ‘Finally:’,’$’
Menu1 db ‘Add’,’$’
Menu2 db ‘Sub’,’$’
Menu3 db ‘Mul’,’$’
Menu4 db ‘Div’,’$’
Menu5 db ‘Reload’,’$’
ErrorString db ‘Error’,0ah,0dh,’$’
Number1 dw 0
Number2 dw 0
data ends
stack segment
dw 512 dup(0)
stack ends
code segment
;《主函数》
3.2.2鼠标的初始化部分
Main proc far
start:
mov ax, data
mov ds, ax
mov es, ax
call ShowMainWindow
call MouseInit
cmp ax,0ffffh
je success
mov dx,offset ErrorString
mov ah,9
int 21h
jmp exitSystem
success:;鼠标初始化成功后进行数据的正常运行。
3.2.3窗口的初始化
ShowMainWindow proc near
push ax
push bx
push cx
push dx
mov ax,01h;初始化窗口模式
int 10h
mov bh,8fh
xor cx,cx
mov dx,1827h
call Dr
文档评论(0)