28035里怎么给怎么给XAR0-XAR7赋值?
MOVL XAR0 #0x55555555
我需要给XAR0=0x55555555,这样写不行,值太大了
Eric Ma:
peter,
你这种方法属于直接寻址,
MOVL XAR2,#Array1 ; Load XAR2 with start address of Array1
所以地址范围超出了。
XAR0 to XAR7 (auxiliary register pointers): In this mode, the 32-bit XARn registers behave as generic data pointers. The instruction can direct to post-increment, pre/post-decrement, or index from the current register contents with either a 3-bit immediate offset field or with the contents of another 16-bit register.
你可以参照一下TMS320C28x CPU and Instruction Set Reference Guide p133,里面的汇编指令并没有把数据放在XARn的指令。
Eric
28035里怎么给怎么给XAR0-XAR7赋值?
MOVL XAR0 #0x55555555
我需要给XAR0=0x55555555,这样写不行,值太大了
peter shi:
回复 Eric Ma:
loc32Selects Direct/Stack/Indirect/Register addressing mode for 32-bit data access
# Immediate operand
MOVL XARn,loc32 Load 32-bit auxiliary register
MOVL XAR0,@0x410 把地址0x410的值放入辅助寄存器,间接寻址
MOVL XAR0,#0x410 把数值0x410放入辅助寄存器,直接寻址
我怎么写XAR2=0x55555555呢?
28035里怎么给怎么给XAR0-XAR7赋值?
MOVL XAR0 #0x55555555
我需要给XAR0=0x55555555,这样写不行,值太大了
peter shi:
回复 peter shi:
asm(" MOV AL,#0x5555"); asm(" MOV AH,#0x5555 "); asm(" MOVL XAR0,@ACC ");
XAR0写入了0x55555555,怎么比较,确认XAR0 = 0x55555555?
我想做的是CPUREGISTER CHECK,
先写辅助寄存器XAR0 = 0X55555555,然后比较,确认XAR0=0x55555555写入成功
然后再写辅助寄存器XAR0 = 0XAAAAAAAA,然后比较,确认XAR0=0xAAAAAAAA写入成功
确认辅助寄存器XAR0能正常工作