TEC-2000指令系统.doc_第1页
TEC-2000指令系统.doc_第2页
TEC-2000指令系统.doc_第3页
TEC-2000指令系统.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TEC-2000教学计算机十六位机指令系统一、指令系统格式TEC-200教学计算机共规划了58条指令,实现了其中的29条基本指令,其余的19条扩展指令保留给用户自在教学实验中进行扩展,即完成对这些指令的设计与调试。教学机支持单字和双字指令。第一个指令字的高8位为指令操作码字段,低8位和双字指令的第二个字为操作数、地址字段,共有三种格式:操作码DRSRI/O端口地址相对偏移量立即数直接存储器地址变址偏移量十六位机根据指令长度、操作数不同划分为6种指令格式。1、单字、无操作数指令格式:操作码0000 0000基本指令:PSHF;状态标志寄存器(C、Z、V、S、P1、P0)入栈POPF;弹出栈顶数据送入状态标志寄存器RET;子程序返回扩展指令:CLC;清进位标志位C(C0)STC;置进位标志位C(C1)EI;开中断,即置中断允许位DI;关中断,即清中断允许位IRET;中断返回2、单字、单操作数指令格式:操作码RD 00000000 SROFFSETI/O Port基本指令:DECDR;DRDR-1INCDR;DRDR+1SHLDR;DR逻辑左移,最低位补0,最高位移入CSHRDR;DR逻辑右移,最高位补0,最低位移入CJRoffset;无条件转移到ADR,ADR=PC值+OffsetJRCoffset;当C=1时转移到ADR,ADR=PC值+OffsetJRNCoffset;当C=0时转移到ADR,ADR=PC值+OffsetJRZoffset;当Z=1时转移到ADR,ADR=PC值+OffsetJRNZoffset;当Z=0时转移到ADR,ADR=PC值+OffsetINI/O port;I/O端口输入,R0I/O PortOUTI/O port;I/O端口输出,I/O PortR0PUSHSR;SR入栈POPDR;弹出栈顶数据送入DR 扩展指令:RCLDR;DR与C循环左移,C移入DR最低位,DR最高位移入CRCRDR;DR与C循环右移,C移入DR最高位,DR最低位移入CASRDR;DR算术右移,最高位保持不变,最低位移入CNOTDR;DR求反,即DR/DRJMPRSR;无条件转移到SR指向的地址CALRSR;调用SR指向的子程序JRSoffset;当S=1时转移到ADR,ADR=PC值+OffsetJRNSoffset;当S=0时转移到ADR,ADR=PC值+Offset3、单字、双操作数指令格式:操作码DRSR基本指令:ADDDR, SR;DRDR+SRSUBDR, SR;DRDR-SRANDDR, SR;DRDRSRCMPDR, SR;DR-SRXORDR, SR;DRDRSRTESTDR, SR;DRSRORDR, SR;DRDRSRMVRRDR, SR;DRSDLDRRDR, SR;DRSRSTRRDR, SR;DRSR扩展指令:ADCDR,SR;DRDR+SR+CSUBBDR,SR;DRDR-SR-C4双字、单操作数指令格式:操作码0000 0000ADR基本指令:JMPAADR;无条件转移到地址ADRCALAADR;调用首地址为ADR的子程序5双字、双操作数指令格式1:操作码DR 00000000 SRDATA/ADR基本指令:MVRDDR, DATA;DRDATA扩展指令:LDRADR, ADR;DRADRSTRAADR, SR;ADRSR格式2:操作码DRSROFFSET扩展指令:LDRXDR, offsetSR;DRoffset+SRSTRXoffsetSR,DR;offset+SRDR二、 TEC-2000 十六位指令汇总表1、基本指令指令类型指令格式汇编语言操作数个数C Z V S功能说明A组00000000 DRSRADD DR,SR2* * * *DRDR+SR00000001 DRSRSUB DR,SR2* * * *DRDR-SR00000010 DRSRAND DR,SR2* * * *DRDRSR00000011 DRSRCMP DR,SR2* * * *DR-SR00000100 DRSRXOR DR,SR2* * * *DRDRSR00000101 DRSRTEST DR,SR2* * * *DRSR00000110 DRSROR DR,SR2* * * *DRDRSR00000111 DRSRMVRR DR,SR2DRSR00001000 DR0000DEC DR1* * * *DRDR-100001001 DR0000INC DR1* * * *DRDR+100001010 DR0000SHL DR1*DRDR*200001011 DR0000SHR DR1*DRDR/201000001 OFFSETJR ADR1无条件跳转的ADR01000100 OFFSETJRC ADR1C=1 时跳转的ADR01000101 OFFSETJRNC ADR1C=0 时跳转的ADR01000110 OFFSETJRZ ADR1Z=1 时跳转的ADR01000111 OFFSETJRNZ ADR1Z=0 时跳转的ADRB组10000000 00000000ADR(16位)JMPA ADR1无条件跳转到ADR10000001 DRSRLDRR DR,SR2DRSR10000010 I/O portIN I/O port1R0I/O,PORT10000100 DRSRSTRR DR,SR2DR SR10000100 00000000PSHF0FLAG入栈10000110 0000SRPUSH SR1SR 入栈10000110 I/O portOUT I/O port1I/O,PORT R010000111 DR0000POP DR1DS 出栈10001000 DR0000DATA(16位)MVRD DATA2DR DATA10001100 00000000POPF0FLAG 出栈10001111 00000000RET0子程序返回D组11001110 00000000ADR(16位)CALL ADR1调用首地址为ADR的子程序说明:1)表中CZVS一栏,*表示该标志位在指令执行后被重置,表示该标志位不受指令执行的影响。2)运算器中有16个通用寄存器R0-R15,其中R5、R4用作16位的堆栈指针SP,R7、R6用作16位的程序计数器PC,其余寄存器用作通用寄存器,即有关指令中的DR,SR。2、扩展指令指令类型指令格式汇编语言操作数个数C Z V S功能说明A组00100000 DRSRADC DR,SR2* * * *DRDR+SR+C00100001 DRSRSBB DR,SR2* * * *DRDR-SR-C00100010 DR0000RCL DR1*DRDR带进位C循环左移00101011 DR0000RCR DR1*DRDR带进位C循环右移00101100 DR0000ASR DR1*DRDR算术右移01101101 DR0000NOT DR1* * * *DR/DR01100000 0000SRJMPR SR1跳转到SR指明的地址01100100 OFFSETJRS ADR1S=1 跳转到ADR01100101 OFFSETJRNS ADR1S=0 跳转到ADR01101100 00000000CLC00C=001101101 00000000STC01C=101101110 00000000EI0开中断,INTE 101101111 00000000DI0关中断,INTE 0C组11100000 0000SRCALR SR1调用SR指明的子程序11000100 DR0000ADR(16位)LDRA DR,ADR2DRADR1110010

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论