<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          ARM中的匯編指令

          作者: 時(shí)間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
          BIC:ARM指令,對(duì)某些位,清零。先取反再相與。

          asm("BIC r2, r2, #0x1f"); ##對(duì)R2的低5位清零。

          本文引用地址:http://www.ex-cimer.com/article/201611/318770.htm

          ORR:ARM指令,邏輯或

          asm("ORR r2, r2, #0x10"); ##R2邏輯與0x10。

          MRS:asm("MRS r2, CPSR"); ##將CPSR的值加載到R2中。

          MSR:asm("MSR CPSR, r2"); ##將R2的值加載到CPSR中。

          asm(" SWI 0x0"); ##跳轉(zhuǎn)到軟件中斷函數(shù),并轉(zhuǎn)換為SVC模式。

          LDR:{條件}目的寄存器 存儲(chǔ)器寄存器。將存儲(chǔ)地址所指的4個(gè)字節(jié)數(shù)據(jù)傳送到寄存器,其中尋址方式會(huì)有很多種。

          asm("ldr r0,=0xddeeaabb"); ##在這里ldr是一個(gè)偽指令,相當(dāng)于move指令。

          asm("ldr r0, [r1]");##將存儲(chǔ)器地址為r1的一個(gè)字的數(shù)據(jù)加載到r0中。

          MRC與MCR:在處理器寄存器與協(xié)處理器寄存器之間交換數(shù)據(jù)。

          MRC {cond} coproc, opcode1, Rd, CRn, CRm {,opcode2}

          asm("mrc p15,0,r0,c1,c1,0"); ##在CRn, CRm均為c1, opcode均為0時(shí),表示SCR

          (Secure Configuration Register),表示將c1的值賦值給r0.

          asm("mcr p15,0,r0,c1,c1,0"); ##將r0的值賦值給c1.

          asm("mcr p15,0,r0,c12,c0,0"); ##將r0的值賦值給c12,此時(shí)c12表示VBAR,

          Vector Base Address Register,存放異常時(shí)的入口地址。

          SMC:(Secure Monitor Call). asm(" SMC 0x0"); ##將ARM core切換到Trust Zone模式。

          asm("mov r2, r2, lsr, #4"); ##r2左移4位后,加載到r2中。

          asm("str r3, [sp, #-4]"); ##將r3中的數(shù)據(jù)加載到堆棧中,堆棧頂指針向前移4.

          asm("ldmia r0!, {r3-r10}"); ##ldmia多寄存器加載指令,將r0地址中的數(shù)據(jù)加載到r3中,且每次r0增加4.

          !表示,最終r0的值會(huì)改變。

          asm("SVC 0x0"); ##arm core轉(zhuǎn)為Supervisor模式。



          關(guān)鍵詞: ARM中匯編指

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();