第1天-ARM匯編指令MOV/MVN
MOV : 傳送
(Move)
本文引用地址:http://m.butianyuan.cn/article/201611/321991.htmMOV{條件}{S} , dest = op_1MOV從另一個寄存器、被移位的寄存器、或一個立即值裝載一個值到目的寄存器。你可以指定相同的寄存器來實現(xiàn) NOP 指令的效果,你還可以專門移位一個寄存器:
如果 R15 是目的寄存器,將修改程序計數(shù)器或標(biāo)志。這用于返回到調(diào)用代碼,方法是把連接寄存器的內(nèi)容傳送到 R15:
MOV PC, R14 ; 退出到調(diào)用者 MOVS PC, R14 ; 退出到調(diào)用者并恢復(fù)標(biāo)志位
MVN : 傳送取反的值
(MoveNegative)
MVN{條件}{S} , dest = !op_1
MVN從另一個寄存器、被移位的寄存器、或一個立即值裝載一個值到目的寄存器。不同之處是在傳送之前位被反轉(zhuǎn)了,所以把一個被取反的值傳送到一個寄存器中。這是邏輯非操作而不是算術(shù)操作,就是二進(jìn)制的取反,比如二進(jìn)制是0B11001100,取反就是0B00110011,轉(zhuǎn)換為10進(jìn)制就是,這個取反的值加 1 才是它的取負(fù)的值:
MVN R0, #4 ; R0 = -5 MVN R0, #0 ; R0 = -1
評論