下面是一些mpc860的bsp中的汇编代码。哪位大侠给解释一下
lis r4, HIADJ(start) /* load r4 with the address */ addi r4, r4, LO(start) /* of start */
好像上面两句的意思是把start的地址装入r4里吧,为什么不用lwz r4,start呢,非要拆成两句呢??
lis r5, HIADJ( (ROM_BASE_ADRS & BR_BA_MSK) | BR_V) addi r5, r5, LO((ROM_BASE_ADRS & BR_BA_MSK) | BR_V) stw r5, BR0(0)(r4)
这句的意思你明白么,他的目的是想吧BR0的初始值装入BR0寄存器吧,可是根据ppc860Siu.h里BR0(base)的宏定义 这里的BR(0)(r4)宏展开之后的有效地址就是(r4),并没有放到BR0里啊!!