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