娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

3.Arm機(jī)器碼

發(fā)布者:MindfulBeing最新更新時間:2024-10-22 來源: cnblogs關(guān)鍵字:Arm  機(jī)器碼  匯編程序 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

首先匯編程序轉(zhuǎn)化為機(jī)器碼,才能在機(jī)器內(nèi)運(yùn)行。

首先我們對上面的裸機(jī)的代碼中生的.elf文件進(jìn)行反匯編

start.elf: file format elf32-littlearm

 

Disassembly of section .text:

 

50008000 <_start>:

.text

.global _start

_start:

    @ldr和str的操作

    mov r0,#0xff

50008000:    e3a000ff     mov    r0, #255    ; 0xff

    str r0,[r1]

50008004:    e5810000     str    r0, [r1]

    ldr r2,[r1]

50008008:    e5912000     ldr    r2, [r1]

    @程序狀態(tài)字寄存器訪問

    mrs r0,cpsr

5000800c:    e10f0000     mrs    r0, CPSR

    orr r0,#0b100

50008010:    e3800004     orr    r0, r0, #4    ; 0x4

    msr cpsr,r0

50008014:    e129f000     msr    CPSR_fc, r0

    @ror:循環(huán)右移

    mov r1,#0b11

50008018:    e3a01003     mov    r1, #3    ; 0x3

    mov r1,r1,ror#1

5000801c:    e1a010e1     ror    r1, r1, #1

    @lsl:左移

    mov r1,#0b11

50008020:    e3a01003     mov    r1, #3    ; 0x3

    mov r1,r1,lsl#2

50008024:    e1a01101     lsl    r1, r1, #2

    @bl指令:帶鏈接跳轉(zhuǎn)

    bl func1

50008028:    eb000005     bl    50008044

    @b指令:

    mov r1,#6

5000802c:    e3a01006     mov    r1, #6    ; 0x6

    mov r2,#7

50008030:    e3a02007     mov    r2, #7    ; 0x7

    cmp r1,r2

50008034:    e1510002     cmp    r1, r2

    bgt branch1@gt表示大于的時候跳轉(zhuǎn)

50008038:    ca000003     bgt    5000804c

    add r3,r1,r2

5000803c:    e0813002     add    r3, r1, r2

    b end

50008040:    ea000002     b    50008050

 

50008044 :

func1:

    mov r1,#23

50008044:    e3a01017     mov    r1, #23    ; 0x17

    mov pc,lr@函數(shù)的返回,固定格式。

50008048:    e1a0f00e     mov    pc, lr

 

5000804c :

 

branch1:

    sub r3,r1,r2

5000804c:    e0413002     sub    r3, r1, r2

 

50008050 :

end:

    nop

50008050:    e1a00000     nop            (mov r0,r0)

    @tst指令:

    mov r1,#0b101

50008054:    e3a01005     mov    r1, #5    ; 0x5

    tst r1,#0b01

50008058:    e3110001     tst    r1, #1    ; 0x1

 

    mov r1,#0b101

5000805c:    e3a01005     mov    r1, #5    ; 0x5

    tst r1,#0b10

50008060:    e3110002     tst    r1, #2    ; 0x2

    @cmp指令的操作:

    mov r1,#2

50008064:    e3a01002     mov    r1, #2    ; 0x2

    cmp r1,#1

50008068:    e3510001     cmp    r1, #1    ; 0x1

 

    mov r1,#2

5000806c:    e3a01002     mov    r1, #2    ; 0x2

    cmp r1,#3

50008070:    e3510003     cmp    r1, #3    ; 0x3

 

    mov r1,#2

50008074:    e3a01002     mov    r1, #2    ; 0x2

    cmp r1,#2

50008078:    e3510002     cmp    r1, #2    ; 0x2

    @bic:位清除指令

    mov r1,#0b1101011

5000807c:    e3a0106b     mov    r1, #107    ; 0x6b

    bic r2,r1,#0b1000011

50008080:    e3c12043     bic    r2, r1, #67    ; 0x43

    @and的用法:邏輯與

    mov r1,#5

50008084:    e3a01005     mov    r1, #5    ; 0x5

    and r2,r1,#0

50008088:    e2012000     and    r2, r1, #0    ; 0x0

 

    mov r1,#5

5000808c:    e3a01005     mov    r1, #5    ; 0x5

    and r2,r1,#1

50008090:    e2012001     and    r2, r1, #1    ; 0x1

    @add:加法:

    add r1,r0,r2

50008094:    e0801002     add    r1, r0, r2

    @sub:減法,注意被減數(shù)不能是立即數(shù)

    mov r2,#4

50008098:    e3a02004     mov    r2, #4    ; 0x4

    sub r0,r2,#2

5000809c:    e2420002     sub    r0, r2, #2    ; 0x2

    mov r1,#3

500080a0:    e3a01003     mov    r1, #3    ; 0x3

    sub r3,r1,r0

500080a4:    e0413000     sub    r3, r1, r0

    @這是注釋,mov指令

    mov r1,#6

500080a8:    e3a01006     mov    r1, #6    ; 0x6

    mov r2,r1

500080ac:    e1a02001     mov    r2, r1

    mov r3,#10

500080b0:    e3a0300a     mov    r3, #10    ; 0xa

    @mvn:傳值取反的值

    mvn r0,#4 @r0:4取反變?yōu)?5

500080b4:    e3e00004     mvn    r0, #4    ; 0x4

    mvn r1,#0b111000

500080b8:    e3e01038     mvn    r1, #56    ; 0x38

    mvn r2,r1 @r2:0b111000

500080bc:    e1e02001     mvn    r2, r1

Disassembly of section .ARM.attributes:

 

00000000 <.ARM.attributes>:

0:    00001741     andeq    r1, r0, r1, asr #14

4:    61656100     cmnvs    r5, r0, lsl #2

8:    01006962     tsteq    r0, r2, ror #18

c:    0000000d     andeq    r0, r0, sp

10:    00543405     subseq    r3, r4, r5, lsl #8

14:    01080206     tsteq    r8, r6, lsl #4

Disassembly of section .debug_line:

 

00000000 <.debug_line>:

0:    00000060     andeq    r0, r0, r0, rrx

4:    001e0002     andseq    r0, lr, r2

8:    01020000     tsteq    r2, r0

c:    000d0efb     strdeq    r0, [sp], -fp

10:    01010101     tsteq    r1, r1, lsl #2

14:    01000000     tsteq    r0, r0

18:    00010000     andeq    r0, r1, r0

1c:    72617473     rsbvc    r7, r1, #1929379840    ; 0x73000000

20:    00532e74     subseq    r2, r3, r4, ror lr

[1] [2]
關(guān)鍵字:Arm  機(jī)器碼  匯編程序 引用地址:3.Arm機(jī)器碼

上一篇:4.協(xié)處理器訪問指令
下一篇:2.匯編代碼的簡單實(shí)現(xiàn)

推薦閱讀最新更新時間:2025-05-02 02:59

12864液晶顯示源程序匯編程序
;12864液晶顯示源程序全部程序如下: ;============================ COM EQU 20H LINE EQU 31H DAT EQU 21H COLUMN EQU 30H PAGE0 EQU 31H CODE0 EQU 32H COUNT EQU 33H CSA EQU P3.2 ;15 CSB EQU P3.4 ;16 D_I EQU P3.7 ;4 R_W EQU P3.6 ;5 E EQU P3.5 ;6 ;=======================================
[單片機(jī)]
時鐘+秒表+流水燈的匯編程序
//HJSMSY-V1.0單片機(jī)開發(fā)板測試程序 //--------------------------------------------- // 電腦鐘 //--------------------------------------------- //=======主函數(shù)================================== ORG 0000H LJMP MAIN ORG 000BH LJMP T00 // ORG 001BH // LJMP T11 ORG 0030H //=======程序初始化=============================
[單片機(jī)]
VSCode+arm-none-eabi+openocd+msys實(shí)現(xiàn)STM32在線調(diào)試
VSCode是一個非常好用的工具,首先免費(fèi),個人和商用都免費(fèi)。這就解決了很多問題,因?yàn)楝F(xiàn)在國內(nèi)對版權(quán)越來越重視了。所以告別那些破解的keil等工具吧,涉及版權(quán)問題不說,還有可能有病毒,木馬等風(fēng)險。 現(xiàn)在來總結(jié)一下VSCode如何實(shí)現(xiàn)在線調(diào)試STM32代碼的方法。先總結(jié)Windows平臺,后面再來總結(jié)Mac OS平臺。 1、安裝VSCode 這個不用說了 2、安裝windows-arm-none-eabi擴(kuò)展 這是一個交叉編譯工具鏈,使用這個工具將代碼編譯成可以在STM32上運(yùn)行的文件。 直接在VSCode的Extension窗口中,搜索windows-arm-none-eabi,安裝,截至我目前的情況是,需要安裝0.1.2版本,0
[單片機(jī)]
VSCode+<font color='red'>arm</font>-none-eabi+openocd+msys實(shí)現(xiàn)STM32在線調(diào)試
ARM】S5PV210芯片的啟動流程
S5PV210芯片的設(shè)計者的思想 (1)芯片啟動后執(zhí)行iRom(BL0)的內(nèi)容,進(jìn)行時鐘和看門狗等外設(shè)的初始化,將BL1和BL2拷貝到片內(nèi)SRAM; (2)跳轉(zhuǎn)到片內(nèi)SRAM執(zhí)行,完成外部SDRAM的初始化,并將OS從存儲設(shè)備拷貝到SDRAM內(nèi); (3)跳轉(zhuǎn)到SRAM內(nèi)執(zhí)行OS的起始代碼。 由于U-BOOT的大小的限制,無法全部拷貝到片內(nèi)的SRAM,所以U-BOOT的設(shè)計者設(shè)計了一下流程 (1)芯片啟動后執(zhí)行iRom(BL0)的內(nèi)容,進(jìn)行時鐘和看門狗等外設(shè)的初始化,將BL1拷貝到片內(nèi)SRAM; (2)跳轉(zhuǎn)到片內(nèi)SRAM內(nèi)進(jìn)行執(zhí)行,完成SDRAM的初始化,將BL2拷貝到SDRAM內(nèi),執(zhí)行。 (3)跳轉(zhuǎn)到SDRAM內(nèi)的BL2進(jìn)行執(zhí)行
[單片機(jī)]
【<font color='red'>ARM</font>】S5PV210芯片的啟動流程
ARM--存儲管理器
初入領(lǐng)悟: 1、 bank、L-bank的概念 2、 s3c2440內(nèi)部管理SDRAM寄存器配置 Frist part:原理分析 S3c2440為32位微處理器,其可訪問空間為4G;但其中提供1G外設(shè)訪問空間,這1G空間有8個bank組成;及平均每個bank有128M的訪問空間;其中8bank的特性為: 1、 bank0~bank5支持外接SRAM、ROM等,bank6、bank7支持外接SRAM、ROM與SDRAM等; 2、 bank0~bank6的起始地址是固定 3、 bank7的起始地址可編程設(shè)定 4、 bank6、bank7大小可編程確定 5、 每個bank訪問周期均可編程設(shè)定 6、 外接SDRAM是支持自刷新與省電模
[單片機(jī)]
ARM9嵌入式處理器S3C2440實(shí)現(xiàn)了遠(yuǎn)程圖像光線監(jiān)控系統(tǒng)
  對圖像監(jiān)控系統(tǒng),用戶常常提出這樣的功能需求:希望能夠監(jiān)控距離較遠(yuǎn)的對象 這些對象有可能分布在郊區(qū)、深山,荒原或者其他無人值守的場合;另外,希望能夠獲取比較清晰的監(jiān)控圖像,但對圖像傳輸?shù)膶?shí)時性要求并不高 很明顯,用傳統(tǒng)的PC機(jī)加圖像采集卡的方式很難滿足這樣的需求。   在嵌入式領(lǐng)域,ARM9系列微處理器在高性能和低功耗方面提供了最佳的性能,因此選用ARM9嵌入式處理器S3C2440設(shè)計實(shí)現(xiàn)了一個遠(yuǎn)程圖像光線監(jiān)控系統(tǒng)通過這個系統(tǒng),可以遠(yuǎn)在千里之外控制一個攝像機(jī)進(jìn)行圖像采集并回傳。如果這個攝像機(jī)有一個485接口的云臺,還可以通過互聯(lián)網(wǎng)遠(yuǎn)程控制攝像機(jī)的取景角度、鏡頭拉伸、聚焦等功能 除了獲取圖像數(shù)據(jù).系統(tǒng)還提供了多路開關(guān)控制和數(shù)據(jù)
[單片機(jī)]
<font color='red'>ARM</font>9嵌入式處理器S3C2440實(shí)現(xiàn)了遠(yuǎn)程圖像光線監(jiān)控系統(tǒng)
處理器架構(gòu) (四) ARM指令集
ARM 命名規(guī)則——指令架構(gòu)、CPU的歷史回顧 arm指令集版本和arm版本 arm有多少指令集_官網(wǎng) arm的指令集有 ARM64指令集 ARM(32)指令集 THUMB指令集 THUMB-2指令集 NEON指令集 VFP指令集 DSP指令集 Jazelle instruction // 實(shí)際上他們都屬于 ARM指令集, 也可以說是 ARM指令集 的擴(kuò)展 自從armv1 開始,ARM指令集一直就在,且跟隨版本變化而不斷升級. 從armv4中的 ARM7E 系列開始就支持增強(qiáng)型DSP指令集,后續(xù)命名只要有符號E,就代表支持增強(qiáng)型DSP指令集. 從armv4中的 ARM7TDMI 開始就支持 thumb指令集(命名中帶T就表
[單片機(jī)]
處理器架構(gòu) (四) <font color='red'>ARM</font>指令集
ARM的編程模式和七種工作模式
一、編程模式:ARM CPU的基本設(shè)定、編程時遵守的規(guī)則。如CPU所使用指令大小等。 1、ARM基本設(shè)定采用32位架構(gòu) 2、ARM的約定: Byte 8bits 永遠(yuǎn)不會變 Halford: 16bits (2byte) 半字 Word: 32 bits 3、大部分ARM core提供ARM指令集(32bit) Thumb指令集(16bit) Thumb2指令集(16 或 32bit) 每種匯編指令都是特定CPU的特性,ARM提供了三種指令集都可以編程。 二、ARM處理器工作模式:(7個基本工作模式) User:(用戶模式)非特權(quán)模式,大部分任務(wù)執(zhí)行在這種模式(除這以外都是特權(quán)模式) FIQ(快速) 當(dāng)一個高優(yōu)先級(fast)
[單片機(jī)]
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 廉江市| 县级市| 兰州市| 罗山县| 漳州市| 达日县| 海门市| 罗定市| 台东市| 富锦市| 永嘉县| 乐清市| 休宁县| 衡南县| 阳信县| 民权县| 石狮市| 闵行区| 浮山县| 武川县| 寻甸| 清苑县| 彩票| 河北区| 宜兰县| 大方县| 桂平市| 临清市| 鞍山市| 页游| 独山县| 仁寿县| 鹤山市| 将乐县| 谢通门县| 绵竹市| 长泰县| 卓尼县| 松溪县| 江达县| 大竹县|