ARM課程-(NO.6.寄存器)

ARM

ARM體系結(jié)構(gòu)的數(shù)據(jù)存儲方式

  • 處理器用于存儲數(shù)據(jù)的方式有:大端小端法
  • ARM9處理器微處理器支持字節(jié)(8字節(jié))耐版,半字(16字節(jié)),字(32位)
  • CPU與內(nèi)存通過數(shù)據(jù)連接

指令長度與數(shù)據(jù)類型

異常

  • 只要程序的正常的程序流被暫時中止渠牲,處理器將進入異常模式乳丰。
  • 如果發(fā)生兩個或更多異常散址,那么將按照固定的異常優(yōu)先級來處理喉镰。
Paste_Image.png

復(fù)位異常

  • 強制CPSR中M[4:0]變?yōu)閎0011(管理模式)
  • 置位CPSR的I和F位
  • 清零CPSR中的T位
  • 強制PC從0x00開始對下一條指令進行取指
  • 返回到ARM狀態(tài)并恢復(fù)執(zhí)行

未定義指令異常

MOVS pc,R14_und

軟件中斷異常

MOVS pc,R14_svc

預(yù)取指中止異常

SUBS PC,R14_abt,#4

數(shù)據(jù)中止異常

SUBS PC,R14_abt,#8

IRQ

SUBS PC,R14_irq,#4

FIQ

SUBS PC,R14_fiq,#4

進入異常的過程

  • 程序在系統(tǒng)模式下運行用戶程序旅择,允許IRQ終端
    • 將CPSR寄存器內(nèi)容進行備份存入SPSR中
    • 置位I位(禁止IRQ中斷)
    • 清零T位(進入ARM狀態(tài))
    • 設(shè)置MOD位,換處理器模式至IRQ模式
    • 將下一條指令的地址存取IRQ的LR
    • 將跳轉(zhuǎn)地址存入PC

從異常返回

  • 將SPSR寄存器的值復(fù)制回CPSR
  • 將LR寄存的值減去一個常量后復(fù)制到PC寄存器侣姆,跳轉(zhuǎn)到被中斷用戶程序生真。

ARM微處理器的指令的格式

Paste_Image.png

C語言執(zhí)行過程

  • 預(yù)處理->編譯(把C語言程序轉(zhuǎn)換為匯編.s)->匯編(將匯編轉(zhuǎn)換為二進制指令.o)->鏈接(鏈接庫文件與.o文件生成可執(zhí)行文件)

ARM指令的分類與格式

Paste_Image.png
  • <>位必須有沉噩,{}為可選的


    Paste_Image.png

ARM指令的尋址方式

Paste_Image.png

尋址方式

  • 立即數(shù)尋址:操作數(shù)作為指令的一部分而直接寫在指令中,這種操作數(shù)稱為立即數(shù)柱蟀,這種尋址方式也就稱為立即數(shù)尋址方式川蒙。
    • 查看是否符合規(guī)范
      • 將其轉(zhuǎn)為二進制格式,高低位去掉偶數(shù)個的0产弹,看最終的數(shù)是否在0~255之間派歌,即可查看是否合法弯囊。
  • 寄存器間接尋址
    • 指令中的地址碼給出的是一個通用寄存器的編號痰哨,所需的操作數(shù)保存在寄存器指定
  • 寄存器偏移尋址
    • LSL:邏輯左移
    • LSR:邏輯右移
    • ASL:數(shù)學(xué)左移
    • ASR:數(shù)學(xué)右移
    • ROR:循環(huán)右移
    • RRX:帶擴展的循環(huán)移
    • 桶形移位器
      • 邏輯左移和數(shù)學(xué)左移是一樣的
      • 數(shù)學(xué)右移:低位扔掉,高位補符號位匾嘱。
      • 邏輯右移:低位扔掉斤斧,高位補0。
      • 循環(huán)右移:將扔掉的低位補到高位霎烙。
  • 基址變址尋址:將基址寄存器的內(nèi)容與指令中給出的偏移量(<4k)相加/減撬讽,形成操作數(shù)的有效地址⌒基址尋址用于訪問基址附近的存儲單元游昼,常用于查表,數(shù)組操作尝蠕,功能部件寄存器訪問烘豌。寄存器間接尋址是偏移量為0的基址加偏移地址。
LDR R2,[R3,#0X0C]讀取R3+0X0C地址上的存儲單元的內(nèi)容看彼,放入R2
STR R!,[R0,#4]!;R0=R0-
LDR 
  • 多寄存器尋址:多寄存器尋址一次可以傳送幾個寄存器廊佩,允許一條傳送16個的任何子集或者所有寄存器。
LDMIA R1!,{R2-R4,R12}//將R1指向的單元中的數(shù)據(jù)讀到R2~R4中靖榕,R12中(R1自動加4)
STMIA R0!,{R2-R4,R12}//將寄存器R2~R4标锄,R12中的值保存到R0指向的存儲,單元中(R0自動加4)
- 基址寄存器的增長方式
    - IA:每次傳送后地址增加4
    - IB:每次傳送前地址增加4
    - DA:每次傳送后地址減少4
    - DB:每次傳送前地址減少4
    - W录啤:為可選后綴料皇,若使用,在數(shù)據(jù)傳送完畢后星压,將最后的地址寫入基址寄存器践剂,否則基址寄存器的內(nèi)容不變。(用于基址寄存器之后)
  • 堆棧尋址
    • 堆棧尋址是一個按特定順序進行存儲的存儲區(qū)租幕,順序為后進先出舷手。堆棧的尋址是隱含的,它使用一個專門的寄存器(堆棧指針)指向一塊存儲區(qū)域(堆棧)劲绪,指針?biāo)赶虻拇鎯卧词嵌褩5臈m敗?
      • 向上生長:向高地址方向生長男窟,稱為遞增堆棧
      • 向下生長:向低地址方向生長盆赤,稱為遞減堆棧
    • 堆棧指向最后壓入的堆棧有效數(shù)據(jù)項稱為滿堆棧;堆棧指針指向下一個待壓入數(shù)據(jù)的空位置歉眷,稱為空堆棧牺六。
    • 四種類型的堆棧方式
      • 滿遞增(FA):堆棧向上增長,堆棧指針指向內(nèi)含有有效數(shù)據(jù)的最高地址
      • 空遞增(EA):堆棧向上增長汗捡,堆棧指針指向堆棧上的第一個空位置址
      • 滿遞減(FD):堆棧向下增長淑际,堆棧指針指向內(nèi)含有有效數(shù)據(jù)的最低地址
      • 空遞減(ED):堆棧向下增長,堆棧指針指向堆棧上的第一個空位置址
  • 相對尋址:相對尋址是基址尋址的一種變通扇住,由程序計數(shù)器PC提供標(biāo)準(zhǔn)春缕,指令中的地址碼字段作為偏移量,兩者相加后得到的地址即為操作數(shù)的有效地址艘蹋。標(biāo)號是由一個由匯編器計算的偏移量(即相對地址)
BL SUBR1 ;//調(diào)用到SUBR1子程序
    BEQ LOOP ;//條件跳轉(zhuǎn)到LOOP標(biāo)號處
  • register int i:將i存放在空閑的寄存器中锄贼,不在內(nèi)存中。

安裝7500$

  • 復(fù)制文件:RVDS4.0

  • 進入解壓rvds4.crack.7z與RVDS_4.0_PRO.tgz

  • 進入rvds4.crack找到rvds.dat女阀,用txt打開

Paste_Image.png
  • 打開電腦cmd宅荤,ifconfig/all
Paste_Image.png
  • 復(fù)制相應(yīng)的本地物理地址到rvds.dat,ctrl+h替換所有HOSTID浸策。

  • 進入RVDS_4.0_PRO運行setup.exe冯键。

  • 到%99會出現(xiàn)該框框,先不管他

Paste_Image.png
Paste_Image.png
Paste_Image.png
  • 之后將rvds4.crack里面的內(nèi)容庸汗,全部復(fù)制到安裝目錄RVDS里惫确。
  • 運行crack.bat等其自動結(jié)束。
  • 到該目錄下夫晌。復(fù)制該文件
Paste_Image.png
  • 復(fù)制目錄
Paste_Image.png

警告

  • 無論是安裝目錄亦或是主機的用戶名雕薪,皆不可以有中文名。該軟件有中文就炸晓淀。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末所袁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子凶掰,更是在濱河造成了極大的恐慌燥爷,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件懦窘,死亡現(xiàn)場離奇詭異前翎,居然都是意外死亡,警方通過查閱死者的電腦和手機畅涂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門港华,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人午衰,你說我怎么就攤上這事立宜∶疤眩” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵橙数,是天一觀的道長尊流。 經(jīng)常有香客問我,道長灯帮,這世上最難降的妖魔是什么崖技? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮钟哥,結(jié)果婚禮上迎献,老公的妹妹穿的比我還像新娘。我一直安慰自己瞪醋,他們只是感情好忿晕,可當(dāng)我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布装诡。 她就那樣靜靜地躺著银受,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鸦采。 梳的紋絲不亂的頭發(fā)上宾巍,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機與錄音渔伯,去河邊找鬼顶霞。 笑死,一個胖子當(dāng)著我的面吹牛锣吼,可吹牛的內(nèi)容都是我干的选浑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼玄叠,長吁一口氣:“原來是場噩夢啊……” “哼古徒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起读恃,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤隧膘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后寺惫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疹吃,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年西雀,在試婚紗的時候發(fā)現(xiàn)自己被綠了萨驶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡艇肴,死狀恐怖腔呜,靈堂內(nèi)的尸體忽然破棺而出判莉,到底是詐尸還是另有隱情,我是刑警寧澤育谬,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布券盅,位于F島的核電站,受9級特大地震影響膛檀,放射性物質(zhì)發(fā)生泄漏锰镀。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一咖刃、第九天 我趴在偏房一處隱蔽的房頂上張望泳炉。 院中可真熱鬧,春花似錦嚎杨、人聲如沸花鹅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刨肃。三九已至,卻和暖如春箩帚,著一層夾襖步出監(jiān)牢的瞬間真友,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工紧帕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盔然,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓是嗜,卻偏偏與公主長得像愈案,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鹅搪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容