ARM數(shù)據(jù)處理指令
數(shù)據(jù)處理指令分為3類:數(shù)據(jù)傳送指令,如mov;算術邏輯運算指令,如add、sub和and等;比較指令,如tst等。 數(shù)據(jù)傳送指令用于向寄存器傳入一個常數(shù)。該指令包括一個目標寄存器和一個源操作數(shù)?! ∷阈g邏輯運算指令通常包括一個目標寄存器和兩個源操作數(shù)。其中一個源操作數(shù)為寄存器的值; 比較指令不保存運算結果,只更新cpsr中相應的條件標志位?! ?shù)據(jù)處理指令包括以下指令?! 。?)mov 數(shù)據(jù)傳送指令 mov指令可完成從另一個寄存器、被移位的寄存器裝載一個值到目的寄存器;或將一個立即值裝載到目的寄存器??梢灾付ㄏ嗤募拇嫫鱽韺嵀^nop指令的效果。還可以專門移位一個寄存器?! 。?)mvn 數(shù)據(jù)求反傳送指令 mvn指令可完成從另一個寄存器、被移位的寄存器裝載一個值到目的寄存器;或將一個立即值裝載到目的寄存器。不同之處是在傳送之前位被反轉了,所以把一個被取反的值傳送到一個寄存器中。這是邏輯非操作而不是算術操作,這個取反的值加1才是它的取負的值?! 。?)cmp 比較指令 cmp允許把一個寄存器的內(nèi)容與另一個寄存器的內(nèi)容或立即值進行比較,更改狀態(tài)標志來允許進行條件執(zhí)行。它進行一次減法,但不存儲結果,而是正確地更改標志。標志表示的是操作數(shù)1比操作數(shù)2如何(大小等)。如果操作數(shù)1大于操作數(shù)2,則此后的有gt后綴的指令將可以執(zhí)行。明顯地,不需要顯式地指定s后綴來更改狀態(tài)標志;如果指定了它則被忽略?! g迎轉載,信息來源維庫電子市場網(wǎng)()