收藏 分销(赏)

TEC-2000指令系统.doc

上传人:仙人****88 文档编号:11899934 上传时间:2025-08-19 格式:DOC 页数:4 大小:176.54KB 下载积分:10 金币
下载 相关 举报
TEC-2000指令系统.doc_第1页
第1页 / 共4页
TEC-2000指令系统.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
TEC-2000教学计算机十六位机指令系统 一、指令系统格式 TEC-200教学计算机共规划了58条指令,实现了其中的29条基本指令,其余的19条扩展指令保留给用户自在教学实验中进行扩展,即完成对这些指令的设计与调试。 教学机支持单字和双字指令。第一个指令字的高8位为指令操作码字段,低8位和双字指令的第二个字为操作数、地址字段,共有三种格式: 操作码 DR SR I/O端口地址∕相对偏移量 立即数∕直接存储器地址∕变址偏移量 十六位机根据指令长度、操作数不同划分为6种指令格式。 1、单字、无操作数指令 格式: 操作码 0000 0000 基本指令: PSHF ;状态标志寄存器(C、Z、V、S、P1、P0)入栈 POPF ;弹出栈顶数据送入状态标志寄存器 RET ;子程序返回 扩展指令: CLC ;清进位标志位C(C←0) STC ;置进位标志位C(C←1) EI ;开中断,即置中断允许位 DI ;关中断,即清中断允许位 IRET ;中断返回 2、单字、单操作数指令 格式: 操作码 RD 0000 0000 SR OFFSET I/O Port 基本指令: DEC DR ;DR←DR-1 INC DR ;DR←DR+1 SHL DR ;DR逻辑左移,最低位补0,最高位移入C SHR DR ;DR逻辑右移,最高位补0,最低位移入C JR offset ;无条件转移到ADR,ADR=PC值+Offset JRC offset ;当C=1时转移到ADR,ADR=PC值+Offset JRNC offset ;当C=0时转移到ADR,ADR=PC值+Offset JRZ offset ;当Z=1时转移到ADR,ADR=PC值+Offset JRNZ offset ;当Z=0时转移到ADR,ADR=PC值+Offset IN I/O port ;I/O端口输入,R0←[I/O Port] OUT I/O port ;I/O端口输出,[I/O Port]←R0 PUSH SR ;SR入栈 POP DR ;弹出栈顶数据送入DR 扩展指令: RCL DR ;DR与C循环左移,C移入DR最低位,DR最高位移入C RCR DR ;DR与C循环右移,C移入DR最高位,DR最低位移入C ASR DR ;DR算术右移,最高位保持不变,最低位移入C NOT DR ;DR求反,即DR←/DR JMPR SR ;无条件转移到SR指向的地址 CALR SR ;调用SR指向的子程序 JRS offset ;当S=1时转移到ADR,ADR=PC值+Offset JRNS offset ;当S=0时转移到ADR,ADR=PC值+Offset 3、单字、双操作数指令 格式: 操作码 DR SR 基本指令: ADD DR, SR ;DR←DR+SR SUB DR, SR ;DR←DR-SR AND DR, SR ;DR←DR∧SR CMP DR, SR ;DR-SR XOR DR, SR ;DR←DR⊕SR TEST DR, SR ;DR∧SR OR DR, SR ;DR←DR∨SR MVRR DR, SR ;DR←SD LDRR DR, SR ;DR←[SR] STRR DR, SR ;[DR]←SR 扩展指令: ADC DR,SR ;DR←DR+SR+C SUBB DR,SR ;DR←DR-SR-C 4.双字、单操作数指令 格式: 操作码 0000 0000 ADR 基本指令: JMPA ADR ;无条件转移到地址ADR CALA ADR ;调用首地址为ADR的子程序 5.双字、双操作数指令 格式1: 操作码 DR 0000 0000 SR DATA/ADR 基本指令: MVRD DR, DATA ;DR←DATA 扩展指令: LDRA DR, [ADR] ;DR←[ADR] STRA [ADR], SR ;[ADR]←SR 格式2: 操作码 DR SR OFFSET 扩展指令: LDRX DR, offset[SR] ;DR←[offset+SR] STRX offset[SR],DR ;[offset+SR]←DR 二、 TEC-2000 十六位指令汇总表 1、基本指令 指令 类型 指令格式 汇编语言 操作数 个数 C Z V S 功能说明 A 组 00000000 DRSR ADD DR,SR 2 * * * * DR←DR+SR 00000001 DRSR SUB DR,SR 2 * * * * DR←DR-SR 00000010 DRSR AND DR,SR 2 * * * * DR←DR∧SR 00000011 DRSR CMP DR,SR 2 * * * * DR-SR 00000100 DRSR XOR DR,SR 2 * * * * DR←DR⊙SR 00000101 DRSR TEST DR,SR 2 * * * * DR∧SR 00000110 DRSR OR DR,SR 2 * * * * DR←DR∨SR 00000111 DRSR MVRR DR,SR 2 ···· DR←SR 00001000 DR0000 DEC DR 1 * * * * DR←DR-1 00001001 DR0000 INC DR 1 * * * * DR←DR+1 00001010 DR0000 SHL DR 1 *··· DR←DR*2 00001011 DR0000 SHR DR 1 *··· DR←DR/2 01000001 OFFSET JR ADR 1 ···· 无条件跳转的ADR 01000100 OFFSET JRC ADR 1 ···· C=1 时跳转的ADR 01000101 OFFSET JRNC ADR 1 ···· C=0 时跳转的ADR 01000110 OFFSET JRZ ADR 1 ···· Z=1 时跳转的ADR 01000111 OFFSET JRNZ ADR 1 ···· Z=0 时跳转的ADR B 组 10000000 00000000 ADR(16位) JMPA ADR 1 ···· 无条件跳转到ADR 10000001 DRSR LDRR DR,[SR] 2 ···· DR←[SR] 10000010 I/O port IN I/O port 1 ···· R0←[I/O,PORT] 10000100 DRSR STRR [DR],SR 2 ···· [DR] ←SR 10000100 00000000 PSHF 0 ···· FLAG入栈 10000110 0000SR PUSH SR 1 ···· SR 入栈 10000110 I/O port OUT I/O port 1 ···· [I/O,PORT] ← R0 10000111 DR0000 POP DR 1 ···· DS ←出栈 10001000 DR0000 DATA(16位) MVRD DATA 2 ···· DR ←DATA 10001100 00000000 POPF 0 ···· FLAG ←出栈 10001111 00000000 RET 0 ···· 子程序返回 D 组 11001110 00000000 ADR(16位) CALL ADR 1 ···· 调用首地址为ADR的子程序 说明: 1)表中CZVS一栏,*表示该标志位在指令执行后被重置,·表示该标志位不受指令执行的影响。 2)运算器中有16个通用寄存器R0-R15,其中R5、R4用作16位的堆栈指针SP,R7、R6用作16位的程序计数器PC,其余寄存器用作通用寄存器,即有关指令中的DR,SR。 2、扩展指令 指令 类型 指令格式 汇编语言 操作数 个数 C Z V S 功能说明 A 组 00100000 DRSR ADC DR,SR 2 * * * * DR←DR+SR+C 00100001 DRSR SBB DR,SR 2 * * * * DR←DR-SR-C 00100010 DR0000 RCL DR 1 *··· DR←DR带进位C循环左移 00101011 DR0000 RCR DR 1 *··· DR←DR带进位C循环右移 00101100 DR0000 ASR DR 1 *··· DR←DR算术右移 01101101 DR0000 NOT DR 1 * * * * DR←/DR 01100000 0000SR JMPR SR 1 ···· 跳转到SR指明的地址 01100100 OFFSET JRS ADR 1 ···· S=1 跳转到ADR 01100101 OFFSET JRNS ADR 1 ···· S=0 跳转到ADR 01101100 00000000 CLC 0 0··· C=0 01101101 00000000 STC 0 1··· C=1 01101110 00000000 EI 0 ···· 开中断,INTE ←1 01101111 00000000 DI 0 ···· 关中断,INTE ←0 C 组 11100000 0000SR CALR SR 1 ···· 调用SR指明的子程序 11000100 DR0000 ADR(16位) LDRA DR,[ADR] 2 ···· DR←[ADR] 11100101 DRSR OFFSET(16位) LDRX R,offset[SR] 2 ···· DR←[OFFSETT+SR] 11100110 DRSR OFFSET(16位) STRX DR,offset[SR] 2 ···· [OFFSETT+SR] ← DR 11100111 0000SR ADR(16位) STRA [ADR],SR 1 ···· [ADR] ←SR D组 11101111 0000000 IRET 0 ···· 中断返回 4
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服