第3章指令集 第3章 ADSP-2116x指令集 ADSP- 21161采用48位的超长指令字,在一条指令中可以完成多种操作。按照DSP的不同操作, 指令集可分为4大组: 1.计算和数据存取指令: 条件,计算,数据移动,或一个地址寄存器修改。 数据移动又称数据存取,写(存)操作是把数据从寄存器送到存储器,读(取)操 作是把数据从存储器取出放到寄存器中。数据不能用指令直接从一个存储器单元传 送到另一个存储器单元(但是可以用DMA来完成)。 2.程序流控制: 条件,跳转/调用/返回/循环,计算或一个数据存取。 3.数据存取: 不带条件和计算,用寄存器对存储单元存取,或把一个立即数直接存入存储器,立 即数包含在指令中,由指令直接指明。 4.其它类指令: 位修改,位测试,空闲操作,等待中断,堆栈操作。 上述1、2组体现了ADSP超级哈佛结构的高效特点。表3.1列出了ADSP- 2116X所有的23种指令形式。在3.2节再对每种指令形式作详细解释。 大多数指令可以有三个域,每个域表明一类操作,自左至右分为: 条件域,计算域,存取域。 这些域都是可选的,例如一条指令中可以只有计算操作。 有条件域时,若条件满足,则执行指令中的计算和存取操作;若条件不满足,就不执 行指令中的计算和存取操作。 3.1 指令总表 表3.1 ADSP-2116x的指令形式 |组 |类型 |指令形式 ……