微机原理课设Word文件下载.docx

上传人:b****6 文档编号:18948481 上传时间:2023-01-02 格式:DOCX 页数:12 大小:106.16KB
下载 相关 举报
微机原理课设Word文件下载.docx_第1页
第1页 / 共12页
微机原理课设Word文件下载.docx_第2页
第2页 / 共12页
微机原理课设Word文件下载.docx_第3页
第3页 / 共12页
微机原理课设Word文件下载.docx_第4页
第4页 / 共12页
微机原理课设Word文件下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理课设Word文件下载.docx

《微机原理课设Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理课设Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理课设Word文件下载.docx

目录

一、设计目的----------------------------------------1

二、设计任务与要求----------------------------------1

三、设计内容----------------------------------------2

四、实施效果----------------------------------------11

五、设计体会----------------------------------------11

六、参考资料----------------------------------------12

一、设计目的:

1、掌握汇编语言,会利用汇编语言编写一定功能的程序;

2、熟悉DOS环境以及在DOS下会调试编写好的汇编程序;

3、熟悉常用的DOS功能;

4、小组合作完成设计题目。

二、设计任务与要求:

1、设计加法练习程序演示程序。

2、程序设计基本要求:

1)菜单

内容包括:

①随机输入两个百位数内相加;

②输入结果能判断显示结果是否正确;

③退出。

2)两个加数显示

按照课程设计要求,两个加数是自由输入的,随机的。

3)结果显示

当输入两个加数的和时:

ⅰ正确输入提示正确,按R进行下一题;

ⅱ错误输入提示错误,并输出正确,按R进行下一题。

4)按Q退出程序。

3、完成软件的技术要求。

4、程序设计的流程图。

5、你自己对小组完成设计题目所做的贡献。

在课程设计中我负责输入随机数字显示这部分程序的编写

三、设计内容:

1、使用的DOS功能:

1)显示字符串MOVAH,09H

INT21H;

入口参数DS:

DX=缓冲区

2)键盘输入一个字符MOVAH,01H

AL=输入的字符

3)终止当前程序并返回调用程序MOVAH,4CH

AL=退出码

4)输入字符串MOVAH,0AH

2、使用的BIOS功能:

1)设置光标位置,出口参数DH=当前字符行号、DL=当前字符列号、CH=光标起始栅线:

MOVAX,03H;

INT10H

2)MOVAL,0AH;

在光标位置显示字符

INT10H

3)MOVAH,0;

从键盘读字符

INT16H

3、使用工具和软件:

计算机和MASM汇编软件

4、流程图:

5、程序与分析:

DATASEGMENT

SUMDB20

DB20DUP(0)

SUM1DB20;

定义人为计算的空间

DB?

DB20DUP(?

SUM2DB20

DB20DUP(0);

定义和的存储空间

BUFDB'

YOUARETURE$'

BUF1DB'

YOUAREwrong$'

BUF2DB'

tips:

dangchulaiyigeshuhouqingansuiyijanchuxiayigeshu,goodyouluck$'

DATAENDS

STACKSEGMENT

DB30DUP(0)

STACKENDS;

%堆栈定义空间

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVDX,OFFSETBUF2;

%buf2存于dx中

MOVAH,9

INT21H;

%调用九号功能;

Prot1:

MOVDI,OFFSETSUM

CALLHUANHANG;

CALLsuixian;

%调用子程序

MOVDL,'

+'

MOVAH,2;

%调用2好功能显示字符串

INT21H

MOVAH,8

INT21H;

%可以利用键盘输入的空隙来改变随机数

ANDAH,00H;

%清零

MOVAX,9999

yanshi:

ADCAX,1;

%带进位相加

JNZyanshi

CALLsuixian;

HUIXIANSHITONGYANGDESHU

='

%显示字符串

INT21H

MOVDX,OFFSETSUM1;

开始接受键盘的字符

MOVAH,0AH%调用十号功能,将键盘输入的字符串写到内存缓冲区;

INT21H

DECDI;

%减一

MOVAL,[DI]

INCDI;

%加一

ADDAL,[DI];

%取加

DAA;

%加法调整

ADCAH,00H;

INCDI;

下一个单元

MOV[DI],AL;

AL放的是低位

更高字节的数

MOV[DI],AH;

结果存起来,用于比较高位放的是DI比较高的zijie

%换行

MOVSI,OFFSETSUM1;

开始比较

INCSI

INCSI;

%SI加2

MOVAL,[DI];

最高位的DI

CMPAL,01H;

JNZLIANGWEI;

%两位

ADDAL,30H;

%变为ASCII

MOVBL,[SI];

首个放在SUM1+2中

DECDI;

回到低位

CMPAL,BL

JNZKAISHI:

%开始

INCSI

LIANGWEI:

%两位

DECDI

JMPXIA;

%跳转

A:

JMPProt1

XIA:

MOVAL,[DI]

MOVCL,4

SHRAL,CL

ADDAL,30H;

%高四位dl值转ascii

CMPAL,BL

JNZKAISHI;

%开始

ANDAL,0FH;

%取dl低四位

%转ascii

MOVBL,[SI]

%开始

MOVDX,OFFSETBUF;

%dx取buf

MOVAH,9;

%调用九号功能缓冲区字符串显示

JIAN:

MOVAH,8;

调用键盘

CMPAL,'

Q'

JZSTOP1

q'

R'

JZA

r'

JZA

KAISHI:

CALLHUANHANG;

换行显示错的

MOVDX,OFFSETBUF1

POPDX

CALLJIEGUO;

%结果

JMPJIAN;

键盘

STOP1:

JMPSTOP

suixianPROC;

随机显示函数

CALLRAND;

开始调用随机数

MOV[DI],BL;

随机数放到sum单元

MOVAL,BL

%DI知道减一

MOVCL,4

SHRBL,CL;

显示随机数最高位

ANDBL,0FH

ORBL,30H

PUSHAX

MOVDL,BL

%调用2号功能将dl里字符串显示出来

POPAX

ANDAL,0FH;

%显示随机数最低位

ORAL,30H

MOVDL,AL

MOVAH,2

RET

suixianENDP

JIEGUOPROC;

%显示结果

显示高字节的数

MOVAH,[DI];

高字节的给AH

CMPAH,01H;

%与一比较

JNZProt2

MOVAH,[DI]

ADDAH,30H

MOVDL,AH

Prot2:

%不等

MOVBL,[DI]

PUSHBX

ADDAL,30H

POPBX

ADDBL,30H

JIEGUOENDP

RANDPROC

PUSHCX

PUSHDX

PUSHAX

MOVAH,0

INT1AH;

%时钟入口当前值为0

MOVAX,DX;

ANDAH,3

MOVDL,100

DIVDL

MOVCL,8

SHRAX,CL

MOVCH,10

DIVCH

SHLAL,CL

ORAH,AL

MOVBL,AH;

组合BCD码已经产生,放在BL当中,AH改成了AL

POPCX

RANDENDP

HUANHANGPROC

MOVDL,0DH

MOVAH,2;

换行输出

MOVDL,0AH

MOVAH,2

RET

HUANHANGENDP

STOP:

MOVAH,4CH;

%结束

CODEENDS

ENDSTART

四、实施效果

(1)当程序运行时,随机两个数相加。

(2)输入错误结果时显示界面。

(3)输入正确时显示界面。

(4)当按住R进行下一题的显示。

(5)输入正确结果显示。

(6)按Q退出时界面。

五、设计体会

通过对这程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。

通过查阅资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。

在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时,当我看书查资料不能解决时,这是去找同学讨论一下,收获很大,可以使很多问题迎刃而解,直到问题最终解决。

不可否认,本程序存在不少缺点和不足,但通过这次课程设计的却找出了自己在学习上的不足,对以后的工作也有指导作用。

我相信在以后的学习中会克服这些不足,达到熟练掌握汇编语言的目的。

这次课程设计受益非浅,学到了不少知识,同时也认识到自身的不足,需要加强自身训练,学以致用,学会自我总结,吸取教训,积累经验,在学习和实践中来不断的提升自己。

六、参考资料

张雪兰、谭毓安、李元章:

《汇编语言程序设计——从DOS到windows》

朱金钧、麻新旗:

《微型计算机原理及应用技术》机械工业出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1