CN1584824A - 一种基于cisc结构的微处理器构架及指令实现方式 - Google Patents

一种基于cisc结构的微处理器构架及指令实现方式 Download PDF

Info

Publication number
CN1584824A
CN1584824A CN 03150402 CN03150402A CN1584824A CN 1584824 A CN1584824 A CN 1584824A CN 03150402 CN03150402 CN 03150402 CN 03150402 A CN03150402 A CN 03150402A CN 1584824 A CN1584824 A CN 1584824A
Authority
CN
China
Prior art keywords
instruction
register
data
address
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 03150402
Other languages
English (en)
Other versions
CN100545804C (zh
Inventor
刘艳军
赵启山
贺理
黄继颇
张文
朱建国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hair Group Integated Circuit Co Ltd
Haier Group Corp
Original Assignee
Shanghai Hair Group Integated Circuit Co Ltd
Haier Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Hair Group Integated Circuit Co Ltd, Haier Group Corp filed Critical Shanghai Hair Group Integated Circuit Co Ltd
Priority to CNB031504027A priority Critical patent/CN100545804C/zh
Priority to CN2007101872125A priority patent/CN101299185B/zh
Publication of CN1584824A publication Critical patent/CN1584824A/zh
Application granted granted Critical
Publication of CN100545804C publication Critical patent/CN100545804C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本发明是一种微处理器构架及其实现方式,其简化了CISC微处理器庞杂的指令集,内部指令实现方式做了改进,数据线和指令线分离,使指令处理的速度加快,在一定程度上弥补了CISC微处理器指令集庞大、执行效率低的缺点。指令集共有151条指令,支持常见典型各类指令,包括数据传送交换、算术逻辑运算、比较、乘除法、移位、循环、半字节操作、位操作、跳转、调用返回、进栈退栈、软中断以及空操作类指令。本发明的微处理器可配置适当的***资源,其端口多,资源丰富,适用于实时控制各类嵌入式、SOC***,具有高速、高性能、低功耗、低噪声等特性,抗干扰能力强,是一款适用于家电、民用通信等消费类电子产品的微控制器。

Description

一种基于CISC结构的微处理器构架及指令实现方式
技术领域
本发明涉及半导体集成电路设计领域的微控制器(MCU),尤其是涉及执行复杂指令集的基于CISC结构的微控制器。
背景技术
目前微控制器(MCU)一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM/EEPROM/FlashROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、LCD驱动、UART、I2C等各种必要功能和外设。为适应不同的应用需求,一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配。微控制器的最大特点是单片化,体积小,从而使功耗和成本下降,可靠性提高。微控制器是目前嵌入式***工业的主流。微控制器的片上外设资源一般比较丰富,适合于各种应用。
嵌入式微控制器目前的品种和数量最多,较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。另外还有许多半通用系列如:支持USB接口的MCU 8XC930/931、C540、C541;支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。目前MCU占嵌入式***约70%的市场份额。
在MCU开发方面,以架构而言,可分为两大主流:RISC和CISC。RISC指令集组成比较简单,相对指令执行速度较快,但完成一项任务可能需要多条指令组合而成,针对较复杂组合的工作便需要占用较多的编译器时间来执行,其总线结构为哈佛型。
CISC的总线结构是冯.诺依曼型,计算机在同一个存储空间取指令和数据,数据线和指令线分时复用。在流水线结构方面,取指和执行采用单指令流水线结构,它的指令集丰富,功能强大。
CISC体系是一种为了便于编程和提高内存访问效率而设计的体系。其主要特征是使用微代码操作和具有丰富的指令集,便于设计新的处理器,能有效缩短新指令的微代码设计时间。其丰富的指令集便于应用工程师的编程使用。具有双操作数格式、寄存器到寄存器、寄存器到内存以及内存到寄存器等的指令,寻址方式灵活。
属于CISC结构的单片机主要有Intel的MCS-51系列、Motorola的M68HC系列、Atmel的AT89系列、台湾Winbond(华邦)W78系列、荷兰Pilips的PCF80C51系列等;一般来说,控制关系较简单的小家电,可以采用RISC型单片机;控制关系较复杂的场合,如大家电、通讯产品、工业控制***应采用CISC单片机
在8位CISC微控制器芯片领域,标准体系架构都是连续型的执行,传统的CISC占据了较大的市场份额,CISC大多有繁杂的指令集,运行效率较低,指令可扩展性较差,应用复杂等缺点,难以满足越来越快速的通信需求。
CISC单片机主要缺点在于:①指令集庞杂,多数指令的利用率不高。②不同的指令,需要不同的时钟周期来完成,每条指令要通过执行一段解释性微程序才能完成,需占用较多的CPU时间,执行效率不是很高。③由于指令庞大,使编译程序选择目标指令的范围很大,不便优化编译。④强调数据控制,导致设计复杂,研制周期长。
发明内容
本发明的目的在于提出一种新型的基于CISC的微处理器构架及指令实现方式,其在传统CISC的基础上做了改进,提出一种有效的***构架,提高了指令运行效率。支持151条基本指令,采用单级四段流水线,运行效率提高,指令组合方便,可满足各类嵌入式实时控制和通信的要求。
根据本发明的第一方面的基于CISC结构的微控制器,该微控制器核包括程序存储器,数据随机存储器,特殊功能寄存器堆,数据总线和地址总线,流水线指令结构,数据缓冲区,通用算术逻辑单元,指令读取及译码器和***控制模块,其中,所述的数据总线分为各自分离的的8位内部数据总线和8位程序数据总线,所述的***控制模块用于产生***时钟、***复位以及各种读写控制电路,所述的单级四段流水线指令处理结构分为4个部分,首先是指令读取及译码电路,即所述的指令读取及译码器通过上述8位程序数据总线从程序存储器读入指令,并对指令进行译码分解;然后通过控制电路根据译码结果读取寄存器或者存储器的内容;再通过算术逻辑单元进行运算;之后对运算的结果存入寄存器或者数据存储器单元;当执行调用、返回等指令时,会对程序指针进行压栈和出栈操作,当执行跳转等指令时,有指针偏移操作,同时在每读下一字节指令时,会对PC有加1的操作。
根据本发明的第二方面的基于CISC结构的微控制器,其特征在于所述的数据存储器(RAM)、程序存储器(ROM)、特殊功能寄存器和数据缓冲区域是空间独立的,利用地址映射电路将它们的地址映射在连续的空间上,并可扩展。
根据本发明的第三方面的基于CISC结构的微控制器的指令实现方式,其特征在于该微控制器的指令集共有151条基本指令,该微控制器支持各类常见的微处理器指令,包括数据传送交换、算术逻辑运算、比较、乘除法、移位循环、半字节操作、位操作、跳转、调用返回、进栈退栈、软中断以及空操作类指令,指令执行周期最短的1个工作周期,最长的10个工作周期,指令可以进行相应的扩展。
根据本发明的第四方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集包括25条数据传送指令,每条指令有其唯一的操作码识别,指令实现将源地址的数据传送到目的地址中,由于源地址和目的地址可以是多种寻址方式,使得每条指令包含1-4个字节不等的指令编码,产生一类控制信号控制完成:1)控制有关寄存器将数据传送至ALU(2)控制ALU完成地址的计算(3)控制从源地址提取数据(4)控制数据写入目的地址。
根据本发明的第五方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括10条比较指令,每条指令有其唯一的操作码识别,指令实现将源地址的数据与目的地址的数据进行比较,每条指令包含1-4个字节不等的指令编码,产生一类控制信号控制完成:(1)控制有关寄存器将地址数据传送至ALU(2)控制ALU完成地址的计算(3)控制从源地址和目的地址提取数据传送至ALU(4)控制ALU执行减法操作(5)控制将减法的结果设置标志寄存器。
根据本发明的第六方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括50条算术逻辑运算指令,每条指令有其唯一的操作码识别,指令实现将源地址的数据与目的地址的数据进行算术或逻辑运算,每条指令包含1-4个字节不等的指令编码,产生一类控制信号控制完成:(1)控制有关寄存器将地址数据传送至ALU(2)控制ALU完成地址的计算(3)控制从源地址和目的地址提取数据传送至ALU(4)控制ALU执行指令要求的算术逻辑操作(5)控制将运算的结果写入目的寄存器。
根据本发明的第七方面的基于CISC结构的微控制器的指令实现方式,,其特征在于所述的指令集还包括2条十进制调整指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,指令实现将寄存器中的16进制结果进行十进制调整,产生BCD码,调整后的结果仍回写到寄存器p。
根据本发明的第八方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括2条乘除法指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,指令实现寄存器w与累加器a中的无符号数相乘并回写结果,指令实现寄存器对wa与寄存器c中的无符号数相除并回写。
根据本发明的第九方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括13条循环移位和半字节操作指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,指令实现寄存器或者寄存器与内存的数据的移位或者半字节移位。
根据本发明的第十方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括24条位操作指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,指令实现对寄存器或者内存单元数据的位进行设置和运算。
根据本发明的第十一方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括11条跳转指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,根据偏移量指令实现程序的跳转。
根据本发明的第十二方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括8条调用、返回指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,根据不同的寻址方式,指令实现子程序的调用和返回。
根据本发明的第十三方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括4条进栈退栈指令,产生控制信号,指令实现对程序状态字和寄存器内容的压栈和出栈。
根据本发明的第十四方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括1条软中断指令,产生控制信号,指令实现软件中断。
根据本发明的第十五方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述的指令集还包括1条空操作指令,产生控制信号,指令实现空操作。
根据本发明的第十六方面的基于CISC结构的微控制器的指令实现方式,其特征在于读入的指令通过所述的指令读取及译码器分解,按分解后的微指令码进行译码,并执行相应的操作,根据寻址方式不同,译码后将操作数或者操作码分别存储于不同的操作数寄存器、微指令码寄存器、内存。
根据本发明的第十七方面的基于CISC结构的微控制器的指令实现方式,其特征在于所述不同的寻址方式按寻址类型分别为立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、隐含寻址、相对寻址、变址寻址、绝对寻址、向量寻址、页寻址和存储器位寻址共11种类型。
根据本发明的第十八方面的基于CISC结构的微控制器的指令实现方式,其特征在于指令执行的顺序是在时钟的第一相读入指令码并译码,同时处理中断等,第二相读内存单元或者寄存器的数据并存储,第三相执行ALU操作,完成指令要求的各种运算或者偏移量的计算,第四相将指令运算得的结果写入内存及相关寄存器,同时在每一相进行相关标志位的设置和指令周期存储计算的操作。
根据本发明的第十九方面的基于CISC结构的微控制器的指令实现方式,其特征在于中断处理的方式为当中断请求发生时,置位中断锁存器,在指令执行的第一相时钟时检测中断锁存器,响应中断,并清中断使能标志和中断锁存器,PC在中断程序执行前后自动压栈和出栈;所述的中断的种类包括软件中断、外部中断、定时器中断、WDT中断、串行接口中断,中断可嵌套,除软件中断和WDT中断外可控制中断源屏蔽。
附图说明
图1为本发明微处理器核的内部结构示意图。
图2为指令执行硬件结构示意图。
图3为指令执行节拍流程示意图。
图4为内存分配和地址映射示意图。
图5为本发明微控制器核的***模块资源配置示意图。
图6为复位电路示意图。
图7为中断处理过程示意图。
具体实施方式
下面结合附图对本发明的微处理器的构架和实现方式做详细说明。
本发明微处理器核的结构如图1所示。时钟发生器产生基本时钟,并分频,提供内部CPU核和外部***器件所需要的时钟信号。程序存储器与数据存储器有各自的数据总线。执行时,首先读取指令码,然后译码。译码是根据微码的定义,以及寻址方式的不同,将操作数或者操作码分别存储于操作数寄存器、微指令码寄存器、内存或者特殊功能寄存器(不包括SR区域)。根据译码后得到的指令的类型,将操作数或者需要计算的地址送入ALU进行运算。然后,存储运算的结果,写入寄存器或者内存单元。然后再读入下一字节的指令,进行译码、ALU运算、回写存储数据,以此类推,直到指令结束。由于本微处理器的指令集为变长的CISC指令,每条指令长度不同,指令周期从1个机器周期到10个机器周期不等。在指令执行的过程中,要对每条指令所执行到的机器周期和PC进行计数,以控制指令的运行。
指令处理执行部分的硬件结构如图2所示,首先根据复位向量找到程序的入口地址,PC指向程序存储器的程序入口单元,从程序存储器读入指令,通过指令译码器进行译码。如果是操作码,存入操作码寄存器;如果是操作数,根据对操作码的判断确定是写入数据存储器还是要做为立即数送入ALU进行运算。数据准备好后,即可进行ALU运算操作。运算的结果存入寄存器或者数据存储器单元。当执行调用、返回等指令时,会对程序指针进行压栈和出栈操作;执行跳转等指令时,有指针偏移操作;同时在每读下一字节指令时,会对PC有加1的操作。这些构成PC的来源,也是保证程序正常执行的关键因素之一。
指令处理的基本时序如图3所示。由主时钟分频后获得的四相时钟(CLK1、CLK2、CLK3和CLK4)来控制。每个机器周期根据4相时钟分为4个节拍,每一节拍对应一相时钟。对读入的每个微码在4相时钟分别执行以下操作:CLK1取指译码(包括设置标志位和中断处理)、CLK2读所需要的寄存器中的数据、CLK3进行ALU运算、CLK4存储运算结果(包括调整PC指针)。同时,根据微码判断并记录当前指令总的周期数,并在读入指令下一个字节的时候递减,调整PC,直至当前指令的最后一个周期,指向下一条指令,标志位清零,开放中断,开始执行下一条指令。如此循环操作,直到程序结束。
本微处理器包括软件中断、外部中断、定时器中断、WDT中断等常用基本中断。可控制中断源屏蔽,其中软件中断和WDT中断不可屏蔽和嵌套。当有中断请求时,设置中断请求标志并锁存在中断锁存器中,同时自动PC压栈。执行完当前指令后,响应中断,设置中断使能标志使响应当前中断过程中禁止可屏蔽中断。中断执行完或复位后,开放锁存。中断处理过程见图7所示。
本发明微处理器的指令集为复杂指令集,数据总线宽度为8位,采用单级流水线处理和执行指令,可连续寻址64K字节的地址空间。这64K空间分成4个地址空间,分别为程序存储器ROM、数据存储器RAM、特殊功能寄存器SR和数据缓冲寄存器BR。使用内存映射输入/输出***,所有的I/O寄存器都映射在SR或者BR地址空间。芯片内部共有16组通用寄存器,每组8个,共128个通用寄存器,分配在RAM地址空间的前128个字节。内存分配见图4所示。
为了***的安全和功耗管理,***复位采用多源复位,如图6所示。包括上电复位、软件复位、时钟检测复位、地址陷阱复位、WDT复位。其中上电复位为大于4个时钟周期的低电平复位;当PC指向RAM或者特殊寄存器SR区域时,产生地址陷阱复位信号,重新启动***;WDT在允许工作状态下,若CPU没有按正常工作状态清WDT,WDT计数溢出时会产生复位信号。
本发明处理器内核可方便的扩展各类通用的外设和通讯接口,包括同步串行接口、高速串行输出、I2C总线、LCD驱动器、A/D转换器、定时器/计数器等等,同时也可根据微码定义对151条指令进行扩展。一个微处理器配置外设资源的应用示意图见图5所示。
本发明微处理器的一种典型实现方式如图5所示。“1”为***时钟发生器,产生基本时钟。其中包含一个时序发生器,经分频产生主***时钟和***设备的工作时钟。可输出所需要的分频脉冲到外部端口上,并产生基本定时、WDT、串口、释放复位等***所需要的各种时钟。“2”是本微处理器的CPU核,是本发明的核心部分。参考图1,包含指令译码器、指令寄存器、ALU、内部堆栈、专用寄存器、中断处理模块以及读写控制电路。***上电复位以后,根据复位指针从程序存储器中找到程序的入口地址,以字节为单位读入要执行的指令并存储。然后对指令进行译码。译码时根据微码的定义,执行相应的操作。微码的编码分为两大类,单字节编码和双字节编码。表1是对每类编码中每个字节微码含义的解释。
表1指令微码定义表
 单字节微码 指令类型 寻址方式  双字节微码  指令 寻址方式
 00000000 swi  00000001  jmp
 00000001 jmp  00000011  cal
 00000010 calp  00101***  xorb
 00000011 cal  00110***  movb
 00100*** movb  00111***  cplb
 00101000 jf  10110***  clrb
 00101001 jt  10111***  setb
 00101100 jnc  11100000  rshrcf
 00101101 jc  11100001  rshlcf
 00101110 jnz  11100010  shrcf
 00101111 jz  11100011  shlcf
 0011**** calv  11110100  dsa
 010***** sjf  11110101  daa
 011*****  sjt  11110110  rshrm
 10110***  clrb  11110111  rshlm
 10111***  setb  11111000  push
 11111000  push  11111001  pop
 11111001  pop  11111011  retn
 11111010  ret  11111110  swap
 11111011  reti  10100***  mov 目标为寄存器寻址
 11111100  div  111010**  mov 目标为寄存器对寻址
 11111101  mul  10101***  mov 源为寄存器寻址
 11111111  nop  111011**  mov 源为寄存器对寻址
 11001***  mov 目标为寄存器寻址源为立即数  11011001  mov 目标为直接寻址
 11110000  mov 目标为RBS源为立即数  11011000  mov 目标为寄存器间接寻址
 11010011  mov 目标为直接寻址  11010011  mov 源为立即数
源为立即数
 11010010  mov 目标为寄存器间接寻址源为立即数  10000000  cmp 目标为隐含寻址A
 00000101  mov 目标为堆栈指针SP源为立即数  10011000  cmp 源为寄存器间接寻址
 10000000  cmp 目标为隐含寻址A源为直接寻址  10001000  cmp 源为立即数
 10000110  add 目标为隐含寻址A源为直接寻址  10000110  add 目标为隐含寻址A
 10000100  sub 目标为隐含寻址A源为直接寻址  10011110  add 源为寄存器间接寻址
 10000011  and 目标为隐含寻址A源为直接寻址  10001110  add 源为立即数
 10000001  or 目标为隐含寻址A源为直接寻址  10000100  sub 目标为隐含寻址A
 10000010  xor 目标为隐含寻址A  10011100  sub 源为寄存器间接
源为直接寻址 寻址
 10001100  sub 源为立即数
 10000011  and 目标为隐含寻址A
 10011011  and 源为寄存器间接寻址
 10001011  and 源为立即数
 10000001  or 目标为隐含寻址A
 10011001  or 源为寄存器间接寻址
 10001001  or 源为立即数
 10000010  xor 目标为隐含寻址A
 10011010  xor 源为寄存器间接寻址
 10001010  xor 源为立即数
 00010*** 寄存器寻址
 00011000 前减1寄存器
间接寻址
 00011001 后加1寄存器间接寻址
 00011011 变址寻址
 00011111 直接寻址
本发明的微处理器的指令长度为1-4个字节,执行周期1-10个不等。根据译码结果,分为立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、隐含寻址、相对寻址、变址寻址、绝对寻址、向量寻址、页寻址、存储器位寻址共11种类型。如图2所示,译码后提取出立即数或者寄存器信息或者RAM的直接地址,通过多路选择器进入ALU进行运算,结果输出到RAM或者相应的寄存器单元。除常规的PC加1以外,根据不同的指令对PC指针进行调整,包括偏移量寻址、内部堆栈的地址、跳转指令的地址等。在译码器对读入的微码进行辨识以后,除了对当前操作码或者立即数进行相应的操作以外,还要判断指令总的执行周期数并记录,以此作为标志判断指令是否执行完毕,是否需要清除或者设置相应的标志寄存器,以保证***执行时序的正确性。“3”为***的复位电路,包括时钟检测复位、地址陷阱复位、WDT复位、软件复位及外部复位电路。可参考图6所示。除外部上电复位外,当***时钟停止工作,或者PC指针指向非ROM区域,或者CPU工作不正常而没有清WDT计数器时,会产生***复位信号使***复位。“4”是定时器/计数器,本***包含两个16位和两个8位多功能定时器/计数器。“5”是输入/输出端口。为双向端口,且端口可复用。“6”是ADC与数字逻辑部分的接口电路。“7”是ADC模块,本***为8位8通道的逐次逼近ADC。“8”是中断控制器。当中断请求发生并向CPU申请中断响应时,置位中断锁存器,在指令执行的第一相时钟时检测中断锁存器,发现有中断,响应中断,清中断使能标志和中断锁存器,PC自动压栈,根据向量地址表读中断服务程序的入口地址,写入PC。然后执行中断服务程序。返回后,原来的PC指针自动出栈,继续执行主程序。其时序图见图7所示。“9”是程序存储器ROM。本微处理器共有16K的EPROM,和数据存储器以及特殊寄存器和数据缓冲区连续寻址,便于访问。“10”是监视定时器WDT。在CPU工作不正常时产生中断或者内部复位信号,重启***使之正常工作,提高了***可靠性。“11”是基本定时器,提供定时,可产生基本定时器中断。“12”是时钟同步串行接口,用于器件之间的通信,可连续传送8个字节的数据。“13”是静态数据存储器RAM。参考图4,本微处理器有512字节8位的RAM,其中前128字节为通用寄存器区域,包含16组8位通用寄存器。后384字节为数据缓存区域。堆栈可设在RAM中通用寄存器以外的任意区域。当PC指向RAM区域时,会产生地址陷阱复位。这里的通用寄存器与特殊寄存器SR是分开的,另外还有数据缓冲寄存器BR和程序存储器ROM。通过地址映射电路可以连续的寻址64K地址空间。
本微处理器为CISC结构,支持各类常见的微处理器指令。共包含151条基本指令,包括数据传送交换、算术逻辑运算、比较、乘除法、移位、循环、半字节操作、位操作、跳转、调用返回、进栈退栈、软中断以及空操作类指令。根据微码的定义,指令可根据微码扩展,使用灵活。以下是本发明的基本指令集。
1、指令:mov
(1)助记符:mov p,q
编码:0001 0***1110 10**
操作:p<-q
影响标志位:JF=1,ZF=z
描述:将寄存器q的值赋给寄存器p。JF置1;传送给寄存器p的值为0x00H时ZF置1,否则清零。
(2)助记符:mov p,(x)
编码:0001 1111 1010 0***
操作:p<-(x)
影响标志位:JF=1,ZF=z
描述:将内存地址为x处的值赋给寄存器p。JF置1;传送给寄存器p的值为0x00H时ZF置1,否则清零。
(3)助记符:mov p,(HL+)
编码:0001 1001 1010 0***
操作:p<-(HL),HL<-HL+1
影响标志位:JF=1,ZF=z
描述:将内存地址为寄存器组HL内容处的值赋给寄存器p,然后HL的内容加1。JF置1;传送给寄存器p的值为0x00H时ZF置1,否则清零。
(4)助记符:mov p,(-HL)
编码:0001 1000 1010 0***
操作:HL<-HL-1,p<-(HL)
影响标志位:JF=1,ZF=z
描述:先将HL的内容减1,再将内存地址为寄存器组HL内容处的值赋给寄存器置1;传送给寄存器p的值为0x00H时ZF置1,否则清零。
(5)助记符:mov p,(HL+d)
编码:0001 1011 1010 0***
操作:p<-(HL+d)
影响标志位:JF=1,ZF=z
描述:将内存地址为寄存器组HL内容加d处的值赋给寄存器p。JF置1;传送给寄存器p的值为0x00H时ZF置1,否则清零。
(6)助记符:mov pp,(x)
编码:0001 1111 0001 10**
操作:pp<-(x+1,x)
影响标志位:JF=1
描述:将内存地址为x和x+1处的值赋给寄存器组pp。JF置1。
(7)助记符:mov pp,(HL+d)
编码:0001 1011 1110 10**
操作:pp<-(HL+d+1,HL+d)
影响标志位:JF=1
描述:将内存地址为HL内容加d+1和HL内容加d处的值赋给寄存器组pp。JF置1。
(8)助记符:mov (x),p
编码:0000 1111 1010 1***
操作:(x)<-p
影响标志位:JF=1
描述:将寄存器p的值赋给内存地址为x的内存单元。JF置1。
(9)助记符:mov (HL+),p
编码:0000 1001 1010 1***
操作:(HL)<-p,HL<-HL+1
影响标志位:JF=1
描述:将寄存器p的值赋给内存地址为HL值的内存单元,然后HL的内容加1。JF置1。
(10)助记符:mov (-HL),p
编码:0000 1000 1010 1***
操作:HL<-HL-1,(HL)<-p
影响标志位:JF=1
描述:先将HL的内容减1,然后将寄存器p的值赋给内存地址为HL值的内存单元。JF置1。
(11)助记符:mov (HL+d),p
编码:0000 1011 1010 1***
操作:(HL+d)<-p
影响标志位:JF=1
描述:将寄存器p的值赋给内存地址为HL+d值的内存单元。JF置1。
(12)助记符:mov (x),pp
编码:0000 1111 1110 11**
操作:(x+1,x)<-pp
影响标志位:JF=1
描述:将寄存器pp的值赋给内存地址为x+1和x的内存单元。JF置1。
(13)助记符:mov (HL+d),pp
编码:0000 1011 1110  11**
操作:(HL+d+1,HL+d)<-pp
影响标志位:JF=1
描述:将寄存器pp的值赋给内存地址为HL内容加d+1和HL内容加d的内存单元。JF置1。
(14)助记符:mov (x),(y)
编码:1101 1001
操作:(x)<-(y)
影响标志位:JF=1,ZF=z
描述:将内存地址为y的内存单元值赋给内存地址为x的内存单元。JF置1;如果传送的数据是0x00H,则ZF置1,否则清零。
(15)助记符:mov (x),(HL+d)
编码:0001 1011 1101 1001
操作:(x)<-(HL+d)
影响标志位:JF=1
描述:将内存地址为HL内容加d的内存单元值赋给内存地址为x的内存单元。JF置1。
(16)助记符:mov (HL),(x)
编码:0001 1111 1101 1000
操作:(HL)<-(x)
影响标志位:JF=1;ZF=z
描述:将内存地址为x的内存单元值赋给的内存地址为HL内容加d的内存单元。JF置1;如果传送的数据是0x00H,则ZF置1,否则清零。
(17)助记符:mov (HL),(HL+d)
编码:0001 1011 1101 1000
操作:(HL)<-(HL+d)
影响标志位:JF=1;ZF=z
描述:将内存地址为x的内存单元值赋给的内存地址为HL内容加d的内存单元。JF置1;如果传送的数据是0x00H,则ZF置1,否则清零。
(18)助记符:mov p,n
编码:1100 1***
操作:p<-n
影响标志位:JF=1
描述:将立即数n赋给寄存器p。JF置1。
(19)助记符:mov SP,mn
编码:0000 0101
操作:SP<-mn
影响标志位:JF=1
描述:将立即数mn赋给堆栈指针寄存器SP。JF置1。
(20)助记符:mov RBS,n
编码:1111 0000 1111
操作:RBS<-n
影响标志位:JF=1
描述:将立即数n赋给寄存器RBS。JF置1。
(21)助记符:mov (x),n
编码:1101 0011
操作:(x)<-n
影响标志位:JF=1
描述:将立即数n赋给内存地址为x的内存单元。JF置1。
(22)助记符:mov (HL),n
编码:1101 0010
操作:(HL)<-n
影响标志位:JF=1
描述:将立即数n赋给内存地址为HL值的内存单元。JF置1。
(23)助记符:mov (HL+),n
编码:0000 1001 1101 0011
操作:(HL)<-n;HL<-HL+1
影响标志位:JF=1
描述:将立即数n赋给内存地址为HL值的内存单元,然后HL的内容加1。JF置1。
(24)助记符:mov (-HL),n
编码:0000 1001 1101 0011
操作:HL<-HL-1;(HL)<-n
影响标志位:JF=1
描述:先将HL的内容减1,然后将立即数n赋给内存地址为HL值的内存单元。JF置1。
(25)助记符:mov (HL+d),n
  编码:0000 1011 1101 0011
  操作:(HL+d)<-n
  影响标志位:JF=1
  描述:将立即数n赋给内存地址为HL值加上d的内存单元。JF置1。
2、指令:cmp
(1)助记符:cmp A,(x)
编码:1000 0000
操作:A-(x)
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:比较寄存器A和内存地址为x的内存单元中的值。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(2)助记符:cmp A,(HL+)
编码:0001 1001 1000 0000
操作:A-(HL);HL<-HL+1
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:比较寄存器A和内存地址为HL的内存单元中的值,然后HL内容加1。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(3)助记符:cmp A,(-HL)
编码:0001 1000 1000 0000
操作:HL<-HL-1;A-(HL)
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:先将HL内容减1,再比较寄存器A和内存地址为HL的内存单元中的值。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(4)助记符:cmp A,(HL+d)
编码:0001 1011 1000 0000
操作:A-(HL+d)
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:比较寄存器A和内存地址为HL加d的内存单元中的值。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(5)助记符:cmp (x),(HL)
编码:0001 1111 1001 1000
操作:(x)-(HL)
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:比较内存地址为x和内存地址为HL值的内存单元中的值。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(6)助记符:cmp (HL+d),(HL)
编码:00]01 1011 1001 1000
操作:(HL+d)-(HL)
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:比较内存地址为HL值加d和内存地址为HL值的内存单元中的值。JF结果同ZF;如做减法结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(7)助记符:cmp (x),n
编码:0001 1111 1000 1000
操作:(x)-n
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:比较内存地址为x内存单元中的值和立即数n。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(8)助记符:cmp (HL+),n
编码:0001 1001 1000 1000
操作:(HL+)-n;HL<-HL+1
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:比较内存地址为HL值的内存单元中的值和立即数n,然后HL的内容加1。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(9)助记符:cmp (-HL),n
编码:0001 1000 1000 1000
操作:HL<-HL-1;(HL)-n
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:先将HL内容减1,再比较内存地址为HL值的内存单元中的值和立即数n。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第3位借位时HF置1。
(10)助记符:cmp (HL+d),n
编码:0001 1011 1000 1000
操作:(HL+d)-n
影响标志位:JF=z;ZF=z;CF=c;HF=h
描述:比较内存地址为HL加d值的内存单元中的值和立即数n。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
3、指令:add
(1)助记符:add A,(x)
编码:1000 0110
操作:A<-A+(x)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:内存地址为x的内存单元中的值加上寄存器A中的值,结果存放在寄存器A中。JF结果同ZF;当做加法,结果为0x00H时ZF置1;最高位存在进位CF置1;存在向第4位进位时HF置1。
(2)助记符:add A,(HL+)
编码:0001 1001 1000 0000
操作:A<-A+(HL);HL<-HL+1
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:内存地址为HL内存单元中的值加上寄存器A中的值,结果存放在寄存器A中,然后HL内容加1。JF结果同CF;当做加法,结果为0x00H时ZF置1;最高位存在进位CF置1;存在从第3位进位时HF置1。
(3)助记符:add A,(-HL)
编码:0001 1000 1000 0110
操作:HL<-HL-1;A<-A+(HL)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:先将HL内容减1,再将内存地址为HL内存单元中的值加上寄存器A中的值,结果存放在寄存器A中。JF结果同CF;当做加法,结果为0x00H时ZF置1;最高位存在进位CF置1;存在从第3位进位时HF置1。
(4)助记符:add A,(HL+d)
编码:0001 1011 1000 0110
操作:A<-A+(HL+d)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为HL加d的内存单元中的值加寄存器A的值,结果存放在寄存器A中。JF结果同CF;当做加法,结果为0x00H时ZF置1;最高位存在进位CF置1;存在从第3位进位时HF置1。
(5)助记符:add (x),(HL)
编码:0001 1111 1001 1110
操作:(x)<-(x)+(HL)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为x和内存地址为HL内存单元中的值相加,结果存放在内存地址为x的内存单元中。JF结果同CF;当做加法,结果为0x00H时ZF置1;最高位存在进位CF置1;存在从第3位进位时HF置1。
(6)助记符:add (HL+d),(HL)
编码:0001 1011 1001 1110
操作:(HL+d)<-(HL+d)+(HL)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为x和内存地址为HL加d的内存单元中的值相加,结果存放在内存地址为HL加d的内存单元中。JF结果同CF;如做加法结果为0x00H时ZF置1;最高位存在进位CF置1;存在从第3位进位时HF置1。
(7)助记符:add (x),n
编码:0001 1111 1000 1110
操作:(x)-n
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为x内存单元中的值和立即数n相加,结果存放在内存地址为x内存单元中。JF结果同CF;当做加法,结果为0x00H时ZF置1;最高位存在进位CF置1;存在从第3位进位时HF置1。
(8)助记符:add (HL+),n
编码:0001 1001 1000 1110
操作:(HL)<-(HL)+n;HL<-HL+1
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为HL值的内存单元中的值和立即数n相加,结果存放在内存地址为HL值的内存单元中,然后HL的内容加1。JF结果同CF;当做加法,结果为0x00H时ZF置1;最高位存在进位CF置1;存在从第3位进位时HF置1。
(9)助记符:add (-HL),n
编码:0001 1000 1000 1000
操作:HL<-HL-1;(HL)<-(HL)+n
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:先将HL内容减1,然后将内存地址为HL值的内存单元中的值和立即数n相加,结果存放在内存地址为HL值的内存单元中。JF结果同CF;当做加法,结果为0x00H时ZF置1;最高位存在进位CF置1;存在从第3位进位时HF置1。
(10)助记符:add (HL+d),n
编码:0001 1011 1000 1000
操作:(HL+d)<-(HL)+n
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为HL加d的内存单元中的值和立即数n相加,其结果存放在内存地址为HL值的内存单元中。JF结果同CF;当做加法,结果为0x00H时ZF置1;最高位存在进位CF置1;存在从第3位进位时HF置1。
4、指令:sub
(1)助记符:sub A,(x)
编码:1000 0100
操作:A<-A-(x)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:寄存器A中的值减去内存地址为x的内存单元中的值,结果存放在寄存器A中。JF结果同ZF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在向第4位借位时HF置1。
(2)助记符:sub A,(HL+)
编码:0001 1001 1000 0100
操作:A<-A-(HL);HL<-HL+1
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:寄存器A中的值减去内存地址为HL的内存单元中的值,结果存放在寄存器A中,然后HL内容加1。JF结果同CF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(3)助记符:sub A,(-HL)
编码:0001 1000 1000 0100
操作:HL<-HL-1;A<-A-(HL)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:先将HL内容减1,然后将寄存器A中的值减去内存地址为HL的内存单元中的值,结果存放在寄存器A中。JF结果同CF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(4)助记符:sub A,(HL+d)
编码:0001 1011 1000 0100
操作:A<-A-(HL+d)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:寄存器A的值减去内存地址为HL加d的内存单元中的值,结果存放在寄存器A中。JF结果同CF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(5)助记符:sub (x),(HL)
编码:0001 1111 1001 1100
操作:(x)<-(x)-(HL)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为x的内存单元值减去内存地址为HL内存单元中值,结果存放在内存地址为x的内存单元中。JF结果同CF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(6)助记符:sub (HL+d),(HL)
编码:0001 1011 1001 1100
操作:(HL+d)<-(HL+d)-(HL)
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为x的内存单元值减去内存地址为HL加d的内存单元中的值,结果存放在内存地址为HL加d的内存单元中。JF结果同CF;如做减法结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(7)助记符:sub (x),n
编码:0001 1111 1000 1100
操作:(x)<-(x)-n
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为x内存单元中的值减去立即数n,结果存放在内存地址为x内存单元中。JF结果同CF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(8)助记符:sub (HL+),n
编码:0001 1001 1000 1100
操作:(HL)<-(HL)-n;HL<-HL+1
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:将内存地址为HL值的内存单元值减去立即数n,结果存放在内存地址为HL值的内存单元中,然后HL的内容加1。JF结果同CF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(9)助记符:sub (-HL),n
编码:0001 1000 1000 1100
操作:HL<-HL-1;(HL)<-(HL)-n
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:先将HL内容减1,然后将内存地址为HL值的内存单元值减去立即数n,结果存放在内存地址为HL值的内存单元中。JF结果同CF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
(10)助记符:sub (HL+d),n
编码:0001 1011 1000 1100
操作:(HL+d)<-(HL)-n
影响标志位:JF=c;ZF=z;CF=c;HF=h
描述:内存地址为HL加d的内存单元值减去立即数n,其结果存放在内存地址为HL值的内存单元中。JF结果同CF;当做减法,结果为0x00H时ZF置1;最高位存在借位CF置1;存在从第4位借位时HF置1。
5、指令:and
(1)助记符:and A,(x)
编码:1000 0011
操作:A<-A&(x)
影响标志位:JF=z;ZF=z;
描述:寄存器A中的值和内存地址为x的内存单元中的值相与,结果存放在寄存器A中。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
(2)助记符:and A,(HL+)
编码:0001 1001 1000 0011
操作:A<-A&(HL);HL<-HL+1
影响标志位:JF=z;ZF=z;
描述:寄存器A中的值和内存地址为HL的内存单元中的值相与,结果存放在寄存器A中,然后HL内容加1。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
(3)助记符:and A,(-HL)
编码:0001 1000 1000 0011
操作:HL<-HL-1;A<-A&(HL)
影响标志位:JF=z;ZF=z;
描述:先将HL内容减1,然后将寄存器A中的值和内存地址为HL的内存单元中的值相与,结果存放在寄存器A中。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
(4)助记符:and A,(HL+d)
编码:0001 1011 1000 0011
操作:A<-A&(HL+d)
影响标志位:JF=z;ZF=z;
描述:寄存器A的值和内存地址为HL加d内存单元中的值相与,结果存放在寄存器A中。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
(5)助记符:and (x),(HL)
编码:0001 1111 1001 1011
操作:(x)<-(x)&(HL)
影响标志位:JF=z;ZF=z;
描述:将内存地址为x的内存单元值和内存地址为HL内存单元中值相与,结果存放在内存地址为x的内存单元中。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
(6)助记符:and (HL+d),(HL)
编码:0001 1011 1001 1011
操作:(HL+d)<-(HL+d)&(HL)
影响标志位:JF=z;ZF=z;
描述:将内存地址为x的内存单元值和内存地址为HL加d的内存单元中的值相与,结果存放在内存地址为HL加d的内存单元中。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
(7)助记符:and (x),n
编码:0001 1111 1000 1011
操作:(x)<-(x)&n
影响标志位:JF=z;ZF=z;
描述:将内存地址为x内存单元中的值和立即数n相与,结果存放在内存地址为x内存单元中。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
(8)助记符:and (HL+),n
编码:0001 1001 1000 1011
操作:(HL)<-(HL)&n;HL<-HL+1
影响标志位:JF=z;ZF=z;
描述:将内存地址为HL值的内存单元值和立即数n相与,结果存放在内存地址为HL值的内存单元中,然后HL的内容加1。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
(9)助记符:and (-HL),n
编码:0001 1000 1000 1011
操作:HL<-HL-1;(HL)<-(HL)&n
影响标志位:JF=z;ZF=z;
描述:先将HL内容减1,然后将内存地址为HL值的内存单元值和立即数n相与,其结果存放在内存地址为HL值的内存单元中。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
(10)助记符:and (HL+d),n
编码:0001 1011 1000 1011
操作:(HL+d)<-(HL)&n
影响标志位:JF=z;ZF=z;
描述:将内存地址为HL加d的内存单元值和立即数n相与,其结果存放在内存地址为HL值的内存单元中。JF结果同ZF;相与的结果为0x00H时ZF置1,否则清零。
6、指令:or
(1)助记符:or A,(x)
编码:1000 0001
操作:A<-A|(x)
影响标志位:JF=z;ZF=z;
描述:寄存器A中的值和内存地址为x的内存单元中的值相或,结果存放在寄存器A中。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
(2)助记符:or A,(HL+)
编码:0001 1001 1000 0001
操作:A<-A|(HL);HL<-HL+1
影响标志位:JF=z;ZF=z;
描述:寄存器A中的值和内存地址为HL的内存单元中的值相或,结果存放在寄存器A中,然后HL内容加1。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
(3)助记符:or A,(-HL)
编码:0001 1000 1000 0001
操作:HL<-HL-1;A<-A|(HL)
影响标志位:JF=z;ZF=z;
描述:先将HL内容减1,然后将寄存器A中的值和内存地址为HL的内存单元中的值相或,结果存放在寄存器A中。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
(4)助记符:or A,(HL+d)
编码:0001 1011 1000 0001
操作:A<-A|(HL+d)
影响标志位:JF=z;ZF=z;
描述:寄存器A的值和内存地址为HL加d内存单元中的值相或,结果存放在寄存器A中。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
(5)助记符:or (x),(HL)
编码:0001 1111 1001 1001
操作:(x)<-(x)|(HL)
影响标志位:JF=z;ZF=z;
描述:将内存地址为x的内存单元值和内存地址为HL内存单元中值相或,结果存放在内存地址为x的内存单元中。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
(6)助记符:or (HL+d),(HL)
编码:0001 1011 1001 1001
操作:(HL+d)<-(HL+d)|(HL)
影响标志位:JF=z;ZF=z;
描述:将内存地址为x的内存单元值和内存地址为HL加d的内存单元中的值相或,结果存放在内存地址为HL加d的内存单元中。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
(7)助记符:or (x),n
编码:0001 1111 1000 1001
操作:(x)<-(x)|n
影响标志位:JF=z;ZF=z;
描述:将内存地址为x内存单元中的值和立即数n相或,结果存放在内存地址为x内存单元中。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
(8)助记符:or (HL+),n
编码:0001 1001 1000 1001
操作:(HL)<-(HL)|n;HL<-HL+1
影响标志位:JF=z;ZF=z;
描述:将内存地址为HL值的内存单元值和立即数n相或,结果存放在内存地址为HL值的内存单元中,然后HL的内容加1。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
(9)助记符:or (-HL),n
编码:0001 1000 1000 1001
操作:HL<-HL-1;(HL)<-(HL)|n
影响标志位:JF=z;ZF=z;
描述:先将HL内容减1,然后将内存地址为HL值的内存单元值和立即数n相或,其结果存放在内存地址为HL值的内存单元中。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
(10)助记符:or (HL+d),n
编码:0001 1011 1000 1001
操作:(HL+d)<-(HL)|n
影响标志位:JF=z;ZF=z;
描述:将内存地址为HL加d的内存单元值和立即数n相或,其结果存放在内存地址为HL值的内存单元中。JF结果同ZF;相或的结果为0x00H时ZF置1,否则清零。
7、指令:xor
(1)助记符:xor A,(x)
编码:1000 0010
操作:A<-A xor(x)
影响标志位:JF=z;ZF=z;
描述:寄存器A中的值和内存地址为x内存单元中的值相异或,结果存放在寄存器A中。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
(2)助记符:xor A,(HL+)
编码:0001 1001 1000 0010
操作:A<-A xor(HL);HL<-HL+1
影响标志位:JF=z;ZF=z;
描述:寄存器A中的值和内存地址为HL内存单元中的值相异或,结果存放在寄存器A中,然后HL内容加1。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
(3)助记符:xor A,(-HL)
编码:0001 1000 1000 0010
操作:HL<-HL-1;A<-A xor(HL)
影响标志位:JF=z;ZF=z;
描述:先将HL内容减1,然后将寄存器A中的值和内存地址为HL的内存单元中的值相异或,结果存放在寄存器A中。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
(4)助记符:xor A,(HL+d)
编码:0001 1011 1000 0010
操作:A<-A xor(HL+d)
影响标志位:JF=z;ZF=z;
描述:寄存器A的值和内存地址为HL加d内存单元的值相异或,结果存放在寄存器A中。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
(5)助记符:xor (x),(HL)
编码:0001 1111 1001 1010
操作:(x)<-(x)xor(HL)
影响标志位:JF=z;ZF=z;
描述:将内存地址为x的内存单元值和内存地址为HL内存单元中值相异或,结果存放在内存地址为x的内存单元中。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
(6)助记符:xor (HL+d),(HL)
编码:0001 1011 1001 1010
操作:(HL+d)<-(HL+d)xor(HL)
影响标志位:JF=z;ZF=z;
描述:将内存地址为x的内存单元值和内存地址为HL加d的内存单元中的值相异或,结果存放在内存地址为HL加d的内存单元中。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
(7)助记符:xor (x),n
编码:0001 1111 1000 1010
操作:(x)<-(x)xor n
影响标志位:JF=z;ZF=z;
描述:将内存地址为x内存单元中的值和立即数n相异或,结果存放在内存地址为x内存单元中。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
(8)助记符:xor (HL+),n
编码:0001 1001 1000 1010
操作:(HL)<-(HL)xor n;HL<-HL+1
影响标志位:JF=z;ZF=z;
描述:将内存地址为HL值的内存单元值和立即数n相异或,结果存放在内存地址为HL的内存单元中,然后HL内容加1。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
(9)助记符:xor (-HL),n
编码:0001 1000 1000 1010
操作:HL<-HL-1;(HL)<-(HL)xor n
影响标志位:JF=z;ZF=z;
描述:先将HL内容减1,然后将内存地址为HL值的内存单元值和立即数n相异或,其结果存放在内存地址为HL值的内存单元中。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
(10)助记符:xor (HL+d),n
编码:0001 1011 1000 1010
操作:(HL+d)<-(HL)xor n
影响标志位:JF=z;ZF=z;
描述:将内存地址为HL加d的内存单元值和立即数n相异或,结果存放在内存地址为HL值的内存单元中。JF结果同ZF;相异或的结果为0x00H时ZF置1,否则清零。
8、指令:daa
(1)助记符:daa p
编码:0001 0*** 1111 0101
操作:加法指令结果的16进制->BCD码
影响标志位:JF=c,ZF=z,CF=c,HF=h
描述:执行完加法指令后,把寄存器p中的16进制结果进行十进制调整,产生BCD码。调整后的结果仍回写到寄存器p。
9、指令:dsa
(1)助记符:dsa p
编码:0001 0*** 1111 0100
操作:减法指令结果的16进制->BCD码
影响标志位:JF=c,ZF=z,CF=c,HF=h
描述:执行完减法指令后,把寄存器p中的16进制结果进行十进制调整,产生BCD码。调整后的结果仍回写到寄存器p。
10、指令:mul
(1)助记符:mul w,a
编码:1111 1101
操作:w*a->wa
影响标志位:JF=z,ZF=z
描述:寄存器w与累加器a中的无符号数相乘,结果的高字节回写到w,低字节回写到a。当高字节为0时,标志JF和ZF置1;否则清0。
11、指令:div
(1)助记符:div wa,c
编码:1111 1100
操作:wa÷c(商)->a,余数->w
影响标志位:JF=z,ZF=z,CF=c
描述:寄存器对wa与寄存器c中的无符号数相除,商写到a,余数写到w。余数为0时,标志JF和ZF置1;否则清0。如果除数寄存器c中的数据为0,或者相除后商大于100H,标志CF置1;否则清0。
12、指令:shlcf
(1)助记符:shlcf p
编码:0001 0*** 1110 0011
操作:参见下列描述
影响标志位:JF=p[7],ZF=z,CF=p[7]
描述:寄存器p中的数据左移一位,原最高位p[7]写到标志位CF中,最低位补0。具体操作参见附图M-1。标志JF和CF等于寄存器原数据的最高位。如果移位后寄存器中的数据为0,则标志ZF置1,否则清0。
13、指令:shrcf
(1)助记符:shrcf p
编码:0001 0*** 1110 0010
操作:参见下列描述
影响标志位:JF=p[0],ZF=z,CF=p[0]
描述:寄存器p中的数据右移一位,原最低位p[0]写到标志位CF中,最高位补0。具体操作参见附图M-2。标志JF和CF等于寄存器原数据的最低位。如果移位后寄存器中的数据为0,则标志ZF置1,否则清0。
14、指令:rshlcf
(1)助记符:rshlcf p
编码:0001 0*** 1110 0001
操作:参见下列描述
影响标志位:JF=p[7],ZF=z,CF=p[7]
描述:寄存器p中的数据和标志位CF循环左移一位,寄存器原最高位p[7]写到标志位CF中,原标志位CF写到寄存器最低位p[0]。具体操作参见附图M-3。标志JF和CF等于寄存器原数据的最高位。如果移位后寄存器中的数据为0,则标志ZF置1,否则清0。
15、指令:rshrcf
(1)助记符:rshrcf p
编码:0001 0*** 1110 0000
操作:参见下列描述
影响标志位:JF=p[0],ZF=z,CF=p[0]
描述:寄存器p中的数据和标志位CF循环右移一位,寄存器原最低位p[0]写到标志位CF中,原标志位CF写到寄存器最高位p[7]。具体操作参见附图M-4。标志JF和CF等于寄存器原数据的最低位。如果移位后寄存器中的数据为0,则标志ZF置1,否则清0。
16、指令:swap
(1)助记符:swap p
编码:0001 0*** 1111 1110
操作:
Figure A0315040200421
影响标志位:JF=1
描述:寄存器p中的高、低半位元组交换位置。标志JF置1。
17、指令:rshlm
(1)助记符:rshlm a,(x)
编码:0001 1111 1111 0111
操作:参见下列描述
影响标志位:JF=1
描述:累加器a的低半位元组和直接寻址单元数据的高、低半位元组循环左移,具体操作参见附图M-5。标志JF置1。
(2)助记符:rshlm a,(HL+)
编码:0001 1001 1111 0111
操作:参见下列描述
影响标志位:JF=1
描述:累加器a的低半位元组和由HL间接寻址单元数据的高、低半位元组循环左移,具体操作参见附图M-6。移位操作完成后,HL的内容累加1。标志JF置1。
(3)助记符:rshlm a,(-HL)
编码:0001 1000 1111 0111
操作:参见下列描述
影响标志位:JF=1
描述:HL的内容递减1。累加器a的低半位元组和由HL递减后间接寻址单元数据的高、低半位元组循环左移,具体操作参见附图M-7。标志JF置1。
(4)助记符:rshlm a,(HL+d)
编码:0001 1011 1111 0111
操作:参见下列描述
影响标志位:JF=1
描述:累加器a的低半位元组和由HL带偏移量间接寻址单元数据的高、低半位元组循环左移,具体操作参见附图M-8。标志JF置1。
18、指令:rshrm
(1)助记符:rshrm a,(x)
编码:0001 1111 1111 0110
操作:参见下列描述
影响标志位:JF=1
描述:累加器a的低半位元组和直接寻址单元数据的高、低半位元组循环右移,具体操作参见附图M-9。标志JF置1。
(2)助记符:rshrm a,(HL+)
编码:0001 1001 1111 0110
操作:参见下列描述
影响标志位:JF=1
描述:累加器a的低半位元组和由HL间接寻址单元数据的高、低半位元组循环右移,具体操作参见附图M-10。移位操作完成后,HL的内容累加1。标志JF置1。
(3)助记符:rshrm a,(-HL)
编码:0001 1000 1111 0110
操作:参见下列描述
影响标志位:JF=1
描述:HL的内容递减1。累加器a的低半位元组和由HL递减后间接寻址单元数据的高、低半位元组循环右移,具体操作参见附图M-11。标志JF置1。
(4)助记符:rshrm a,(HL+d)
编码:0001 1011 1111 0110
操作:参见下列描述
影响标志位:JF=1
描述:累加器a的低半位元组和由HL带偏移量间接寻址单元数据的高、低半位元组循环右移,具体操作参见附图M-12。标志JF置1。
19、指令clrb
(1)助记符:clrb (x).b
编码:1011 0***
操作: (x).b->ZF,0->(x).b
影响标志位:JF=z,ZF= (x).b
描述:将直接寻址单元的b位取反后写到标志ZF,之后将该位清0。标志JF同ZF。
(2)助记符:clrb (HL+).b
编码:0001 1001 1011 0***
操作: (HL).b->ZF,0->(HL).b,HL+1->HL
影响标志位:JF=z,ZF= (HL).b
描述:将寄存器对HL间接寻址单元的b位取反后写到标志ZF,之后将该位清0,最后把寄存器对HL中的数据累加1。标志JF同ZF。
(3)助记符:clrb (-HL).b
编码:0001 1000 1011  0***
操作:HL-1->HL, (HL).b->ZF,0->(HL).b
影响标志位:JF=z,ZF= (HL-1).b
描述:先把寄存器对HL中的数据递减1,再将寄存器对HL间接寻址单元的b位取反后写到标志ZF,之后将该位清0。标志JF同ZF。
(4)助记符:clrb (HL+d).b
编码:0001 1011 1011 0***
操作: (HL+d).b->ZF,0->(HL+d).b
影响标志位:JF=z,ZF= (HL+d).b
描述:将寄存器对HL带偏移量间接寻址单元的b位取反后写到标志ZF,之后将该位清0。标志JF同ZF。
20、指令setb
(1)助记符:setb (x).b
编码:1011 1***
操作: (x).b->ZF,1->(x).b
影响标志位:JF=z,ZF= (x).b
描述:将直接寻址单元的b位取反后写到标志ZF,之后将该位置1。标志JF同ZF。
(2)助记符:setb (HL+).b
编码:0001 1001 1011 1***
操作: (HL).b->ZF,1->(HL).b,HL+1->HL
影响标志位:JF=z,ZF= (HL).b
描述:将寄存器对HL间接寻址单元的b位取反后写到标志ZF,之后将该位置1,最后把寄存器对HL中的数据累加1。标志JF同ZF。
(3)助记符:setb (-HL).b
编码:0001 1000 1011 1***
操作:HL-1->HL, (HL).b->ZF,1->(HL).b
影响标志位:JF=z,ZF= (HL-1).b
描述:先把寄存器对HL中的数据递减1,再将寄存器对HL间接寻址单元的b位取反后写到标志ZF,之后将该位置1。标志JF同ZF。
(4)助记符:setb (HL+d).b
编码:0001 1011 1011 1***
操作: (HL+d).b->ZF,1->(HL+d).b
影响标志位:JF=z,ZF= (HL+d).b
描述:将寄存器对HL带偏移量间接寻址单元的b位取反后写到标志ZF,之后将该位置1。标志JF同ZF。
21、指令cplb
(1)助记符:cplb (x).b
编码:0001 1111 0011 1***
操作: (x).b->ZF, (x).b->(x).b
影响标志位:JF=z,ZF= (x).b
描述:将直接寻址单元的b位取反后写到标志ZF,并将该位取反后回写。标志JF同ZF。
(2)助记符:cplb (HL+).b
编码:0001 1001 0011 1***
操作: (HL).b->ZF, (HL).b->(HL).b,HL+1->HL
影响标志位:JF=z,ZF= (HL).b
描述:将寄存器对HL间接寻址单元的b位取反后写到标志ZF,并将该位取反后回写,最后把寄存器对HL中的数据累加1。标志JF同ZF。
(3)助记符:cplb (-HL).b
编码:0001 1000 0011 1***
操作:HL-1->HL, (HL).b->ZF, (HL).b->(HL).b
影响标志位:JF=z,ZF= (HL-1).b
描述:先把寄存器对HL中的数据递减1,再将寄存器对HL间接寻址单元的b位取反后写到标志ZF,并将该位取反后回写。标志JF同ZF。
(4)助记符:cplb (HL+d).b
编码:0001 1011 0011 1***
操作: (HL+d).b->ZF, (HL+d).b->(HL+d).b
影响标志位:JF=z,ZF= (HL+d).b
描述:将寄存器对HL带偏移量间接寻址单元的b位取反后写到标志ZF,并将该位取反后回写。标志JF同ZF。
22、指令movb
(1)助记符:movb cf,(x).b
编码:0010 0***
操作:(x).b->CF
影响标志位:JF= c,CF=(x).b
描述:将直接寻址单元的b位写到标志CF。标志JF与CF相反。
(2)助记符:movb cf,(HL+).b
编码:0001 1001 0010 0***
操作:(HL).b->CF,HL+1->HL
影响标志位:JF= c,CF=(HL).b
描述:将寄存器对HL间接寻址单元的b位写到标志CF,并把寄存器对HL中的数据累加1。标志JF与CF相反。
(3)助记符:movb cf,(-HL).b
编码:0001 1000 0010 0***
操作:HL-1->HL,(HL).b->CF
影响标志位:JF= c,CF=(HL-1).b
描述:先把寄存器对HL中的数据递减1,再将寄存器对HL间接寻址单元的b位写到标志CF,标志JF与CF相反。
(4)助记符:movb cf,(HL+d).b
编码:0001 1011 0010 0***
操作:(HL+d).b->CF
影响标志位:JF= c,CF=(HL+d).b
描述:将寄存器对HL带偏移量间接寻址单元的b位写到标志CF。标志JF与CF相反。
(5)助记符:movb (x).b,cf
编码:0001 1111 0011 0***
操作:CF->(x).b
影响标志位:JF=1
描述:将标志CF写到直接寻址单元的b位。标志JF置1。
(6)助记符:movb (HL+).b,cf
编码:0001 1001 0011 0***
操作:CF->(HL).b,HL+1->HL
影响标志位:JF=1
描述:将标志CF写到寄存器对HL间接寻址单元的b位,并把寄存器对HL中的数据累加1。标志JF置1。
(7)助记符:movb (-HL).b,cf
编码:0001 1000 0011 0***
操作:HL-1->HL,CF->(HL).b
影响标志位:JF=1
描述:先把寄存器对HL中的数据递减1,再将标志CF写到寄存器对HL间接寻址单元的b位,标志JF置1。
(8)助记符:movb (HL+d).b,cf
编码:0001 1011 0011 0***
操作:CF->(HL+d).b
影响标志位:JF=1
描述:将标志CF写到寄存器HL带偏移量间接寻址单元的b位,标志JF置1。
23、指令xorb
(1)助记符:xorb cf,(x).b
编码:0001 1111 0010 1***
操作:CF XOR(x).b->CF
影响标志位:JF= c,CF=CF XOR(x).b
描述:将标志CF与直接寻址单元的b位相异或,结果回写到标志CF。标志JF与CF相反。
(2)助记符:xorb cf,(HL+).b
编码:0001 1001 0010 1***
操作:CF XOR(HL).b->CF,HL+1->HL
影响标志位:JF= c,CF=CF XOR(HL).b
描述:将标志CF与寄存器对HL间接寻址单元的b位相异或,结果回写到标志CF,并把寄存器对HL中的数据累加1。标志JF与CF相反。
(3)助记符:xorb cf,(-HL).b
编码:0001 1000 0010 1***
操作:HL-1->HL,CF XOR(HL).b->CF
影响标志位:JF= c,CF=CF XOR(HL-1).b
描述:先把寄存器对HL中的数据递减1,再将标志CF与寄存器对HL间接寻址单元的b位相异或,结果回写到标志CF,标志JF与CF相反。
(4)助记符:xorb cf,(HL+d).b
编码:0001 1011 0010 1***
操作:CF XOR(HL+d).b->CF
影响标志位:JF= c,CF=CF XOR(HL+d).b
描述:将标志CF与寄存器对HL带偏移量间接寻址单元的b位相异或,结果回写到标志CF。标志JF与CF相反。
24、指令sjt
(1)助记符:sjt d
编码:011* ****
操作:参见下列描述
影响标志位:JF=1
描述:该指令跳转范围是向前15字节或退回16字节。如果标志JF为1,则程序跳转到当前指令首地址的d+2偏移量处,即程序计数器PC增加d;否则程序无跳转。标志JF置1。
25、指令sjf
(1)助记符:sjf d
编码:010* ****
操作:参见下列描述
影响标志位:JF=1
描述:该指令跳转范围是向前15字节或退回16字节。如果标志JF为0,则程序跳转到当前指令首地址的d+2偏移量处,即程序计数器PC增加d;否则程序无跳转。标志JF置1。
26、指令jt
(1)助记符:jt d
编码:0010 1001
操作:参见下列描述
影响标志位:JF=1
描述:该指令跳转范围是向前127字节或退回128字节。如标志JF为1,则程序跳转到当前指令首地址的d+2偏移量处,即程序计数器PC增加d;否则程序无跳转。标志JF置1。
27、指令jf
(1)助记符:jf d
编码:0010 1000
操作:参见下列描述
影响标志位:JF=1
描述:该指令跳转范围是向前127字节或退回128字节。如标志JF为0,则程序跳转到当前指令首地址的d+2偏移量处,即程序计数器PC增加d;否则程序无跳转。标志JF置1。
28、指令jz
(1)助记符:jz d
编码:0010 1111
操作:参见下列描述
影响标志位:JF=1
描述:该指令跳转范围是向前127字节或退回128字节。如标志ZF为1,则程序跳转到当前指令首地址的d+2偏移量处,即程序计数器PC增加d;否则程序无跳转。标志JF置1。
29、指令jnz
(1)助记符:jnz d
编码:0010 1110
操作:参见下列描述
影响标志位:JF=1
描述:该指令跳转范围是向前127字节或退回128字节。如标志ZF为0,则程序跳转到当前指令首地址的d+2偏移量处,即程序计数器PC增加d;否则程序无跳转。标志JF置1。
30、指令jc
(1)助记符:jc d
编码:0010 1101
操作:参见下列描述
影响标志位:JF=1
描述:该指令跳转范围是向前127字节或退回128字节。如标志CF为1,则程序跳转到当前指令首地址的d+2偏移量处,即程序计数器PC增加d;否则程序无跳转。标志JF置1。
31、指令jnc
(1)助记符:jnc d
编码:0010 1100
操作:参见下列描述
影响标志位:JF=1
描述:该指令跳转范围是向前127字节或退回128字节。如标志CF为0,则程序跳转到当前指令首地址的d+2偏移量处,即程序计数器PC增加d;否则程序无跳转。标志JF置1。
32、指令jmp
(1)助记符:jmp xy
编码:0000 0001
操作:xy->PC
影响标志位:JF=1
描述:程序跳转到地址为16位立即数xy的指令存贮单元。即将立即数xy赋值给程序计数器PC。标志JF置1。
(2)助记符:jmp(x)
编码:0001 1111 0000 0001
操作:(x+1,x)->PC
影响标志位:JF=1
描述:程序跳转到地址为内存单元(x+1,x)内容的指令存贮单元。即将内存单元(x+1,x)中的数据赋值给程序计数器PC。标志JF置1。
(3)助记符:jmp (hl+d)
编码:0001 1011 0000 0001
操作:(hl+d+1,hl+d)->PC
影响标志位:JF=1
描述:程序跳转到地址为存贮单元(hl+d+1,hl+d)内容的指令存贮单元。即将存贮单元(hl+d+1,hl+d)中的数据赋值给程序计数器PC。标志JF置1。
33、指令calv
(1)助记符:calv d
编码:0011 ****
操作:PC-1->(SP,SP-1),SP-2->SP,
(FFC1+d*2,FFC0+d*2)->PC
影响标志位:无描述:该指令为矢量调用指令,可访问16个不同的子程序。首先将程序计数器PC的当前值减1后压栈,同时把栈顶指针减2,然后将矢量表单元对(d*2+FFC1,d*2+FFC0)中的16位数据赋给PC,程序跳转到此时PC指向的地址,即所调用子程序的首地址。
34、指令calp
(1)助记符:calp d
编码:0000 0010
操作:PC->(SP,SP-1),SP-2->SP,FF00+d->PC
影响标志位:无
描述:该指令为页面调用指令。首先将程序计数器PC的当前值压栈,同时栈顶指针减2,然后将页面首地址FF00加上偏移量d赋给PC,程序跳转到此时PC指向的地址,即所调用子程序的首地址。
35、指令cal
(1)助记符:cal xy
编码:0000 0011
操作:PC+1->(SP,SP-1),SP-2->SP,xy->PC
影响标志位:无
描述:首先将程序计数器PC的当前值加1后压栈,同时栈顶指针减2,然后将16位数据xy赋给PC,程序跳转到此时PC指向的地址,即所调用子程序的首地址。
(2)助记符:cal (x)
编码:0001 1111 0000 0011
操作:PC+1->(SP,SP-1),SP-2->SP,(x+1,x)->PC
影响标志位:无
描述:首先将程序计数器PC的当前值加1后压栈,同时栈顶指针减2,然后将内存单元(x+1,x)中的16位数据赋给PC,程序跳转到此时PC指向的地址,即所调用子程序的首地址。
(3)助记符:cal (hl+d)
编码:0001 1011 0000 0011
操作:PC+1->(SP,SP-1),SP-2->SP,(hl+d+1,hl+d)->PC
影响标志位:无
描述:首先将程序计数器PC的当前值加1后压栈,同时栈顶指针减2,然后将存贮单元(hl+d+1,hl+d)中的16位数据赋给PC,程序跳转到此时PC指向的地址,即所调用子程序的首地址。
36、指令ret
(1)助记符:ret
编码:1111 1010
操作:SP+2->SP,(SP,SP-1)->PC
影响标志位:无
描述:该指令为子程序调用返回指令。首先将栈顶指针加2,然后将堆栈单元(SP,SP-1)中的数据赋给PC,程序跳转到此时PC指向的地址,即执行调用子程序指令的下一条指令。
37、指令reti
(1)助记符:reti
编码:1111 1011
操作:SP+3->SP,(SP-1,SP-2)->PC,(SP)->PSW
影响标志位:参见下列描述
描述:该指令为可屏蔽中断服务程序返回指令。首先将栈顶指针加3,然后将堆栈单元(SP-1,SP-2)中的数据赋给PC,同时将堆栈单元(SP)中的数据赋给程序状态字PSW,程序跳转到此时PC指向的地址,即执行中断发生时将要执行的下一条指令。此时各状态标志位(JF,ZF,CF,HF)恢复为中断服务程序执行前的数值。
38、指令retn
(1)助记符:retn
编码:0001 0111 1111 1011
操作:SP+3->SP,(SP-1,SP-2)->PC,(SP)->PSW
影响标志位:参见下列描述
描述:该指令为不可屏蔽中断服务程序返回指令。首先将栈顶指针加3,然后将堆栈单元(SP-1,SP-2)中的数据赋给PC,同时将堆栈单元(SP)中的数据赋给程序状态字PSW,程序跳转到此时PC指向的地址,即执行中断发生时将要执行的下一条指令。此时各状态标志位(JF,ZF,CF,HF)恢复为中断服务程序执行前的数值。
39、指令push
(1)助记符:push PSW
编码:1111 1000
操作:(PSW)->(SP),SP-1->SP
影响标志位:无
描述:将程序状态字PSW压栈,同时将栈顶指针减1。
(2)助记符:push pp
编码:0001 01** 1111 1000
操作:pp->(SP,SP-1),SP-2->SP
影响标志位:无
描述:将寄存器对pp中的数据压栈,同时将栈顶指针减2。
40、指令pop
(1)助记符:pop PSW
编码:1111 1001
操作:SP+1->SP,(SP)->PSW
影响标志位:参见下列描述
描述:将栈顶指针加1,然后将堆栈单元(SP)中的数据赋给程序状态字PSW。此时各状态标志位(JF,ZF,CF,HF)恢复为最近一条压栈指令执行前的数值。
(2)助记符:pop pp
编码:0001 01** 1111 1001
操作:SP+2->SP,(SP,SP-1)->pp
影响标志位:无
描述:将栈顶指针加2,然后将堆栈单元(SP,SP-1)中的数据赋给寄存器对pp。
41、指令swi
(1)助记符:swi
编码:0000 0000
操作:PSW->(SP),PC-1->(SP-1,SP-2),SP-3->SP,
0->IEN,(FFFD,FFFC)->PC
影响标志位:无
描述:该指令为软件中断指令。先将程序状态字PSW压栈到堆栈单元(SP),再将程序计数器递减后压栈到堆栈单元(SP-1,SP-2),同时栈顶指针减3,并将中断使能总标志IEN清0。禁止对所有可屏蔽中断的响应。最后将中断入口地址存贮单元(FFFD,FFFC)中的数据赋给程序计数器PC,从而执行软件中断服务程序。
42、指令nop
(1)助记符:nop
编码:1111 1111
操作:无
影响标志位:无
描述:该指令为空操作指令。

Claims (19)

1.一种基于CISC结构的微控制器构架,该微控制器核包括程序存储器,数据随机存储器,特殊功能寄存器堆,数据总线和地址总线,流水线指令结构,数据缓冲区,通用算术逻辑单元,指令读取及译码器和***控制模块,其中,所述的数据总线分为各自分离的8位内部数据总线和8位程序数据总线,所述的***控制模块用于产生***时钟、***复位以及各种读写控制电路,所述的流水线指令结构为单级四段流水线指令结构,该单级四段流水线指令处理结构分为4个部分,首先是指令读取及译码电路,该指令读取及译码器通过上述8位程序数据总线从程序存储器读入指令,并对指令进行译码分解;然后通过控制电路根据译码结果读取寄存器或者存储器的内容;再通过算术逻辑单元进行运算;之后对运算的结果存入寄存器或者数据存储器单元;当执行调用、返回等指令时,会对程序指针进行压栈和出栈操作,当执行跳转等指令时,有指针偏移操作,同时在每读下一字节指令时,会对PC有加1的操作。
2.根据权利要求1所述的基于CISC结构的微控制器构架,其特征在于所述的数据存储器(RAM)、程序存储器(ROM)、特殊功能寄存器和数据缓冲区域是空间独立的,利用地址映射电路将它们的地址映射在连续的空间上,并可扩展。
3.一种基于CISC结构的微控制器的指令实现方式,其特征在于该微控制器的指令集共有151条基本指令,该微控制器支持各类常见的微处理器指令,包括数据传送交换、算术逻辑运算、比较、乘除法、移位循环、半字节操作、位操作、跳转、调用返回、进栈退栈、软中断以及空操作类指令,指令执行周期最短的1个工作周期,最长的10个工作周期,指令可以进行相应的扩展。
4.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集包括25条数据传送指令,每条指令有其唯一的操作码识别,指令实现将源地址的数据传送到目的地址中,由于源地址和目的地址可以是多种寻址方式,使得每条指令包含1-4个字节不等的指令编码,产生一类控制信号控制完成:1)控制有关寄存器将数据传送至通用算术逻辑单元(2)控制通用算术逻辑单元完成地址的计算(3)控制从源地址提取数据(4)控制数据写入目的地址。
5.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括10条比较指令,每条指令有其唯一的操作码识别,指令实现将源地址的数据与目的地址的数据进行比较,每条指令包含1-4个字节不等的指令编码,产生一类控制信号控制完成:(1)控制有关寄存器将地址数据传送至通用算术逻辑单元(2)控制通用算术逻辑单元完成地址的计算(3)控制从源地址和目的地址提取数据传送至通用算术逻辑单元(4)控制通用算术逻辑单元执行减法操作(5)控制将减法的结果设置标志寄存器。
6.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括50条算术逻辑运算指令,每条指令有其唯一的操作码识别,指令实现将源地址的数据与目的地址的数据进行算术或逻辑运算,每条指令包含1-4个字节不等的指令编码,产生一类控制信号控制完成:(1)控制有关寄存器将地址数据传送至通用算术逻辑单元(2)控制通用算术逻辑单元完成地址的计算(3)控制从源地址和目的地址提取数据传送至通用算术逻辑单元(4)控制通用算术逻辑单元执行指令要求的算术逻辑操作(5)控制将运算的结果写入目的寄存器。
7.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括2条十进制调整指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,指令实现将寄存器中的16进制结果进行十进制调整,产生BCD码,调整后的结果仍回写到寄存器p。
8.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括2条乘除法指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,指令实现寄存器w与累加器a中的无符号数相乘并回写结果,指令实现寄存器对wa与寄存器c中的无符号数相除并回写。
9.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括13条循环移位和半字节操作指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,指令实现寄存器或者寄存器与内存的数据的移位或者半字节移位。
10.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括24条位操作指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,指令实现对寄存器或者内存单元数据的位进行设置和运算。
11.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括11条跳转指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,根据偏移量指令实现程序的跳转。
12.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括8条调用、返回指令,每条指令有其唯一的操作码识别,根据不同的寻址方式,产生控制信号,根据不同的寻址方式,指令实现子程序的调用和返回。
13.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括4条进栈退栈指令,产生控制信号,指令实现对程序状态字和寄存器内容的压栈和出栈。
14.如权利要求3所述的微控制器,其特征在于所述的指令集还包括1条软中断指令,产生控制信号,指令实现软件中断。
15.如权利要求3所述的微控制器的指令实现方式,其特征在于所述的指令集还包括1条空操作指令,产生控制信号,指令实现空操作。
16.如权利要求3至15任一项所述的微控制器的指令实现方式,其特征在于读入的指令通过所述的指令读取及译码器分解,按分解后的微指令码进行译码,并执行相应的操作,根据寻址方式不同,译码后将操作数或者操作码分别存储于不同的操作数寄存器、微指令码寄存器、内存或者特殊的寄存器。
17.如权利要求16所述的微控制器的指令实现方式,其特征在于所述不同的寻址方式按寻址类型分别为立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、隐含寻址、相对寻址、变址寻址、绝对寻址、向量寻址、页寻址和存储器位寻址共11种类型。
18.如权利要求3至15任一项所述的微控制器的指令实现方式,其特征在于指令执行的顺序是在时钟的第一相读入指令码并译码,同时处理中断等,第二相读内存单元或者寄存器的数据并存储,第三相执行通用算术逻辑单元操作,完成指令要求的各种运算或者偏移量的计算,第四相将指令运算得的结果写入内存及相关寄存器,同时在每一相进行相关标志位的设置和指令周期存储计算的操作。
19.如权利要求3所述的微控制器的指令实现方式,其特征在于中断处理的方式为当中断请求发生时,置位中断锁存器,在指令执行的第一相时钟时检测中断锁存器,响应中断,并清中断使能标志和中断锁存器,PC在中断程序执行前后自动压栈和出栈;所述的中断的种类包括软件中断、外部中断、定时器中断、WDT中断、串行接口中断,中断可嵌套,除软件中断和WDT中断外可控制中断源屏蔽。
CNB031504027A 2003-08-18 2003-08-18 一种基于cisc结构的微控制器及其指令集的实现方法 Expired - Fee Related CN100545804C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CNB031504027A CN100545804C (zh) 2003-08-18 2003-08-18 一种基于cisc结构的微控制器及其指令集的实现方法
CN2007101872125A CN101299185B (zh) 2003-08-18 2003-08-18 一种基于cisc结构的微处理器结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031504027A CN100545804C (zh) 2003-08-18 2003-08-18 一种基于cisc结构的微控制器及其指令集的实现方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2007101872125A Division CN101299185B (zh) 2003-08-18 2003-08-18 一种基于cisc结构的微处理器结构

Publications (2)

Publication Number Publication Date
CN1584824A true CN1584824A (zh) 2005-02-23
CN100545804C CN100545804C (zh) 2009-09-30

Family

ID=34597504

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB031504027A Expired - Fee Related CN100545804C (zh) 2003-08-18 2003-08-18 一种基于cisc结构的微控制器及其指令集的实现方法
CN2007101872125A Expired - Fee Related CN101299185B (zh) 2003-08-18 2003-08-18 一种基于cisc结构的微处理器结构

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2007101872125A Expired - Fee Related CN101299185B (zh) 2003-08-18 2003-08-18 一种基于cisc结构的微处理器结构

Country Status (1)

Country Link
CN (2) CN100545804C (zh)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101344875B (zh) * 2008-08-15 2011-11-23 无锡中星微电子有限公司 一种片上集成***SoC的APB总线桥
CN102270111A (zh) * 2011-08-11 2011-12-07 中国科学院声学研究所 一种指令译码方法和指令集模拟装置
CN101625643B (zh) * 2009-05-08 2012-01-04 四川和芯微电子股份有限公司 一种8051单片机地址映射方法
CN101178644B (zh) * 2006-11-10 2012-01-25 上海海尔集成电路有限公司 一种基于复杂指令集计算机结构的微处理器架构
CN101495960B (zh) * 2006-07-25 2012-08-29 高通股份有限公司 有效的中断返回地址保存机制
CN102779023A (zh) * 2011-05-12 2012-11-14 中兴通讯股份有限公司 一种处理器的环回结构及数据环回处理方法
CN103150146A (zh) * 2013-01-31 2013-06-12 西安电子科技大学 基于可扩展处理器架构的专用指令集处理器及其实现方法
CN103186977A (zh) * 2011-12-30 2013-07-03 无锡华润矽科微电子有限公司 微处理器中实现遥控信号发射指令控制的电路结构
WO2015024482A1 (zh) * 2013-08-19 2015-02-26 上海芯豪微电子有限公司 变长指令字处理器***和方法
CN104484157A (zh) * 2006-09-22 2015-04-01 英特尔公司 用于处理文本串的指令和逻辑
CN105094749A (zh) * 2009-12-22 2015-11-25 英特尔公司 Simd向量的同步化
CN105824603A (zh) * 2016-03-14 2016-08-03 西南交通大学 一种基于cisc指令集的流水线取指和译码方法
CN106020017A (zh) * 2016-05-16 2016-10-12 深圳清华大学研究院 微控制器及其控制方法
CN107305538A (zh) * 2016-04-22 2017-10-31 北京中科寒武纪科技有限公司 一种子矩阵运算装置及方法
CN107315571A (zh) * 2016-04-27 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行全连接层神经网络正向运算的装置和方法
CN107315715A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行矩阵加/减运算的装置和方法
CN107315566A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行向量循环移位运算的装置和方法
CN107315565A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于生成服从一定分布的随机向量装置和方法
CN107315575A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行向量合并运算的装置和方法
CN107315563A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行向量比较运算的装置和方法
CN107315574A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行矩阵乘运算的装置和方法
CN107688466A (zh) * 2016-08-05 2018-02-13 北京中科寒武纪科技有限公司 一种运算装置及其操作方法
CN107704267A (zh) * 2016-04-29 2018-02-16 北京中科寒武纪科技有限公司 一种卷积神经网络运算指令及其方法
CN109101272A (zh) * 2018-02-05 2018-12-28 上海寒武纪信息科技有限公司 神经网络处理装置及其执行矩阵相乘指令的方法
CN109324984A (zh) * 2018-09-14 2019-02-12 北京地平线机器人技术研发有限公司 在卷积运算中使用循环寻址的方法和装置
CN109460254A (zh) * 2018-09-25 2019-03-12 杭州旗捷科技有限公司 一种指令处理方法、cpu交互***及采用该***的耗材芯片
CN109739557A (zh) * 2019-01-08 2019-05-10 郑州云海信息技术有限公司 零开销循环装置及实现方法、***、设备、计算机介质
US10534841B2 (en) 2016-04-22 2020-01-14 Cambricon Technologies Corporation Limited Appartus and methods for submatrix operations
CN111258651A (zh) * 2020-01-16 2020-06-09 合肥磐芯电子有限公司 一种8位risc-cpu***
CN111831331A (zh) * 2020-07-16 2020-10-27 中国科学院计算技术研究所 用于分形智能处理器的分形可重配指令集
CN111857824A (zh) * 2020-07-16 2020-10-30 中国科学院计算技术研究所 用于分形智能处理器的控制***、方法及电子设备
CN112631657A (zh) * 2019-09-24 2021-04-09 阿里巴巴集团控股有限公司 用于字符串处理的字节比较方法以及指令处理装置
CN113779755A (zh) * 2021-08-05 2021-12-10 中科联芯(广州)科技有限公司 一种硅基多光谱集成电路芯片的设计方法和集成电路芯片

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356145B2 (en) * 2010-01-15 2013-01-15 Qualcomm Incorporated Multi-stage multiplexing operation including combined selection and data alignment or data replication
CN103488462B (zh) * 2013-09-06 2016-04-13 暨南大学 一种改进型8051ip核
CN114661355B (zh) * 2022-05-24 2022-12-02 深圳市智想科技有限公司 Risc架构处理器的寄存器架构、寄存器组及risc架构处理器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0338725A (ja) * 1989-07-05 1991-02-19 Mitsubishi Electric Corp データ処理装置及びマイクロプロセッサ
JP2581018B2 (ja) * 1994-09-12 1997-02-12 日本電気株式会社 データ処理装置
US5600674A (en) * 1995-03-02 1997-02-04 Motorola Inc. Method and apparatus of an enhanced digital signal processor
FR2770660B1 (fr) * 1997-11-03 2000-08-25 Inside Technologies Microprocesseur, notamment pour carte a puce

Cited By (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101495960B (zh) * 2006-07-25 2012-08-29 高通股份有限公司 有效的中断返回地址保存机制
US9632784B2 (en) 2006-09-22 2017-04-25 Intel Corporation Instruction and logic for processing text strings
US9740490B2 (en) 2006-09-22 2017-08-22 Intel Corporation Instruction and logic for processing text strings
CN104484157A (zh) * 2006-09-22 2015-04-01 英特尔公司 用于处理文本串的指令和逻辑
US9804848B2 (en) 2006-09-22 2017-10-31 Intel Corporation Instruction and logic for processing text strings
US9740489B2 (en) 2006-09-22 2017-08-22 Intel Corporation Instruction and logic for processing text strings
US9720692B2 (en) 2006-09-22 2017-08-01 Intel Corporation Instruction and logic for processing text strings
US10261795B2 (en) 2006-09-22 2019-04-16 Intel Corporation Instruction and logic for processing text strings
US10929131B2 (en) 2006-09-22 2021-02-23 Intel Corporation Instruction and logic for processing text strings
US11023236B2 (en) 2006-09-22 2021-06-01 Intel Corporation Instruction and logic for processing text strings
US9703564B2 (en) 2006-09-22 2017-07-11 Intel Corporation Instruction and logic for processing text strings
US9645821B2 (en) 2006-09-22 2017-05-09 Intel Corporation Instruction and logic for processing text strings
US9772847B2 (en) 2006-09-22 2017-09-26 Intel Corporation Instruction and logic for processing text strings
US11029955B2 (en) 2006-09-22 2021-06-08 Intel Corporation Instruction and logic for processing text strings
CN104484157B (zh) * 2006-09-22 2017-10-24 英特尔公司 用于处理文本串的指令和逻辑
US9772846B2 (en) 2006-09-22 2017-09-26 Intel Corporation Instruction and logic for processing text strings
US11537398B2 (en) 2006-09-22 2022-12-27 Intel Corporation Instruction and logic for processing text strings
US9495160B2 (en) 2006-09-22 2016-11-15 Intel Corporation Instruction and logic for processing text strings
CN101178644B (zh) * 2006-11-10 2012-01-25 上海海尔集成电路有限公司 一种基于复杂指令集计算机结构的微处理器架构
CN101344875B (zh) * 2008-08-15 2011-11-23 无锡中星微电子有限公司 一种片上集成***SoC的APB总线桥
CN101625643B (zh) * 2009-05-08 2012-01-04 四川和芯微电子股份有限公司 一种8051单片机地址映射方法
CN105094749A (zh) * 2009-12-22 2015-11-25 英特尔公司 Simd向量的同步化
WO2012151822A1 (zh) * 2011-05-12 2012-11-15 中兴通讯股份有限公司 一种处理器的环回结构及数据环回处理方法
CN102779023A (zh) * 2011-05-12 2012-11-14 中兴通讯股份有限公司 一种处理器的环回结构及数据环回处理方法
CN102270111B (zh) * 2011-08-11 2014-01-01 中国科学院声学研究所 一种指令译码方法和指令译码装置
CN102270111A (zh) * 2011-08-11 2011-12-07 中国科学院声学研究所 一种指令译码方法和指令集模拟装置
CN103186977A (zh) * 2011-12-30 2013-07-03 无锡华润矽科微电子有限公司 微处理器中实现遥控信号发射指令控制的电路结构
CN103186977B (zh) * 2011-12-30 2016-02-03 无锡华润矽科微电子有限公司 微处理器中实现遥控信号发射指令控制的电路结构
CN103150146B (zh) * 2013-01-31 2015-11-25 西安电子科技大学 基于可扩展处理器架构的专用指令集处理器及其实现方法
CN103150146A (zh) * 2013-01-31 2013-06-12 西安电子科技大学 基于可扩展处理器架构的专用指令集处理器及其实现方法
WO2015024482A1 (zh) * 2013-08-19 2015-02-26 上海芯豪微电子有限公司 变长指令字处理器***和方法
US10140126B2 (en) 2013-08-19 2018-11-27 Shanghai Xinhao Microelectronics Co. Ltd. Variable length instruction processor system and method
CN105824603B (zh) * 2016-03-14 2018-07-31 西南交通大学 一种基于cisc指令集的流水线取指和译码方法
CN105824603A (zh) * 2016-03-14 2016-08-03 西南交通大学 一种基于cisc指令集的流水线取指和译码方法
CN107305538A (zh) * 2016-04-22 2017-10-31 北京中科寒武纪科技有限公司 一种子矩阵运算装置及方法
US10534841B2 (en) 2016-04-22 2020-01-14 Cambricon Technologies Corporation Limited Appartus and methods for submatrix operations
CN108491359A (zh) * 2016-04-22 2018-09-04 北京中科寒武纪科技有限公司 子矩阵运算装置及方法
CN108388541A (zh) * 2016-04-22 2018-08-10 北京中科寒武纪科技有限公司 卷积运算装置及方法
CN109240746A (zh) * 2016-04-26 2019-01-18 北京中科寒武纪科技有限公司 一种用于执行矩阵乘运算的装置和方法
CN111857819A (zh) * 2016-04-26 2020-10-30 中科寒武纪科技股份有限公司 一种用于执行矩阵加/减运算的装置和方法
CN111857819B (zh) * 2016-04-26 2024-05-03 中科寒武纪科技股份有限公司 一种用于执行矩阵加/减运算的装置和方法
CN107315574A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行矩阵乘运算的装置和方法
CN111651199B (zh) * 2016-04-26 2023-11-17 中科寒武纪科技股份有限公司 一种用于执行向量循环移位运算的装置和方法
CN107315563A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行向量比较运算的装置和方法
US11080049B2 (en) 2016-04-26 2021-08-03 Cambricon Technologies Corporation Limited Apparatus and methods for matrix multiplication
CN107315715A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行矩阵加/减运算的装置和方法
CN107315566A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行向量循环移位运算的装置和方法
CN107315575A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行向量合并运算的装置和方法
US10891353B2 (en) 2016-04-26 2021-01-12 Cambricon Technologies Corporation Limited Apparatus and methods for matrix addition and subtraction
CN107315565A (zh) * 2016-04-26 2017-11-03 北京中科寒武纪科技有限公司 一种用于生成服从一定分布的随机向量装置和方法
US10592241B2 (en) 2016-04-26 2020-03-17 Cambricon Technologies Corporation Limited Apparatus and methods for matrix multiplication
CN107315574B (zh) * 2016-04-26 2021-01-01 安徽寒武纪信息科技有限公司 一种用于执行矩阵乘运算的装置和方法
CN109240746B (zh) * 2016-04-26 2020-12-18 安徽寒武纪信息科技有限公司 一种用于执行矩阵乘运算的装置和方法
US10860681B2 (en) 2016-04-26 2020-12-08 Cambricon Technologies Corporation Limited Apparatus and methods for matrix addition and subtraction
US10853069B2 (en) 2016-04-26 2020-12-01 Cambricon Technologies Corporation Limited Apparatus and methods for comparing vectors
CN107315565B (zh) * 2016-04-26 2020-08-07 中科寒武纪科技股份有限公司 一种用于生成服从一定分布的随机向量装置和方法
CN107315563B (zh) * 2016-04-26 2020-08-07 中科寒武纪科技股份有限公司 一种用于执行向量比较运算的装置和方法
US10761991B2 (en) 2016-04-26 2020-09-01 Cambricon Technologies Corporation Limited Apparatus and methods for circular shift operations
CN111651199A (zh) * 2016-04-26 2020-09-11 中科寒武纪科技股份有限公司 一种用于执行向量循环移位运算的装置和方法
CN107315715B (zh) * 2016-04-26 2020-11-03 中科寒武纪科技股份有限公司 一种用于执行矩阵加/减运算的装置和方法
CN107315566B (zh) * 2016-04-26 2020-11-03 中科寒武纪科技股份有限公司 一种用于执行向量循环移位运算的装置和方法
CN107315571A (zh) * 2016-04-27 2017-11-03 北京中科寒武纪科技有限公司 一种用于执行全连接层神经网络正向运算的装置和方法
CN107704267B (zh) * 2016-04-29 2020-05-08 中科寒武纪科技股份有限公司 一种卷积神经网络运算指令及其方法
CN107704267A (zh) * 2016-04-29 2018-02-16 北京中科寒武纪科技有限公司 一种卷积神经网络运算指令及其方法
US10592801B2 (en) 2016-04-29 2020-03-17 Cambricon Technologies Corporation Limited Apparatus and methods for forward propagation in convolutional neural networks
CN106020017A (zh) * 2016-05-16 2016-10-12 深圳清华大学研究院 微控制器及其控制方法
CN106020017B (zh) * 2016-05-16 2019-02-01 深圳清华大学研究院 微控制器及其控制方法
CN107688466B (zh) * 2016-08-05 2020-11-03 中科寒武纪科技股份有限公司 一种运算装置及其操作方法
CN107688466A (zh) * 2016-08-05 2018-02-13 北京中科寒武纪科技有限公司 一种运算装置及其操作方法
US11836497B2 (en) 2018-02-05 2023-12-05 Shanghai Cambricon Information Technology Co., Ltd Operation module and method thereof
CN109101272A (zh) * 2018-02-05 2018-12-28 上海寒武纪信息科技有限公司 神经网络处理装置及其执行矩阵相乘指令的方法
CN109324984B (zh) * 2018-09-14 2020-06-26 北京地平线机器人技术研发有限公司 在卷积运算中使用循环寻址的方法和装置
CN109324984A (zh) * 2018-09-14 2019-02-12 北京地平线机器人技术研发有限公司 在卷积运算中使用循环寻址的方法和装置
CN109460254A (zh) * 2018-09-25 2019-03-12 杭州旗捷科技有限公司 一种指令处理方法、cpu交互***及采用该***的耗材芯片
CN109739557B (zh) * 2019-01-08 2022-02-18 郑州云海信息技术有限公司 零开销循环装置及实现方法、***、设备、计算机介质
CN109739557A (zh) * 2019-01-08 2019-05-10 郑州云海信息技术有限公司 零开销循环装置及实现方法、***、设备、计算机介质
CN112631657A (zh) * 2019-09-24 2021-04-09 阿里巴巴集团控股有限公司 用于字符串处理的字节比较方法以及指令处理装置
CN112631657B (zh) * 2019-09-24 2024-06-11 阿里巴巴集团控股有限公司 用于字符串处理的字节比较方法以及指令处理装置
CN111258651B (zh) * 2020-01-16 2022-05-17 合肥磐芯电子有限公司 一种8位risc-cpu***
CN111258651A (zh) * 2020-01-16 2020-06-09 合肥磐芯电子有限公司 一种8位risc-cpu***
CN111831331A (zh) * 2020-07-16 2020-10-27 中国科学院计算技术研究所 用于分形智能处理器的分形可重配指令集
CN111831331B (zh) * 2020-07-16 2024-04-05 中国科学院计算技术研究所 用于分形智能处理器的分形可重配指令集
CN111857824A (zh) * 2020-07-16 2020-10-30 中国科学院计算技术研究所 用于分形智能处理器的控制***、方法及电子设备
CN113779755A (zh) * 2021-08-05 2021-12-10 中科联芯(广州)科技有限公司 一种硅基多光谱集成电路芯片的设计方法和集成电路芯片
CN113779755B (zh) * 2021-08-05 2023-11-17 中科联芯(广州)科技有限公司 一种硅基多光谱集成电路芯片的设计方法和集成电路芯片

Also Published As

Publication number Publication date
CN101299185B (zh) 2010-10-06
CN101299185A (zh) 2008-11-05
CN100545804C (zh) 2009-09-30

Similar Documents

Publication Publication Date Title
CN1584824A (zh) 一种基于cisc结构的微处理器构架及指令实现方式
CN1246772C (zh) 处理器
CN1186718C (zh) 微控制器指令集
CN1135468C (zh) 对存储设备中信号数据字执行数字信号处理的方法和装置
CN1244051C (zh) 对于处理数据的装置和方法
CN1117316C (zh) 采用多个向量寄存器组的单指令多数据处理方法及其装置
CN1112635C (zh) 多媒体信号处理器中的单指令多数据处理方法及其装置
CN1103961C (zh) 协处理器的数据访问控制装置和方法
CN1472646A (zh) 适应性强具备最佳化功能的编译装置
CN1625731A (zh) 具有多种长度指令集体系结构的可配置数据处理器
CN1875345A (zh) 在编译过程中表示和检查程序组件的一致性的可扩展类型***
CN1605058A (zh) 关于嵌入式字段可编程门阵列核心的接口结构
CN1427335A (zh) 电路组控制***
CN1484787A (zh) 处理器流水线中的硬件指令翻译
CN1226323A (zh) 数据处理装置寄存器
CN1469241A (zh) 处理器、程序变换装置和变换方法以及计算机程序
CN1993709A (zh) 信号处理设备
CN101040306A (zh) 伪随机数生成装置
CN1269052C (zh) 支持缩小代码长度的常量还原型处理器
CN1155884C (zh) 通过大范围的同值关系的解析来消除传输命令的优化装置
CN1516001A (zh) 一种新型risc流水线微控制器构架及其操作方法
CN1993673A (zh) 数据处理装置、数据处理程序及记录了数据处理程序的记录介质
CN1152300C (zh) 多媒体信号处理器中的单指令多数据处理方法及其装置
CN1788254A (zh) 关于Lyee指向软件的静态分析方法
CN1104679C (zh) 数据处理装置和数据处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090930

Termination date: 20160818

CF01 Termination of patent right due to non-payment of annual fee