计算机组成原理34.docx

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

计算机组成原理34.docx

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

计算机组成原理34.docx

计算机组成原理34

计算机组成原理(3.4)

课程设计报告

 

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

学号:

201140030224

学生姓名王丹

专业:

计算机应用技术

班级1140302

指导教师王强

2012年6月26日

实验题目

1编写程序将11H、12H、……、1FH等数存入从11H开始到1FH的连续存储空间,然后将这些数按相反的顺序存储到从21H开始到2FH的连续存储空间中。

2采用模型机指令系统编写程序完成1到5的阶乘之和,将结果存放在指定的寄存器中。

3,给R0、R1、R2、R3各赋一初值,然后对它们进行一系列算术/逻辑运算,观察各寄存器的变化情况

4,给R0、R1、R2、R3各赋一初值,然后对它们同立即数进行一系列算术/逻辑运算,观察各寄存器的变化情况。

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

实验目的

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

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

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

实验时间

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

实验地点:

信工楼309

实验装置

硬件装置

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

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

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

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

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

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

程序实验主要包括:

数据传输程序

各种运算程序

控制转移程序

数码转换程序

软件装置

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

图1软件系统主窗口界面

软件使用说明

界面说明

图2界面说明标识

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(二)编辑程序

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

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

图3编辑源程序流程

图4新建编辑窗口

(三)汇编程序

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

图5汇编出错提示信息

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

(四)运行方式

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

单拍方式:

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

单步方式:

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

连续执行:

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

跟踪调试

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

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

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

图7单拍或单步运行

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

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

图8观察寄存器变化

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

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

图9观察存储器变化

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

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

图10设置断点

部分参考指令系统

(一)模型机指令系统

序号

类型

汇编助记符

指令格式

指令

状态位

注释

操作码

第二字节

长度

1

算逻运算一类

ADDRD,RS

0001

RS

RD

 

1

Z,C,E,V,N

RD←(RD)+(RS)

2

ADCRD,RS

0010

RS

RD

 

1

Z,C,E,V,N

RD←(RD)+(RS)+CY

3

SUBRD,RS

0011

RS

RD

 

1

Z,C,E,V,N

RD←(RD)-(RS)

4

SBCRD,RS

0100

RS

RD

 

1

Z,C,E,V,N

RD←(RD)-(RS)-CY

5

MULRD,RS

0101

RS

RD

 

1

Z,C,E,V,N

RD←(RD)*(RS)

6

ANDRD,RS

0110

RS

RD

 

1

Z

RD←(RD)and(RS)

7

ORRD,RS

0111

RS

RD

 

1

Z

RD←(RD)or(RS)

8

 

 

 

 

 

 

 

 

9

算逻运算二类

ADDRD,#IMM

101000

#IMM

RD

#IMM

2

Z,C,E,V,N

RD←(RD)+#IMM

10

ADCRD,#IMM

101001

#IMM

RD

#IMM

2

Z,C,E,V,N

RD←(RD)+#IMM+CY

11

SUBRD,#IMM

101010

#IMM

RD

#IMM

2

Z,C,E,V,N

RD←(RD)-#IMM

12

SBCRD,#IMM

101011

#IMM

RD

#IMM

2

Z,C,E,V,N

RD←(RD)-#IMM-CY

13

CMPRD,#IMM

101100

#IMM

RD

#IMM

2

Z,C,E,V,N

PWS←(RD)-#IMM,比较不改变寄存器

14

ANDRD,#IMM

101101

#IMM

RD

#IMM

2

Z

RD←(RD)AND#IMM

15

ORRD,#IMM

101110

#IMM

RD

#IMM

2

Z

RD←(RD)OR#IMM

16

MOVRD,#IMM

101111

#IMM

RD

#IMM

2

Z

RD<-#IMM

17

 

 

 

 

 

 

 

 

18

移位循环三类

SRRRD

100000

 

RD

 

1

Z,C

右一位,带进位位循环

19

SRLRD

100001

 

RD

 

1

Z,C

左一位,带进位位

20

CLRRD

100010

 

RD

 

1

Z

清零

21

COMRD

100011

 

RD

 

1

Z,C

取反操作

22

INCRD

100100

 

RD

 

1

Z

RD←RD+1

23

DECRD

100101

 

RD

 

1

Z

RD←RD-1

24

 

 

 

 

 

 

 

 

25

 

 

 

 

 

 

 

 

26

传数类指令四类

LDRD,MEM

110000

 

RD

MEM

2

 

直接寻址,RD←MEM

27

STMEM,RS

110010

RS

 

MEM

1

 

直接寻址,MEM←RS

28

LDRD,(MEM)

110001

 

RD

[MEM]

2

 

间接寻址,RD←(MEM)

29

ST(MEM),RS

110011

RS

 

[MEM]

2

 

间接寻址,(MEM)←RS

30

INRD,PORT

110100

 

RD

PORT

2

 

将数据输入接口输入到RD

31

OUTPORT,RS

110101

RS

 

PORT

2

 

将RS数据输出到数据接口

32

MOVRD,RS

110110

 

RD

R0

1

 

寄存器寻址,RD←(R0)

33

 

 

 

 

 

 

 

 

34

转移类指令五类

JNZADDR

11101000

 

 

ADDR

2

 

结果不为零,转移

35

JZADDR

11101001

 

 

ADDR

2

 

结果为零,转移

36

JNCADDR

11101010

 

 

ADDR

2

 

进位不为零,转移

37

JCADDR

11101011

 

 

ADDR

2

 

进位为零,转移

38

JNEADDR

11101100

 

 

ADDR

2

 

不等,转移

39

JEADDR

11101101

 

 

ADDR

2

 

相等,转移

40

JOADDR

11100110

 

 

ADDR

2

 

溢出,转移

41

JNOADDR

11100111

 

 

ADDR

2

 

溢出,转移

42

 

 

 

 

 

 

 

 

43

JMPADDR

11110001

 

 

ADDR

2

 

转移

44

其它

 

 

 

 

 

 

 

 

45

 

 

 

 

 

 

 

 

46

NOP

11110100

 

 

 

 

 

空操作

47

 

 

 

 

 

 

 

 

48

 

 

 

 

 

 

 

 

49

HALT

11111111

 

 

 

 

 

停机操作

代码

Exmp1.asm

movr0,#16

movdptr,#11H

movxa,@dptr

mov11H,agetdat:

movr0,#16

movdptr,#11H

movxa,@dptr

mov11H,a

mov1FH,a

incdptr

loop:

movxa,@dptr

cjnea,11H,maxcmp

maxcmp:

jcmincmp

mov11H,a

mincmp:

cjnea,11h,mincmp1

mincmp1:

jnccmpend

mov1FH,a

mincmp1:

incdptr

incr0

djnzr0,loop

ret

mov1FH,a

incdptr

loop:

movxa,@dptr

cjnea,11H,maxcmp

maxcmp:

jcmincmp

mov11H,a

mincmp:

cjnea,1FH,mincmp1

mincmp1:

jnccmpend

mov1FH,a

mincmp1:

incdptr

incr0

djnzr0,loop

ret

结果如图:

 

Exmp2.asm

MOVAH,00H;ah清零

MOVS,1;s初值为0

pa1:

SUBAL,30H;ASCII码转化成十进制数据表示

MOVBX,AX;保存输入数据于BH中

MOVCX,AX;循环次数存于CX

DECCX;做阶乘

pa2:

MULCX

LOOPpa2;求和

pa3:

ADDS,AX;计算结果存于S

DECBX

CMPBX,0

JEPART4

MOVCX,AX

CMPCX,0

JNEpa2

实验截图

Exmp3.asm

MOVR0,#05H

MOVR1,#06H

MOVR2,#07H

MOVR3,#08H

ADDR1,R0

SUBR1,R2

MULR2,R3

ANDR3,R1

ORR2,R0

L1:

JMPL1

Exmp4.asm

MOVR0,#0FEH

MOVR1,#06H

MOVR2,#07H

MOVR3,#08H

ADDR0,#05H

ADCR3,R2

SUBR3,#02H

ANDR3,#66H

ORR1,#0F9H

L1:

JMPL1

Exmp5.asm

MOVR0,#05H

MOVR1,#06H

MOVR2,#07H

MOVR3,#08H

SRRR0

SRLR1

CLRR2

COMR3

INCR2

DECR1

L1:

JMPL1

实验小结

(1)通过这个实验,我掌握了带进位控制的算术运算功能发生器的功能,掌握了按指定的数据完成几种指定的算术运算。

而且真切地知道了实验真得很需要耐心和细心,特别是这个实验要在操作前先对进位标志清零,否则整个实验就全部失败了。

(2)在之前的实验基础上,对一些实验出现的问题及时向老师请教了。

所以这个实验进行得比较顺利

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

当前位置:首页 > 工程科技 > 能源化工

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

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