UM10398 LPC111x/LPC11Cxx User manual啓12.3 - 10 2014年6月說LPC111x系列是否支持帶有高寄存器的MOV指令?
在這些指令中,Rd和Rm必須只在「28.5指定 「28.5.5.5.3限制」 R0-R7
。 5.5 MOV和MVN「。
在另一方面, 「實施例28.5.5.5.5」 在UM10398說
MOVS R0, #0x000B ; Write value of 0x000B to R0, flags get updated MOVS R1, #0x0 ; Write value of zero to R1, flags are updated MOV R10, R12 ; Write value in R12 to R10, flags are not updated MOVS R3, #23 ; Write value of 23 to R3 MOV R8, SP ; Write value of stack pointer to R8 MVNS R2, R0 ; Write inverse of R0 to the R2 and update flags
在這個例子中,R10
,R12
,R8
和SP
是儘管它們不使用似乎R0-R7
。 (SP
似乎相當於R13
,根據UM10398 28.4.1.3內核寄存器)
一件事是,當我讀,我發現
MOV路,RM 0 1 0 0 0 1 1 0 H1 H2 _ Rm _ _ Rd _
並且此建議高寄存器可用於MOV
指令。該文件還表示,
路或Rm必須是*高*登記
這個MOV Rd, Rm
指令。
雖然與S
指令(標誌更新)不是這份文件上(在無S
這個文件的說明更新標誌表示)和本文件應該是另一個CPU(也許有在GBA使用,根據網址路徑),我用這個文檔作爲參考,希望LPC111x的指令集與本文檔中描述的類似。
最後,我可以做
MOV R0, R1
(低寄存器低寄存器)MOV R8, R1
(低寄存器高寄存器)MOV R0, R9
(高寄存器低寄存器)MOV R8, R9
(高寄存器到高寄存器)
在LPC111x(或LPC1114FN28/102,如果您需要指定特定的CPU)?