【摘要】:以下的符号loc16/loc32表示指令是16还是32位操作数。表3-2列出了AMODE=0时的直接寻址语法。表3-3 AMODE=1时的直接寻址语法注:一个数据页为128个字。直接寻址实例:SETCAMODE ;令AMODE=1.lp_amode ;告知汇编器按照AMODE=l的语法MOVW DP,#VarA ;用变量VarA所在页地址值装载DPADD AL,@@VarA ;将VarA存储单元的内容加到AL中MOV @@VarB,AL ;将AL内容存入VarB存储单元,VarB与VarA应在同一页由表中操作数地址说明部分可见,直接寻址的32位数据地址部分始终为0,因此,直接寻址只能访问C28x数据地址低端的4MB空间。
直接寻址方式(Direct Addressing Mode)操作数的22位物理地址被分成两部分,16位的数据页指针(DP)寄存器作为固定的页指针,指令中提供6位或7位的偏移量,这些偏移量与DP中的值一起确定操作数的地址。
下面按照AMODE的取值不同介绍对应语法。以下的符号loc16/loc32表示指令是16还是32位操作数。
表3-2列出了AMODE=0时的直接寻址语法。
表3-2 AMODE=0时的直接寻址语法
注:一个数据页为64个字。
直接寻址实例:
MOVW DP,#VarA ;用变量VarA所在页地址值装载DP
ADD AL,@VarA ;将VarA存储单元的值加到AL中,此处的符号@可以省略
MOV @VarB,AL ;将AL内容存入VarB存储单元,VarB与VarA应在同一页表3-3列出了AMODE=1时的直接寻址语法。
表3-3 AMODE=1时的直接寻址语法(www.daowen.com)
注:一个数据页为128个字。
直接寻址实例:
SETCAMODE ;令AMODE=1
.lp_amode ;告知汇编器按照AMODE=l的语法
MOVW DP,#VarA ;用变量VarA所在页地址值装载DP
ADD AL,@@VarA ;将VarA存储单元的内容加到AL中
MOV @@VarB,AL ;将AL内容存入VarB存储单元,VarB与VarA应在同一页
由表中操作数地址说明部分可见,直接寻址的32位数据地址(31:22)部分始终为0,因此,直接寻址只能访问C28x数据地址低端的4MB空间(21:0)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Piccolo系列DSP控制器原理与开发的文章