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