汇编指令包含的信息越多,它同高级语言的距离越短(一条C语句包含的指令信息更多),反之越远。高级语言同汇编语言相比当然是高级语言容易一些。所以我说指令包含的信息多,编程就相对容易一些。
举2个例子来说明48Bit指令和32Bit指令的特点: ADI: dm(0xXXXXXXXX)=r0; TI: mvkl.s1 0xXXXXXXXX, a1 mvkh.s1 0xXXXXXXXX, a1 stw.d1 a0,*a1 ADI sharck的一条指令可以完成TI 67x 3条指令的功能(将一个寄存器的值存入DSP内部存储空间中的某一个地方)。关键就在于:一条ADI的48Bit指令就可以包含一个操作类型,一个32bit目标地址,一个源寄存器地址这些信息。而TI 672x的32Bit指令就必须用3条指令才能表达这样的信息,所以编写程序的难度和复杂度就相对大一些。
另外一个例子,TI 67x指令要实现Loop,必须要有3条Loop相关指令,而ADI只要一条。
至于楼上所说的:“汇编难不难的是CPU是否是流水线结构以及流水线深度、CPU本身的结构”当然也是正确的。
|