2014-04-15 15 views
0

我要加載多個存儲器字,以在ARM組件使用LDM命令寄存器等如何將可變數量的內存字加載到ARM程序集中的寄存器中?

LDMFA r9!, {r0-r5} ; 

其中R9具有起始內存字節的地址被加載和6個存儲器字被加載到寄存器從r0至R5。我如何修改這條指令以加載可變數量的內存字?它應該支持將1到12個存儲字加載到一組寄存器中。

我想實現從一個內存位置到另一個內存位置的值的複製。用戶可以給出源地址的起始地址和要複製的字節數。

+0

作爲auselen說,這是不可能的,因爲指令進行編碼的方式,也許你應該告訴我們到底要達到什麼,也許有更好的方式來做到這一點。 –

+0

看到一個體面的memcpy實現,它應該使用ldm。 – auselen

回答

2

所有這些寄存器編號都會在編譯/彙編時嵌入到指令中,所以沒有辦法使外部行爲可以改變。

enter image description here

相關問題