欢迎来到天天文库
浏览记录
ID:42768576
大小:913.00 KB
页数:66页
时间:2019-09-22
《3、寻址方式和指令系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第3章:TMS320C240x寻址方式和指令系统3.1寻址方式3.2指令集3.3典型指令说明3.1寻址方式存储器寻址方式立即寻址直接寻址间接寻址3.1寻址方式1、立即寻址含义:指令中已包含有执行指令所需的操作数;说明:①在数值或符号前加‘#’表示立即数;②立即数有两种形式:短立即寻址:可指定8、9、13位常数作为操作数,需1个指令字长立即寻址:指定16位数作为操作数,需2个指令字例如:①采用短立即寻址RPT指令RPT#99;将紧跟在后面的语句重复99+1次②采用长立即寻址ADD指令ADD#65534,2;将数据65534左移两位后
2、,再将结果加至累加器3.1寻址方式2、直接寻址含义:用指令中包含的数据存储器地址的低7位+基地址→16位数据存储器地址。基地址:DP__数据页指针指令寄存器的内容:位15~8:指示指令类型(操作码)和指令所访问的数据值的移位信息。位7:直接/间接指示符。0-直接寻址;1-间接寻址。位6~0:指示指令访问的数据存储器的偏移量。DP作为基地址的直接寻址方式3.1寻址方式2、直接寻址步骤:①设置数据页面:将适当的值(0~511)加载到DP。可利用LDP或任何能将数值加载到ST0的指令。②指定偏移地址:给出7位偏移地址作为指令的操作数。注
3、·:不必在每条使用直接寻址的指令前都设置数据页面。如果代码块内的所有指令都访问同一数据页面,只须在该指令块的前面加载一个DP。必须保证在访问新的数据页面前改变DP。3.1寻址方式2、直接寻址例:①使用直接寻址的ADD指令LDP#4;将数据页面设置为4ADD9h,5;数据存储器地址0209h中的内容左移5位与累;加器的内容相加数据地址的产生3.1寻址方式2、直接寻址例:②使用直接寻址的ADDC指令LDP#500;将数据页面设置为500ADDC6h;数据存储器地址FA06h中的内容及进位位(C)的值与累;加器的内容相加数据地址的产生3
4、.1寻址方式3、间接寻址含义:按辅助寄存器(AR)中的内容寻址数据存储器用途:主要用在需要存储器地址以步进方式连续变化的场合。说明:(1)当前辅助寄存器通过向状态寄存器ST0中的3位辅助寄存器指针(ARP)在装入0~7,可选择特定的辅助寄存器。ARP可由MAR、LST或任何支持间接寻址的指令装载。ARP所指的寄存器被作为当前寄存器(AR)。执行指令时,当前AR的内容用作被访问的数据存储器地址。3.1寻址方式3、间接寻址(2)间接寻址选项不加也不减:指令使用当前AR的内容作为数据存储器的地址,但当前AR的内容既不增加也不减少。加1或
5、减1:指令使用当前AR的内容作为数据存储器的地址,但当前AR的内容加1或减1。加或减一个变址量:指令使用当前AR的内容作为数据存储器的地址,然后使当前AR的内容加或减一个变址量,该变址量为AR0中的值。加或减一个变址量且反向进位:指令使用当前AR的内容作为数据存储器的地址,然后使当前AR的内容加或减一个变址量,该变址量为AR0中的值,采用反向进位方式(用于FFT)。3.1寻址方式选项操作数例子不增不减*LACC*用当前AR所指的DM地址中的内容装载累加器增1*+LACC*+用当前AR所指的DM地址中的内容装载累加器然后当前AR的内
6、容加1减1*-LACC*-用当前AR所指的DM地址中的内容装载累加器然后当前AR的内容减1加变址量*0+LACC*0+用当前AR所指的DM地址中的内容装载累加器然后当前AR的内容加上AR0的内容减变址量*0-LACC*0-用当前AR所指的DM地址中的内容装载累加器然后当前AR的内容减去AR0的内容加变址量反向进位*BRO+LACC*BRO+用当前AR所指的DM地址中的内容装载累加器然后当前AR的内容加上AR0的内容,采用反向进位减变址量反向进位*BRO-LACC*BRO-用当前AR所指的DM地址中的内容装载累加器然后当前AR的内容
7、减去AR0的内容,采用反向进位5.1寻址方式3、间接寻址(3)辅助寄存器除了更新当前AR内容外,某些指令还可以指明下一个AR。例:MAR*,AR1;将当前AR设为AR1LACL*+,AR2;将AR1所指向的地址中的内容装载到;ACC的低16位,AR1内容加1,使;AR2为当前ARSACL*+;将ACC的低16位存于AR2所指向的地址;单元,AR2内容加15.1寻址方式3、间接寻址(4)间接寻址操作码格式指令寄存器的内容:位15~8:指定指令类型及与数据移位相关的信息。位7:直接/间接指示。1为间接寻址方式,0为直接寻址方式。位6~
8、4:AR更新代码ARU,确定是否对AR进行更新以及将其增加还是减少位3:下一AR指示符N。指定该指令是否改变ARP的值,0-ARP内容不变;1-下一个辅助寄存器AR的内容加载到ARP,原ARP的值加载到ST1的ARB。位2~0:下一AR的值NAR。
此文档下载收益归作者所有