2010-08-04 79 views

回答

2

維基百科通常對這類事情很好。它看起來像是在常規上將64K的地址空間增加到1MB。

http://en.wikipedia.org/wiki/MSP430#MSP430X_20-bit_extension

+0

感謝哥們, 我很感謝您的回覆。這真的很有幫助。 – Adnan 2010-08-06 10:39:11

+0

Ian's比我的要好。你應該點擊他問題旁邊的勾號框來接受這個答案。謝謝! – Rup 2010-08-06 18:08:32

4

爲430X架構的基本變化是引入一個20位地址範圍以允許尋址64K外側上的原始430個器件上可用。有一組新的指令在20位地址上與舊式16位指令並行運行。例如

CALL ; takes a 16 bit address  
CALLA ; takes a 20 bit address 

PUSH ; Push the bottom 16 bits of a register onto the stack 
PUSHA ; Push the full 20 bit register 

爲基於430處理器編譯的現有代碼將在430X處理器的底部64K地址空間內運行。在開發工具(IAR和可能Rowley)中,您可以指定內存模型,以便在確保代碼不跨越64K邊界時不會生成較長的函數調用和其他430X特定指令。

+0

感謝哥們, 我很感謝你的迴應。這真的很有幫助。 – Adnan 2010-08-06 10:46:56

+0

20位(* not * 24)位的引用:http://en.wikipedia.org/wiki/TI_MSP430#MSP430X_20-bit_extension – 2012-03-25 07:15:41

0

MSP430X擴展只有20位地址空間。所以CALLA只需要一個20位地址。