第1天-ARM匯編指令MOV/MVN
MOV : 傳送
(Move)
本文引用地址:http://www.ex-cimer.com/article/201611/321991.htmMOV{條件}{S} , dest = op_1MOV從另一個(gè)寄存器、被移位的寄存器、或一個(gè)立即值裝載一個(gè)值到目的寄存器。你可以指定相同的寄存器來實(shí)現(xiàn) NOP 指令的效果,你還可以專門移位一個(gè)寄存器:
如果 R15 是目的寄存器,將修改程序計(jì)數(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從另一個(gè)寄存器、被移位的寄存器、或一個(gè)立即值裝載一個(gè)值到目的寄存器。不同之處是在傳送之前位被反轉(zhuǎn)了,所以把一個(gè)被取反的值傳送到一個(gè)寄存器中。這是邏輯非操作而不是算術(shù)操作,就是二進(jìn)制的取反,比如二進(jìn)制是0B11001100,取反就是0B00110011,轉(zhuǎn)換為10進(jìn)制就是,這個(gè)取反的值加 1 才是它的取負(fù)的值:
MVN R0, #4 ; R0 = -5 MVN R0, #0 ; R0 = -1
評論