freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

三、arm指令2-全文預(yù)覽

2025-01-24 01:03 上一頁面

下一頁面
  

【正文】 M指令,如包含 PC,位 [0]=1時,轉(zhuǎn)  至 Thumb狀態(tài)。號隔開??梢詫崿F(xiàn)訪問用戶模式的寄存器,? Rn : 基址寄存器基址寄存器 ,裝有傳送數(shù)據(jù)的初始地址,裝有傳送數(shù)據(jù)的初始地址, Rn不允不允許是許是 R15。 Rn不允許與 Rd和 R?。?d+1)相同(除非指令為零偏移,或  不帶寫回的前索引) Offset  加在 Rn上的偏移量41 ?LDM和 STM—— 多寄存器加載 /存儲指令編碼功能:讀取和存儲多個寄存器,可以傳送 R0~R15的任何組合。! 將包含偏移量的最后的地址寫回到 Rn。 Load/Store(一 )存儲器訪問( Load/Store)指令36 功能:提供 ARM寄存器和內(nèi)存之間雙字( 64 位)數(shù)據(jù)的傳送。 STR R5, [R7], 8 ; R5 → ( R7), ( R7) – 8 → R7 LDR R0, localdata ;讀取一個字,該字位于標(biāo)號 localdata所在地址。26 ( 4)后變址LDR/STR{條件碼 }{B}{T} Rd,[Rn],offset 將 Rn的值用作傳送數(shù)據(jù)的存儲器地址,數(shù)據(jù)傳送后,偏移量加到 Rn中,結(jié)果寫回到 Rn。(Rn)+offset→Rd Load/Store指令指令(一 )存儲器訪問( Load/Store)指令25 ( 3)程序相對偏移LDR/STR{〈條件碼〉 } Rd, Label; ( Label) → RdLabel:程序相對偏移表達(dá)式,必須在當(dāng)前指 令的 177。 Rn不允許是 R15。 若操作碼是 LDR,則將 Rd的其它字節(jié)清零。17 (一)存儲器訪問指令( Load/Store) 單字和無符號字節(jié) Load/Store指令 半字和有符號字節(jié) Load/Store指令 雙字 Load/Store指令 多寄存器 Load/Store指令 內(nèi)存與寄存器交換指令18 (一 )存儲器訪問( Load/Store)指令 Load/Store指令功能:提供 ARM寄存器和內(nèi)存之間單字節(jié) ( 8位)或單字 ( 32位) 數(shù)據(jù)的傳送。子程序返回 END 。設(shè)置參數(shù) MOV R1,10LOOP BL ADD_SUB 。說明:使用 ARMulate軟件仿真調(diào)試 AREA Example1,CODE,READONLY 。 _ISR_STARTADDRESS ldr r9, [r8] str r9,[sp,8] ldmfd sp!,{r8r9,pc} 。/* handlerReserved */ ldr pc, =HandlerIRQ b HandlerFIQ? HandlerFIQ 。/* handlerUndef b HandlerSWI 。使用數(shù)據(jù)塊傳送指令進(jìn)行堆棧操作STMDA R0!,{R5R6} 壓棧. . .LDMIB R0!,{R5R6} 出棧。R5← [R14] 。R5← [R1+12]LDMDA R1,{R0,R2,R5} 。R2← [R1+4] 。(R1)+4→R1 前變址偏移尋址 LDR R0, [R1], 4 。1 三、 ARM指令系統(tǒng)F 尋址方式F ARM指令集 (重點 ) F ARM偽指令F Thumb指令集 (ARM指令集的功能子集 ) 2 尋址方式F立即尋址 MOV R0, 20。(( R3)) →R0F基址加偏址尋址 LDR R0, [R1, 4]! ( (R1)+4) )→R0 。R0← [R1] 。R2← [R1+8] 。R0← [R18]LDMDB R1,{R0,R2,R5} 。R5R6R7R1 ?R1’ ?指令 STMIA R1!,{R5R7}4008H4004H4000H4014H4010H400CHR5R6R7R1 ?R1’ ?指令 STMDA R1!,{R5R7}4008H4004H4000H4014H4010H400CHR5R6R7R1 ?R1’ ?指令 STMIB R1!,{R5R7}4008H4004H4000H4014H4010H400CHR5R6R7R1’ ?R1 ?指令 STMDB R1!,{R5R7}4008H4004H4000H4014H4010H400CHEA FAED FD5 棧頂SP?棧頂SP?棧底空堆棧棧底滿堆棧0x123456780x12345678棧頂SP? 0x12345678棧頂SP?壓棧 壓棧F堆棧尋址 LDM/STM FD、 ED、 FA、 EA6 棧底棧頂棧區(qū)SP?堆棧存儲區(qū)棧頂棧底棧區(qū)?SP向下增長向上增長0x123456780x12345678堆棧壓棧堆棧壓棧FLDM:出棧 /STM:壓棧 FD、 ED、 FA、 EA7 8 棧底棧頂棧區(qū)SP?堆棧存儲區(qū)棧頂棧底棧區(qū)?SP向下增長向上增長0x123456780x12345678堆棧壓棧堆棧壓棧STMFA:滿遞增 (入棧 )STMIB:STMFD:滿遞減 (入棧)STMDB0x123456780x12345678RnRn棧頂SP?棧頂 ?SP9 棧底棧頂棧區(qū)SP?堆棧存儲區(qū)棧頂棧底棧區(qū)?SP向下增長向上增長0x123456780x12345678堆棧壓棧堆棧壓棧STMEA:空遞增 (入棧 )STMIASTMED:空遞減 (入棧)STMDA0x123456780x12345678RnRn棧頂SP?棧頂 ?SP10 棧底棧頂棧區(qū)SP?堆棧存儲區(qū)棧頂棧底棧區(qū)?SP向下增長向上增長0x123456780x12345678堆棧出棧堆棧出棧LDMFA: 滿遞增 (出棧 ) LDMDALDMFD :滿遞減 (出棧 ) LDMIA0x123456780x12345678RnRn棧頂SP?棧頂 ?SP11 棧底棧頂棧區(qū)SP?堆棧存儲區(qū)棧頂棧底棧區(qū)?SP向下增長向上增長0x123456780x12345678堆棧出棧堆棧出棧LDMED: 空遞減 (出棧 ) LDMIBLDMEA :空遞增 (出棧 ) LDMDB0x123456780x12345678RnRn棧頂SP?棧頂 ?SP12 數(shù)據(jù)塊傳送存儲堆棧操作壓棧 說明數(shù)據(jù)塊傳送加載堆棧操作出棧 說明STMDA STMED 空遞減 LDMDA LDMFA 滿遞減STMIA STMEA 空遞增 LDMIA LDMFD 滿遞增STMDB STMFD 滿遞減 LDMDB LDMEA 空遞減STMIB STMFA 滿遞增 LDMIB LDMED 空遞增。/* for debug b HandlerUndef。/* handlerDAbort */ b . 。STMDB ldr r8, =HandleFIQ 。功能:實現(xiàn)兩個寄存器相加 。聲明 32位 ARM指令START MOV R0,0 。R0 = R0 + R1 MOV PC,LR 。 ARM7處理器是馮 ?諾依曼存儲結(jié)構(gòu),程序空間、 RAM空間及 I/O映射空間統(tǒng)一編址,除對 RAM操作以外,對外圍 IO、程序數(shù)據(jù)的訪問均要通過 加載 /存儲指令 進(jìn)行。 B: 可選后綴,若有 B,則傳送 Rd的最低有效字節(jié)。若 使用后綴“! ”,則結(jié)果寫回到 Rn中。LDR Rd, [Rn, offset]! ( (Rn)+offset) )→Rd 。不能使用后綴 “! ”。(( Rn)) → Rd ,( Rn) +offset → Rn Load/Store指令指令(一 )存儲器訪問( Load/Store)指令27 例 1:將 R0中的內(nèi)容存放到外設(shè)中 LDR R1, UARTADD ;將 UART地址放進(jìn) R1中 STRB R0, [R1] ;將數(shù)據(jù)放進(jìn)外設(shè)中 ……  UARTADD 10000 ; UART的地址值(一 )存儲器訪問( Load/Store)指令 Load/Store指令指令28 例 2: LDR R8, [R10] ; ((R10)) → R8 LDRNE R2, [R5, 960]! ; Z 1時, ((R5)+960) → R2 , (R5)+960 → R5 STR R2, [R9, constastruc] ; constastruc是常量表達(dá)式,該常量值的范圍為 1 ~ 4095 Load/Store指令指令(一 )存儲器訪問( Load/Store)指令29   STRB R0, [R3, R8, ASR2] ; R0 → (R3R8/4) ,存儲 R0的最低有效字節(jié),  ; R3和 R8不變。255字節(jié)范圍內(nèi)  offset 加在 Rn上的偏移量   Rn和!同前面第一條( LDR和 STR字和無符號半字) Load/Store(一 )存儲器訪問( Load/Store)指令35 例 1:LDREQSH R11, [R6] ;(有條件地) R11← ((R6)) , ;讀取 16位半字,有符號擴(kuò) ;展到 32位LDRH R1, [R0, 22] ; R1 ← ((R0)+22) ,讀取 16 ;位半字,零擴(kuò)展到 32位STRH R4, [R0+R1] ;存儲最低的有效半字到 ; (R0)+(R1)地址開始的兩個字節(jié)LDRSB R6, constf ;讀取位于標(biāo)號 constf地址中 ;的字節(jié),有符號擴(kuò)展。255字節(jié)范圍內(nèi)。 Rd必須是偶數(shù)寄存  器,且不是 R14。多寄存器 Load/store指令(一 )存儲器訪問( Load/Store)指令43 (3)非用戶模式 下格式 2 LDM/STM{條件碼 }modeRn, 寄存器組 PC當(dāng)寄存器組中沒有 PC時,表示:傳入或傳出的是用戶模式下的寄存器,而不是當(dāng)前模式下的寄存器。若包含多于含多于 1個寄存器列表或包含寄存器范圍,則必須用逗個寄存器列表或包含寄存器范圍,則必須用逗號隔開。② 數(shù)據(jù)傳入或傳出的是用戶模式的寄存器,而不是當(dāng)前模式的寄存器。 例 1: 若保存 3個工作寄存器狀態(tài)和返回地址: STMFD R13 !, {R0~R2, R14} 若恢復(fù) 3個工作寄存器狀態(tài)和返回地址: LDMFD R13 !, {R0~R2, PC}多寄存器 Load/store指令(一 )存儲器訪問( Load/Store)指令46 例 2:LDMIA R8, {R0, R2, R9}     ; ((R8)) → R0, ((R8)+4) → R2 , ((R8)+8) → R9STMDB R1!, (R3~R6, R11, R12)    ; (R12) → (R1)- 4, (R11) → (R1) - 8     ; (R6) → (R1) - 12, (R5) → (R1) - 16     ??; (R4) → (R1) - 20, (R3) → (R1) - 24    ; (R1)- (24 )→
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1