1、计算机组成原理亮课程设计报告计算机组成与系统结构课程设计学号: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各赋一初值,然后对它们与相应的存储器单元进行一系列数据传输操作,观察各寄存器
2、以及相应存储器单元的变化情况。5给R0、R1、R2、R3各赋一初值,然后对它们进行一系列可以改变状态位的操作,进而执行一系列转移类指令,观察程序执行流程。实验目的1、熟悉本模型机的指令系统,理解各条指令的功能和用途。2、打开实验例程,熟悉软件操作,根据程序执行流程观察寄存器和存储器单元的变化情况,连接串行口连通模型机,观察模型机中数据流向和程序执行的同步情况。3、利用本模型机的指令系统,自行编制一些小的程序,调试并运行。实验时间2012年6月24日到2012年6月26日实验装置硬件装置实验装置是为计算机组成原理的工作流程专门设计的。它能够让学生通过手动和自动的操作弄清和掌握计算机工作的基本原理
3、。实验模块由手动实验部分和程序实验部分组成。手动实验主要完成计算机各个组成部分的原理实验,包括数据流程、运算器执行、存储器和外设之间的数据交换等部分,通过组合变化各个输入信号,进一步理解计算机各个部件的执行过程和工作原理,手动实验在本指导书的前面部分已经作了详细介绍。程序实验主要完成指令系统中每条指令的具体执行,包括取指、译码、执行过程中对应微指令的工作流程,并且还能观察各类指令执行的结果。操作过程在计算机上进行,可实现单拍、单步和连续执行,每个执行过程可以在计算机上显示,其执行结果和过程也可同步在实验板上显示,进一步观察对应指令在执行过程中的每个控制信号和数据流向。程序实验主要包括:数据传输
4、程序各种运算程序控制转移程序数码转换程序软件装置软件系统由编辑程序、编译程序、程序执行、调式程序几个部分组成,完成由源程序输入、语法分析排错、指令汇编、应用程序调试的全过程。 软件系统采用集成化的窗口,各种软件功能分类设置在程序中,可以根据程序实验过程的需要随意组合使用。软件系统的主窗口界面如下图所示:图1 软件系统主窗口界面软件使用说明界面说明图2 界面说明标识 软件系统采用集成化的窗口,各种软件功能分类设置在程序中,软件系统的主窗口界面如上图所示,现将界面各组成部位说明如下: 1 寄存器 在程序执行过程中,观察各寄存器的值 2 存储器 在程序执行过程中,观察各存储器的值 3 信息 显示当前
5、指令对应的微程序 4 编辑源程序 从汇编状态或运行状态返回到编辑源程序状态 5 汇编 对编辑好的源程序进行汇编连接 6 程序复位 让程序指针指向程序的第一条指令 7 运行 运行已通过汇编连接的程序 8 停止 停止程序的运行 9 单步 单步运行程序(逐条指令执行) 10 单拍 单拍运行程序(逐条微指令执行) 11 设置/取消断点 设置/取消断点,调试程序时用 12 连接/断开串行口 连接/断开串行口,连通/断开程序和模型机通信 13 源程序编辑区 在该区域内编辑源程序 14 寄存器/存储器显示区 显示各寄存器/存储器的值 15 微程序显示区 显示当前指令对应的微程序(二)编辑程序编辑源程序采用文
6、本的编辑方式,按照给定的模型机指令系统,用汇编语言格式编辑程序,对所编辑的程序进行语法分析,纠错处理。编辑程序主要实现如下的操作流程:图3 编辑源程序流程图4 新建编辑窗口(三)汇编程序汇编程序先对源程序进行语法检查,排除源程序中的语法错误,再将源程序编译为机器码,在调试的窗口中显示指令行、机器码、助记符等信息。图5 汇编出错提示信息图6 内存地址、助记符和机器码(四)运行方式程序的运行有单拍、单步和连续执行三种方式。单拍方式是逐条执行微程序中的微指令,屏幕显示信息(微指令、积存器和存储器状态)与实验板显示信息(微指令对应的数据流向以及相应的控制信号)互相配合,可以将单拍微指令执行的结果从不同
7、角度显示出来,以便观察。单步方式是一条一条指令执行的过程,每条指令执行后,将内存和寄存器中的变化显示出来。连续执行将一段程序执行的功能表现出来,在连续执行调试中可以采用设置断点的方法,分模块或分段地进行程序调试。跟踪调试程序执行的调试方法可按调试的目的考虑,一般有以下几种情况:(1)为了掌握一般指令执行过程。采用单拍和单步,结合实验板观察有关的变化。图7 单拍或单步运行(2)为观察寄存器的变化。采用单步和连续执行,打开寄存器窗口观察寄存器变化。图8 观察寄存器变化(3)为了观察内存的变化。采用单步和连续执行,打开内存窗口观察内存变化。图9 观察存储器变化(4)为了调试一段条件转移程序。可以在不
8、同转移目标点设置断点,观察其转移情况。图10 设置断点参考指令系统模型机指令码1、指令码一类76543210 双寄存器运算操作码源寄存器的寄存器ADDADCSUBSBC0xxxrsrdMULANDMULMOV二类其他指令76543210操作码的寄存器SHRSRLROLRCR100XXXrdDECINCPUSHPOP 三类寄存器与立即数运算76543210操作码的寄存器ADDADCSUBSBC101XXXrdCMPANDORMOVIMM四类传数类指令76543210操作码的寄存器MOVMOVMOVMOV110XXXrdINOUT(MEM) / (MEM)五类转移类指令76543210操作码JNZ
9、JNCJNEJNVDISP111XXXXXJZJCJEJVADDRDISP / ADDRCALLJMPJMPHALTNOP代码1:DATA SEGMENT RESULT DW 0s1 db 0,0,0,0,$DATA ENDS CODE SEGMENT BEGIN: mov ax,data mov ds,ax mov es,ax MOV AX,0 MOV BX,0 MOV CX,5 ADD AX,BX LOOP LP mov cx,4lea si,s1l1: rol ax,1rol ax,1rol ax,1rol ax,1mov bx,axand bx,000fhcmp bl,5jc l2ad
10、d bl,5hjmp55: add bl,5h l3:mov si,blinc siloop l1lea dx,s1 mov ah,5h int 5h MOV AH,4CH INT 5H CODE ENDS END BEGIN2: INCLUDE YLIB.HCODE SEGMENT ASSUME CS:CODE,DS:CODESTART: MOV BL,10H MOV CH,15L0:CALL CRLF MOV CL,16L1:MOV DL,BL MOV AH,2 INT 21H MOV DL,20H MOV AH,2 INT 21H INC BL DEC CLL11:JNZ L1 DEC
11、CHL00:JNZ L0 CALL CRLF MOV AX,4C00H INT 21HCODE ENDS ENDSTARTExmp3.asm MOV R0,#05H MOV R1,#06H MOV R2,#07H MOV R3,#08H SRR R0 SRL R1 CLR R2 COM R3 INC R2 DEC R1L1: JMP L1实验截图Exmp4.asm MOV R0,#05H MOV R1,#06H MOV R2,#07H MOV R3,#08H ST 10H,R0 LD R1,10H ST (11H),R2 LD R3,(11H) IN R0,12H OUT 13H,R2 MOV
12、 R3,R1L1: JMP L1实验截图Exmp5.asmL4: MOV R0,#05H MOV R1,#06H MOV R2,#0FEH MOV R3,#08H CLR R3 JZ L1L2: CMP R1,#07 JNE L3L1: SUB R0,#06H JC L2L3: ADD R2,#05H JO L4L5: JMP L5实验小结经过本次课程设计,了解懂通过寄存器和存储器实现一些简单的加减预算,知道了本模型的指令系统,理解各条指令的基本的功能和用途。了解到计算机组成原理中的基本指令的功能和用途与汇编语言中有点不一样。在调试代码的过程中由于对汇编使用的比较少还弄出了不少错误,经过自己的修改及向老师同学请教,最终问题还是得以解决。虽然只有几天的实习但对我来说受益匪浅。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2