计算机组成原理与汇编实验报告Word下载.docx

上传人:b****3 文档编号:7830113 上传时间:2023-05-09 格式:DOCX 页数:23 大小:63.97KB
下载 相关 举报
计算机组成原理与汇编实验报告Word下载.docx_第1页
第1页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第2页
第2页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第3页
第3页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第4页
第4页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第5页
第5页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第6页
第6页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第7页
第7页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第8页
第8页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第9页
第9页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第10页
第10页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第11页
第11页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第12页
第12页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第13页
第13页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第14页
第14页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第15页
第15页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第16页
第16页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第17页
第17页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第18页
第18页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第19页
第19页 / 共23页
计算机组成原理与汇编实验报告Word下载.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理与汇编实验报告Word下载.docx

《计算机组成原理与汇编实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理与汇编实验报告Word下载.docx(23页珍藏版)》请在冰点文库上搜索。

计算机组成原理与汇编实验报告Word下载.docx

00001001

00100000

00001011

00110000

01000000

00000001

本实验设计机器指令程序如下:

地址(二进制)

内容(二进制)

助记符

说明

00000000

INR0

“INPUTDEVICE”->

R0

00000001

00010000

ADD[0AH],R0

R0+[0AH]->

00000010

00001010

00000011

00100000

STAR0,[0BH]

R0->

[0BH]

00000100

00001011

00000101

00110000

OUT[0BH]

[0BH]->

LED

00000110

00000111

01000000

JMP00H

00H->

PC

00001000

运算数据

自定

求和结果

4)这里做的是个加法运算,第一个加数已经存入到内存的00001010单元中,第二个加数是需要手工输入的。

在实验运行面板中点击“运行”按钮,选择“输入”芯片,设置输入的数据后,双击连接“输入”芯片的单脉冲,这样第二个加数就设置好了。

5)在实验运行面板中双击连续脉冲,模型机便开始工作,观察各个芯片的状态。

或者在模型机调试窗口中(如图2所示)点击“指令执行”选项卡,在模型机调试窗口中点击“下一时钟”,模型机机执行到下一个时钟,点击“下一微指令”,模型机机执行到下一个微指令,点击“下一指令”,模型机机执行到下一条指令。

观察各个芯片的状态,思考模型机的运行原理。

四、课程设计的要求

1、根据题目内容,查阅资料。

2、编写课程设计预习报告。

3、编制程序及调试程序。

4、分析总结,写出课程设计报告,报告中应该包含程序功能与使用说明、程序功能实现方法说明、如流程图与算法参数说明等内容,设计经验体会总结,源程序清单。

5、实验过程由指导老师监督,听从老师安排和督导。

6、每次任务完成后由指导老师逐个的检查实验内容、结果并评分,不符合要求的重写

五、实验详细设计

1)统计文件中各字母出现的频率

一、实验原理

在程序中,以是否读到ASCII码为0作为字符串末尾结束的标志;

读取文件,并对文件中的字符串进行逻辑判断(不同字母之间各自对应的ASCII码),统计字符数。

二、实验目的

经过该实验知道如何通过编写汇编程序读取文件并且读取文件中内容;

通过分支程序设计来统计字符数,

三、实验设计内容

读取文件代码段:

MOVAX,DATAS

MOVDS,AX;

置数据段寄存器

;

MOVDX,OFFSETFNAME

MOVAX,3D00H;

读打开指定文件

INT21H

JNCOPEN;

打开成功,转OPEN

MOVSI,OFFSETERROR1;

显示打开不成功提示信息

CALLDMESS

JMPOVER

OPEN:

MOVBX,AX;

保存文件代号

GO:

CALLREAD_CHAR;

从文件中读一个字符

JCREAD_ERROR;

如读出错,则转

CMPAL,EOF;

读到文件结束符吗

JZTYPE_OK

CALLPUTCH

JMPGO

将文件内容推入栈中,并输出:

READ_CHARPROC

MOVCX,1

MOVDX,OFFSETBUFFER;

置缓冲区地址

MOVAH,3FH;

置功能调用号

INT21H;

JCR2;

读出错,转

CMPAX,CX;

判断文件是否结束

MOVAL,EOF;

若文件已经结束,置文件结束符

JBR1;

文件确定已经结束,转到

MOVAL,BUFFER;

文件未结束,取所读字符

R1:

CLC

R2:

RET

READ_CHARENDP

;

DMESSPROC

DMESS1:

MOVDL,[SI]

INCSI

ORDL,DL

JZDMESS2

MOVAH,2

JMPDMESS1

DMESS2:

DMESSENDP

PUTCHPROC

PUSHDX

MOVDL,AL

POPDX

文件主体部分(对所读字符ASCII码进行比较判断并统计字符数):

movCL,41H

LEADI,ARRAY

MOVCH,AL

CMPCH,CL;

若IF<

41H(A),OTHERS++

JBOTHER

CMPCH,5AH;

若IF>

5AH(Z),跳转继续比较

JAHIGHER2

H1:

CMPCH,CL

JECHAR;

若IF=41H(A),CHAR[0]++

JALOOP1;

若IF>

41H(A),跳L1比较42H(B)

LOOP1:

INCCL

ADDDI,1

JMPH1

HIGHER2:

movCL,61H

61H(A),OTHERS++

JBOTHER

CMPCH,7AH;

7AH(Z),跳转继续比较

JAOTHER

H2:

若IF=61H(a),CHAR[0]++

JALOOP2;

61H(a),跳L02比较62H(b)

LOOP2:

JMPH2

CHAR:

XORCH,CH

MOVCH,[DI]

INCCH

mov[DI],CH

OTHER:

INCOTHERS;

OTHERS++

比较结束

四、实验截图

2)用递归计算50以内Fibonacci数,以十进制数输出

一、实验目的

通过该实验充分了解递归程序的用法

二、实验内容

循环递归代码段(主要实现递归调用斐波那契函数)

MOVAX,F1;

ax=0

ADDAX,F2;

ax=1

JCEXIT;

若有进位则跳出

MOVBX,F2;

bx=1

MOVF1,BX;

f1=1

MOVF2,AX;

f2=1

CALLOUTPUT;

调用output

MOVDL,'

'

每个数字后的空格

MOVAH,2

INT21H

DECN

JNZLP

EXIT:

MOVAH,4CH

INT21H;

返回DOS

输出斐波那契数:

OUTPUT:

MOVBX,10

MOVCX,0

OL1:

MOVDX,0

DIVBX;

ax=0,dx=1

ADDDL,'

0'

加上30h,使数字3变成字符3

PUSHDX

INCCX;

CX=0,每次加1

CMPAX,0;

比较ax=1和0

JNZOL1

MOVAH,2;

字符输出,要输出的字符已经在dl中

OL2:

POPDX

LOOPOL2

RET

四、实验结果

3)虚拟平台的模型机实验设计

1、实验目的

1)掌握模型机的基本原理和结构

2)掌握机器指令与微程序的对应关系;

3)掌握机器指令的执行流程;

2、实验设备

74LS181芯片两片,memory6116一片,微程序控制存储器芯片一片,编译器芯片一片,八位同步计数器芯片一片,ALU_G芯片一片,PC_G芯片一片,74LS273芯片若干,输入,输出芯片各一片,选择器芯片若干,连接器芯片若干,灯泡若干,开关若干等。

3、环境

组成原理虚拟实验室采用的是B/S架构,在客户端电脑上的浏览器地址栏中输入正确的地址进行访问即可。

网址为

4、实验原理

图1模型机示意图

图1中所示模型机包括运算器、存储器、微控器、输入设备、输出设备以及寄存器。

这些部件的动作控制信号都有微控器根据微指令产生。

需要特别说明的是由机器指令构成的程序存放在存储器中,而每条机器指令对应的微程序存储在微控器中的存储器中。

模型机详细原理见附件。

5、实验内容

00000001

图2模型机调试窗口

6、具体过程实现

(1)控制器把PC中的指令地址送往地址寄存器AR,并发出读命令。

存储器按给定的地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。

(2)指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。

(3)当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往地址寄存器AR,然后向存储器发出读命令,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。

(4)当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器AR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令,MDR中的数据即被写入由MAR指示地址的存储单元中。

(5)一条指令执行完毕后,控制器就要接着执行下一条指令。

为了把下一条指令从存储器中取出,通常控制器把PC的内容加上一个数值,形成下一条指令的地址,但在遇到“转移”指令时,控制器则把“转移地址”送入PC。

控制器不断重复上述过程的

(1)到(5),每重复一次,就执行了一条指令,直到整个程序执行完毕

7、设计结果截图

虚拟实验室连线截图:

执行第一个指令:

执行第二个指令:

执行第三个指令:

执行第四个指令:

.

执行第五个指令:

执行第六个指令:

六、使用说明

两个程序使用汇编语言在“MasmforWindows集成实验环境”下编写,在MS-DOS模拟平台下运行。

使用情况如详细设计所述。

七、总结与心得体会

为期两周的计算机组成原理与汇编课程设计就结束了,在这段时间呢,完成了诸多实验题目,解决了许多问题,包括计算机组成与那里和汇编语言。

在充实而忙碌的课程设计同时,最重要的还是巩固并进一步学习了像组成原理和汇编这样更接近低层的软硬件知识,而不再是仅仅局限于像C、C++或是Java这样的高级语言开发。

理论学习只是一个学习初期阶段,只有经过了亲身实践操作,才能叫是真正掌握了知识技能。

就像是这个学期的课程设计初期一样,初次开始汇编课设,我对汇编并不是十分了解,只是简简单单懂得几句语言而已或者说只会读懂程序,做几个题而已。

至于如何将它们拼凑到一起组成一个实现一定功能的完整程序,成了我面前巨大的障碍,所以刚开始时,我也是束手无策,毫无头绪。

但是通过对教材的复习,查阅相关文献和网络资料,我慢慢懂得并熟悉了这个过程。

课程设计完了之后,我才真切意识到,低级的东西并不十分简单,恰恰相反,没有艰辛的付出,没有刻苦的努力,任谁也永远不能攻克它。

八、参考文献

[1].PatricJuola.《计算机组成与汇编语言原理》.机械工业出版社

[2].沈美明.《IBM-PC汇编语言程序设计》.清华大学出版社

[3].唐朔飞.《计算机组成原理》.高等教育出版社

九、附录

1、字符统计.asm:

DATASSEGMENT

FNAMEDB'

'

0;

文件名

ERROR1DB'

Filenotfound'

07H,0;

提示信息

ERROR2DB'

Readingerror'

07H,0

STRING1DB'

Numberof$'

各类字符提示信息

STRING2DB'

:

$'

ARRAYDB26DUP(0);

字母

OTHERSDB0;

其他

BUFFERDB

EOFDB035;

以#结束;

1字节的缓冲区、

DATASENDS

代码段

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

READ_ERROR:

MOVSI,OFFSETERROR2

TYPE_OK:

MOVAH,3EH

CALLENDLINE

CALLSHOW

OVER:

MOVAH,07;

为了显示

MOVAH,4CH

判文件是否结束

设文件已经结束,置文件结束符

文件确已结束,转

movCL,41H

CMPCH,CL;

JALOOP1;

CMPCH,7AH;

RET

PUTCHENDP

SHOWPROC

LEASI,ARRAY

MOVDI,41H

LOOP3:

LEADX,STRING1;

字符串的输出Numberof

MOVAH,09H

MOVDX,DI

MOVAH,02H

LEADX,STRING2;

字符串的输出

XORAX,AX

MOVAl,[SI];

将统计的数字送AX

ADDSI,1

CALLDISPLAY;

调用输出两位数字的子程序

INCDI

CMPDI,5BH

JBLOOP3

SHOWENDP

ENDLINEPROCNEAR;

控制输出格式,输出回车换行子程序

MOVAH,02H

MOVDL,0AH

输出换行符

MOVDL,0DH

输出回车符

ENDLINEENDP

DISPLAYPROCNEAR;

输出两位数字的子程序(输出两位数字为十进制)

MOVBL,10

DIVBL;

AX/BL,AL=商,AH=余数

PUSHAX;

保存AX中的信息

ADDDL,30H

输出十位数

POPAX;

出栈送AX

MOVDL,AH

输出个位数

DISPLAYENDP

CODESENDS

ENDSTART

2、斐波那契数(小于50).asm:

DATASSEGMENT

M1DB13,10,'

FibonaccinumberBelow50is:

NDW8

F1DW0

F2DW1

DATASENDS

START:

MOVAX,DATAS

MOVDS,AX

LEADX,M1

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2