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

標(biāo)題: ARM匯編語言中MOV MVN LDR區(qū)別 [打印本頁]

作者: 51hei單片    時(shí)間: 2016-3-13 17:21
標(biāo)題: ARM匯編語言中MOV MVN LDR區(qū)別
個(gè)人總結(jié),如有錯(cuò)誤,歡迎糾正,謝謝!!!

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

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

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

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

當(dāng)?shù)诙䝼(gè)操作數(shù)0xxxxx超過MOV或者M(jìn)VN 第二個(gè)操作數(shù)的范圍,編譯器將該常數(shù)放在數(shù)據(jù)
緩沖區(qū)中,同時(shí)用一條基于PC的LDR指令讀取該常數(shù)。但是LDR偽指令處到數(shù)據(jù)緩沖區(qū)(
也叫做  文字池)的目標(biāo)數(shù)據(jù)所在的地址偏移量一定要小于4KB,否則出錯(cuò)。這也是能不用
LDR偽指令就不用的原因。









歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩a在线| 亚洲综合一区二区三区 | 久久精品视频在线播放 | avhd101在线成人播放 | 国产免费一级一级 | 亚洲精品久久久一区二区三区 | 成人av免费播放 | 久久精品亚洲欧美日韩久久 | 欧美精品综合在线 | 欧美理论在线观看 | 精品影院 | 日韩欧美一区二区三区免费观看 | 欧美一区二区三区在线观看视频 | 国产伦精品一区二区三区照片91 | 亚洲九色 | 狠狠草视频 | 久久精品美女 | 日本 欧美 国产 | 日韩在线欧美 | 在线观看国产网站 | 黄色av大片 | 在线亚州 | 国产精品视频一二三区 | 日韩电影一区 | 国产电影一区二区 | 国产日韩欧美激情 | 国产羞羞视频在线观看 | 一区中文字幕 | 91久久久久久久久久久 | 亚洲日韩中文字幕一区 | 黄色大片免费看 | 亚洲国产一区二区三区在线观看 | 亚洲免费一区二区 | 国产乱码精品一区二区三区五月婷 | 少妇久久久 | 久久国产精品久久久久 | 久久精品亚洲 | 亚洲一区二区三区免费 | 成人亚洲综合 | 国产成人免费在线 | 国产日韩一区二区三免费高清 |