久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
ARM匯編語言中MOV MVN LDR區別
[打印本頁]
作者:
51hei單片
時間:
2016-3-13 17:21
標題:
ARM匯編語言中MOV MVN LDR區別
個人總結,如有錯誤,歡迎糾正,謝謝!!
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偽指令就不用的原因。
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
不卡视频一区二区
|
亚洲综合色网
|
国产在线日韩
|
日韩国产精品视频
|
欧美日韩中文在线
|
中文字幕第5页
|
国产一区二区三区精品视频
|
国产免费av在线
|
欧美一区二区三区的
|
黄色一级片免费
|
91av免费在线观看
|
亚洲在线视频
|
久久精品视频国产
|
欧美a级黄色片
|
久久日本
|
国产偷自拍
|
黄色影院在线观看
|
一级特黄妇女高潮
|
欧美区一区二
|
日韩一区二区在线视频
|
日韩视频免费在线观看
|
黄色片www
|
国产日韩精品一区二区
|
欧美日韩亚洲国产
|
日本福利视频
|
亚洲精品网站在线观看
|
欧美爱爱视频
|
日韩黄色免费视频
|
日韩香蕉视频
|
免费网站观看www在线观看
|
国产午夜精品福利
|
欧美日韩久久久
|
美女网站视频在线观看
|
国产白丝精品91爽爽久久
|
国产激情一区二区三区
|
日韩av在线看
|
一色桃子av
|
日韩激情久久
|
久色成人
|
韩日中文字幕
|
亚洲涩涩涩
|