久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4538|回復: 0
打印 上一主題 下一主題
收起左側

ARM匯編語言中MOV MVN LDR區別

[復制鏈接]
跳轉到指定樓層
樓主
ID:108615 發表于 2016-3-13 17:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
個人總結,如有錯誤,歡迎糾正,謝謝!。

MOV指令可以完成從另一個寄存器,被移位的寄存器或將一個立即數加載到目的寄存器。
例如:
MOV  R1,     R0
MOV  R1,  R0,  LSL   #3
MOV  R1 ,    #3
但把立即數賦給一個寄存器,對立即數的范圍有要求。只能是由8bit連續有效位通過偶
數次移位能得到的數。如果立即數超出這個范圍,就沒辦法用一條MOV指令給寄存器賦值。
例如:
MOV   R0,    #0xFF
這條指令的意思是將0xFF這個立即數復制到R0寄存器中去,且MOV 指令只能將寄存器
中的數相互的復制。

MVN指令可以完成從另一個寄存器,被移位的寄存器或將一個立即數加載到目的寄存器。
與MOV指令不同之處傳送之前按位取反了,即把一個被取反的值傳送到目的寄存器中。
例如:
MVN  R0,  #0  //是將立即數0去反后傳送給寄存器R0的。
這條指令的意思是將MOV指令不能操作的一些立即數進行操作!也是只能在寄存器中相互
復制。

ARM指令集中,LDR通常都是作為加載指令的,但是它也可以作偽指令。
LDR,STR作為加載指令, 用于寄存器和存儲器之間的數據傳輸。一般用在寄存器間接尋址
或基址變址尋址。
例如:
LDR   R1,  [R0]    //寄存器間接尋址
LDR   R1,  [R0,#3]  //基址變址尋址

LDR 作為偽指令和ARM的LDR指令很像,但是作用不太一樣。LDR偽指令可以在立即數前
加上=,以表示把一個地址寫到某寄存器中。
LDR   R1,  =0xxxxx
當第二個操作數0xxxxx沒有超過MOV或者MVN 第二個操作數的范圍,就會將指令之間編
譯成MOV    R1 ,    #0xxxxx或者MVN    R1 ,    #0xxxxx(取反后的值)

當第二個操作數0xxxxx超過MOV或者MVN 第二個操作數的范圍,編譯器將該常數放在數據
緩沖區中,同時用一條基于PC的LDR指令讀取該常數。但是LDR偽指令處到數據緩沖區(
也叫做  文字池)的目標數據所在的地址偏移量一定要小于4KB,否則出錯。這也是能不用
LDR偽指令就不用的原因。




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 女生羞羞网站 | 91黄色免费看 | 欧美精品三区 | 亚洲成在线观看 | 成人在线视频一区二区三区 | 精品成人av | 欧美精品一区二区三区在线 | 欧一区二区| 欧美黑人一级爽快片淫片高清 | 97福利在线 | 日韩精品视频中文字幕 | 一级毛片视频 | 国产资源视频 | 狠狠的干 | 亚洲一区二区三区在线视频 | 国产一级片 | 日韩av一区二区在线观看 | 国产一区二区精品在线 | 91av在线免费| 在线a视频 | 久久久精彩视频 | 91九色porny首页最多播放 | 国产又色又爽又黄又免费 | 本道综合精品 | 天天看天天爽 | 欧美大片一区 | www.日本在线观看 | 国产精品18hdxxxⅹ在线 | 久久久久久国产精品久久 | 99久久久久久99国产精品免 | 欧美精品在线视频 | 中文字幕一区二区三区四区五区 | 久久成人免费观看 | 美女天天干天天操 | 日韩精品视频在线 | 99国产精品久久久 | 欧美日韩国产精品一区 | 91在线视频免费观看 | 在线观看国产三级 | 亚洲国产一区二区三区, | 中文字幕第九页 |