计算机组成原理亮.docx

上传人:b****6 文档编号:8715347 上传时间:2023-05-14 格式:DOCX 页数:16 大小:578.42KB
下载 相关 举报
计算机组成原理亮.docx_第1页
第1页 / 共16页
计算机组成原理亮.docx_第2页
第2页 / 共16页
计算机组成原理亮.docx_第3页
第3页 / 共16页
计算机组成原理亮.docx_第4页
第4页 / 共16页
计算机组成原理亮.docx_第5页
第5页 / 共16页
计算机组成原理亮.docx_第6页
第6页 / 共16页
计算机组成原理亮.docx_第7页
第7页 / 共16页
计算机组成原理亮.docx_第8页
第8页 / 共16页
计算机组成原理亮.docx_第9页
第9页 / 共16页
计算机组成原理亮.docx_第10页
第10页 / 共16页
计算机组成原理亮.docx_第11页
第11页 / 共16页
计算机组成原理亮.docx_第12页
第12页 / 共16页
计算机组成原理亮.docx_第13页
第13页 / 共16页
计算机组成原理亮.docx_第14页
第14页 / 共16页
计算机组成原理亮.docx_第15页
第15页 / 共16页
计算机组成原理亮.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理亮.docx

《计算机组成原理亮.docx》由会员分享,可在线阅读,更多相关《计算机组成原理亮.docx(16页珍藏版)》请在冰点文库上搜索。

计算机组成原理亮.docx

计算机组成原理亮

`

课程设计报告

 

计算机组成与系统结构课程设计

学号:

201140030226

学生姓名刘小亮

专业:

计算机应用技术

班级1140302

指导教师王强

2012年6月26日

实验题目

1采用模型机指令系统编写程序完成12+22+32+42+52,将结果存放在指定的寄存器中。

2编程将AB和CD两个数的各位相互组合成不同的数(尽量多),存放到存储器中。

(如AC、AD、BC、CA、CB等)

3给R0、R1、R2、R3各赋一初值,然后对它们进行一系列移位循环操作,观察各寄存器的变化情况。

4给R0、R1、R2、R3各赋一初值,然后对它们与相应的存储器单元进行一系列数据传输操作,观察各寄存器以及相应存储器单元的变化情况。

5给R0、R1、R2、R3各赋一初值,然后对它们进行一系列可以改变状态位的操作,进而执行一系列转移类指令,观察程序执行流程。

实验目的

1、熟悉本模型机的指令系统,理解各条指令的功能和用途。

2、打开实验例程,熟悉软件操作,根据程序执行流程观察寄存器和存储器单元的变化情况,连接串行口连通模型机,观察模型机中数据流向和程序执行的同步情况。

3、利用本模型机的指令系统,自行编制一些小的程序,调试并运行。

实验时间

2012年6月24日到2012年6月26日

实验装置

硬件装置

实验装置是为计算机组成原理的工作流程专门设计的。

它能够让学生通过手动和自动的操作弄清和掌握计算机工作的基本原理。

实验模块由手动实验部分和程序实验部分组成。

手动实验主要完成计算机各个组成部分的原理实验,包括数据流程、运算器执行、存储器和外设之间的数据交换等部分,通过组合变化各个输入信号,进一步理解计算机各个部件的执行过程和工作原理,手动实验在本指导书的前面部分已经作了详细介绍。

程序实验主要完成指令系统中每条指令的具体执行,包括取指、译码、执行过程中对应微指令的工作流程,并且还能观察各类指令执行的结果。

操作过程在计算机上进行,可实现单拍、单步和连续执行,每个执行过程可以在计算机上显示,其执行结果和过程也可同步在实验板上显示,进一步观察对应指令在执行过程中的每个控制信号和数据流向。

程序实验主要包括:

数据传输程序

各种运算程序

控制转移程序

数码转换程序

软件装置

软件系统由编辑程序、编译程序、程序执行、调式程序几个部分组成,完成由源程序输入、语法分析排错、指令汇编、应用程序调试的全过程。

软件系统采用集成化的窗口,各种软件功能分类设置在程序中,可以根据程序实验过程的需要随意组合使用。

软件系统的主窗口界面如下图所示:

图1软件系统主窗口界面

软件使用说明

界面说明

图2界面说明标识

软件系统采用集成化的窗口,各种软件功能分类设置在程序中,软件系统的主窗口界面如上图所示,现将界面各组成部位说明如下:

1——寄存器在程序执行过程中,观察各寄存器的值

2——存储器在程序执行过程中,观察各存储器的值

3——信息显示当前指令对应的微程序

4——编辑源程序从汇编状态或运行状态返回到编辑源程序状态

5——汇编对编辑好的源程序进行汇编连接

6——程序复位让程序指针指向程序的第一条指令

7——运行运行已通过汇编连接的程序

8——停止停止程序的运行

9——单步单步运行程序(逐条指令执行)

10——单拍单拍运行程序(逐条微指令执行)

11——设置/取消断点设置/取消断点,调试程序时用

12——连接/断开串行口连接/断开串行口,连通/断开程序和模型机通信

13——源程序编辑区在该区域内编辑源程序

14——寄存器/存储器显示区显示各寄存器/存储器的值

15——微程序显示区显示当前指令对应的微程序

(二)编辑程序

编辑源程序采用文本的编辑方式,按照给定的模型机指令系统,用汇编语言格式编辑程序,对所编辑的程序进行语法分析,纠错处理。

编辑程序主要实现如下的操作流程:

图3编辑源程序流程

图4新建编辑窗口

(三)汇编程序

汇编程序先对源程序进行语法检查,排除源程序中的语法错误,再将源程序编译为机器码,在调试的窗口中显示指令行、机器码、助记符等信息。

图5汇编出错提示信息

图6内存地址、助记符和机器码

(四)运行方式

程序的运行有单拍、单步和连续执行三种方式。

单拍方式是逐条执行微程序中的微指令,屏幕显示信息(微指令、积存器和存储器状态)与实验板显示信息(微指令对应的数据流向以及相应的控制信号)互相配合,可以将单拍微指令执行的结果从不同角度显示出来,以便观察。

单步方式是一条一条指令执行的过程,每条指令执行后,将内存和寄存器中的变化显示出来。

连续执行将一段程序执行的功能表现出来,在连续执行调试中可以采用设置断点的方法,分模块或分段地进行程序调试。

跟踪调试

程序执行的调试方法可按调试的目的考虑,一般有以下几种情况:

(1)为了掌握一般指令执行过程。

采用单拍和单步,结合实验板观察有关的变化。

图7单拍或单步运行

(2)为观察寄存器的变化。

采用单步和连续执行,打开寄存器窗口观察寄存器变化。

图8观察寄存器变化

(3)为了观察内存的变化。

采用单步和连续执行,打开内存窗口观察内存变化。

图9观察存储器变化

(4)为了调试一段条件转移程序。

可以在不同转移目标点设置断点,观察其转移情况。

图10设置断点

参考指令系统

模型机指令码

1、指令码

一类

 

 

 

 

 

7

6

5

4

3

2

1

0

双寄存器运算

操作码

源寄存器

的寄存器

ADD

ADC

SUB

SBC

 

0

x

x

x

rs

rd

MUL

AND

MUL

MOV

 

 

 

 

 

 

 

 

 

二类

其他指令

7

6

5

4

3

2

1

0

操作码

的寄存器

SHR

SRL

ROL

RCR

 

1

0

0

X

X

X

rd

DEC

INC

PUSH

POP

 

 

 

 

 

 

 

 

三类

寄存器与立即数运算

7

6

5

4

3

2

1

0

操作码

的寄存器

ADD

ADC

SUB

SBC

 

1

0

1

X

X

X

rd

CMP

AND

OR

MOV

 

IMM

四类

传数类指令

7

6

5

4

3

2

1

0

操作码

的寄存器

MOV

MOV

MOV

MOV

 

1

1

0

X

X

X

rd

IN

OUT

 

 

 

(MEM)/((MEM))

 

五类

转移类指令

7

6

5

4

3

2

1

0

操作码

JNZ

JNC

JNE

JNV

DISP

1

1

1

X

X

X

X

X

JZ

JC

JE

JV

ADDR

DISP/ADDR

CALL

JMP

 

JMP

 

 

 

 

 

 

 

 

 

HALT

NOP

 

 

 

 

 

 

 

 

 

 

 

代码

1:

DATASEGMENT

RESULTDW0

s1db0,0,0,0,'$'

DATAENDS

CODESEGMENT

BEGIN:

movax,data

movds,ax

moves,ax

MOVAX,0

MOVBX,0

MOVCX,5

ADDAX,BX

LOOPLP

movcx,4

leasi,s1

l1:

rolax,1

rolax,1

rolax,1

rolax,1

movbx,ax

andbx,000fh

cmpbl,5

jcl2

addbl,5h

jmp5

5:

addbl,5h

l3:

mov[si],bl

incsi

loopl1

leadx,s1

movah,5h

int5h

MOVAH,4CH

INT5H

CODEENDS

ENDBEGIN

2:

INCLUDEYLIB.H

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

START:

MOVBL,10H

MOVCH,15

L0:

CALLCRLF

MOVCL,16

L1:

MOVDL,BL

MOVAH,2

INT21H

MOVDL,20H

MOVAH,2

INT21H

INCBL

DECCL

L11:

JNZL1

DECCH

L00:

JNZL0

CALLCRLF

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

 

Exmp3.asm

MOVR0,#05H

MOVR1,#06H

MOVR2,#07H

MOVR3,#08H

SRRR0

SRLR1

CLRR2

COMR3

INCR2

DECR1

L1:

JMPL1

实验截图

Exmp4.asm

MOVR0,#05H

MOVR1,#06H

MOVR2,#07H

MOVR3,#08H

ST10H,R0

LDR1,10H

ST(11H),R2

LDR3,(11H)

INR0,12H

OUT13H,R2

MOVR3,R1

L1:

JMPL1

实验截图

Exmp5.asm

L4:

MOVR0,#05H

MOVR1,#06H

MOVR2,#0FEH

MOVR3,#08H

CLRR3

JZL1

L2:

CMPR1,#07

JNEL3

L1:

SUBR0,#06H

JCL2

L3:

ADDR2,#05H

JOL4

L5:

JMPL5

实验小结

经过本次课程设计,了解懂通过寄存器和存储器实现一些简单的加减预算,知道了本模型的指令系统,理解各条指令的基本的功能和用途。

了解到计算机组成原理中的基本指令的功能和用途与汇编语言中有点不一样。

在调试代码的过程中由于对汇编使用的比较少还弄出了不少错误,经过自己的修改及向老师同学请教,最终问题还是得以解决。

虽然只有几天的实习但对我来说受益匪浅。

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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