资源描述:
《组成原理--指令扩展实验.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、华北科技学院计算机系设计性实验报告华北科技学院计算机系设计性实验实验报告课程名称计算机组成原理B实验学期2011至2012学年第一学期学生所在系部计算机系年级2011专业班级计科ZB111学生姓名学号任课教师席振元实验成绩计算机系制第10页华北科技学院计算机系设计性实验报告《计算机组成原理B》课程设计性实验报告开课实验室:计算机组成原理实验室2011年 11月9日实验题目指令扩展实验一、实验目的深入了解教学计算机微程序控制器的组成和设计技术,包括Am2910器件的功能与具体用法,教学计算机的总体组成和
2、部件之间的连接方法,深入理解控制器部件的组成、设计、控制与使用等诸项知识。1、进一步掌握微程序定序器AM2910、运算器AM2901、外围GAL、EPROM芯片之间的联系,达到对整机概念的提升;2、进一步掌握微程序控制器的组成;3、掌握微程序及机器指令的扩展方法。二、设备与环境TEC-XP+教学机、微机、EEPROM芯片、装有WindowsXP、ISPLEVER、ispVMSystem等软件。三、实验内容在现有的基本指令系统上,扩展2条指令。四、实验步骤1、扩展的2、4指令的格式及功能写明2条指令的格
3、式、功能、寻址方式、操作码编码、微程序步数、微程序入口地址。第二条指令格式:ADTWDR功能:DR+2->DR(DR内的值自加2)寻址方式:寄存器寻址操作码编码:10100001(A1)微程序步数:2微程序入口地址:81第四条指令格式:SWRMDR,[SR]功能:DR和[SR]的值互换寻址方式:DR为寄存器寻址、[SR]为寄存器间接寻址操作码编码:11101001(E9)微程序步数:4微程序入口地址:A1第10页华北科技学院计算机系设计性实验报告2、指令所对应的微程序指令入口地址下址CI3-0SCC3
4、-0MVRI2-0I8-6I5-3B口A口SSTSSHSCIDC2DC1ADTWDR8100E0433080110030304330801100SWRMDR,[SR]A100E0430080000000E0441008003000E01730800000303002100000013、ABEL语言源程序编辑以及JED文件生成m256c.abl源程序修改过程(10步)以及生成JED文件的整个操作过程。10步操作过程如下所示:定义指令操作码、定义微址、入口地址定义、下址的定义、定义条件判断、定义MVR3位
5、、修改I0~8、修改A,B口、修改SST,SSH,SCI、修改DC1,DC2。按照上述10个步骤在以下代码中进行添加:DC1=[DC1_2,DC1_1,DC1_0];DC2=[DC2_2,DC2_1,DC2_0];D=[D7,D6,D5,D4,D3,D2,D1,D0];Y=[Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0];NXTADDR=[NXTADDR7,NXTADDR6,NXTADDR5,NXTADDR4,NXTADDR3,NXTADDR2,NXTADDR1,NXTADDR0];GALSCC=[
6、CI3,CI2,CI1,CI0,SCC3,SCC2,SCC1,SCC0];all=[OUTER,SCI,SSH,I,SST,A,B,DC1,DC2];ADD=(IR==[0,0,0,0,0,0,0,0]);SUB=(IR==[0,0,0,0,0,0,0,1]);AND=(IR==[0,0,0,0,0,0,1,0]);OR=(IR==[0,0,0,0,0,1,1,0]);XOR_=(IR==[0,0,0,0,0,1,0,0]);CMP=(IR==[0,0,0,0,0,0,1,1]);TEST=(IR==
7、[0,0,0,0,0,1,0,1]);MVRR=(IR==[0,0,0,0,0,1,1,1]);INC=(IR==[0,0,0,0,1,0,0,1]);DEC=(IR==[0,0,0,0,1,0,0,0]);SHL=(IR==[0,0,0,0,1,0,1,0]);第10页华北科技学院计算机系设计性实验报告SHR=(IR==[0,0,0,0,1,0,1,1]);JR=(IR==[0,1,0,0,0,0,0,1]);JRC=(IR==[0,1,0,0,0,1,0,0]);JRNC=(IR==[0,1,0,
8、0,0,1,0,1]);JRZ=(IR==[0,1,0,0,0,1,1,0]);JRNZ=(IR==[0,1,0,0,0,1,1,1]);JMPA=(IR==[1,0,0,0,0,0,0,0]);LDRR=(IR==[1,0,0,0,0,0,0,1]);LDPC=(IR==[1,0,0,0,1,0,0,1]);STRR=(IR==[1,0,0,0,0,0,1,1]);IN_=(IR==[1,0,0,0,0,0,1,0]);OUT=(IR==[1,0,0,