Hexagon DSP的十二种寻址模式
绝对寻址
绝对寻址模式将32位的值作为有效内存地址。例如:
R2 = memw(##100000) // load R2 with word from addr 100000
memw(##200000) = R4 // store R4 to word at addr 200000
绝对偏移寻址
绝对偏移寻址模式将32位的常数对其至指定的通用寄存器,然后使用该值作为有效的内存地址。例如:
R2 = memw(R1=##400000) // load R2 with word from addr 400000
// and load R1 with value 400000
memw(R3=##600000) = R4 // store R4 to word at addr 600000
// and load R3 with value 600000
寄存器绝对偏移寻址
寄存器绝对偏移寻址模式根据2位寄存器中存储的值对32位通用寄存器的值算术左移,然后将移位后的32位常数相加来获得32位的有效内存地址。例如:
R2 = memh(##100000 + R3 << 3) // load R2 with signed halfword
// from addr [100000 + (R3 << 3)]
在汇编语言的编写中,偏移值通常会通过寄存器来指定字节偏移量。
注:这种地址模式用于从全局表中导入元素,在全局表中可将立即数值作为表格的名称,寄存器保存的是元素的编号。
全局指针相对寻址
全局指针相对寻址模式将一个无符号偏移值加到Hex