博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
arm程序的反汇编程序
阅读量:6902 次
发布时间:2019-06-27

本文共 1675 字,大约阅读时间需要 5 分钟。

这是汇编源文件:MCU:S3C2440(arm920T)代码实现点亮个led小灯.text.global _start_start:        ldr r0,=0x56000010        @GPBCON        mov r1,#0x00000400        @        str r1,[r0]                @GPB5_out=01               ldr r0,=0x56000014        @GPBDAT        mov r1,#0x0        str r1,[r0]                @GPBDAT[5]=0,len_offmain_loop:        b        main_loop反汇编文件:led_on.bin:     file format binaryDisassembly of section .data:00000000 <.data>:   0:        e59f0014         ldr        r0, [pc, #20]        ; 0x1c   4:        e3a01b01         mov        r1, #1024        ; 0x400   8:        e5801000         str        r1, [r0]   c:        e59f000c         ldr        r0, [pc, #12]        ; 0x20  10:        e3a01000         mov        r1, #0        ; 0x0  14:        e5801000         str        r1, [r0]  18:        eafffffe         b        0x18  1c:        56000010         undefined  20:        56000014         undefined接下来让我们分析下这小小的反汇编程序吧!   0:        e59f0014         ldr        r0, [pc, #20]        ; 0x1c这条指令就是把内存单元 pc+20 的值load 到r0 中,而根据ARM 架构指南所讲,pc 的值读取得时候是当前指令的地址 +8 ,所以就是把地址28 (也就是16进制的1c)的值load 到r0中,r0 现在变成了0x56000010.   4:        e3a01b01         mov        r1, #1024        ; 0x400这条指令是把1024(ARM汇编At&T语法要在立即数前加#), 也即是16进制的0x400 移到r1中。   8:        e5801000         str        r1, [r0]这个就是通过str 指令把r1内容存到r0 寄存器所指向的内存单元。 也就是把1024 存到0x56000000 中。   c:        e59f000c         ldr        r0, [pc, #12]        ; 0x20  10:        e3a01000         mov        r1, #0        ; 0x0  14:        e5801000         str        r1, [r0]这三条指令一样的道理  18:        eafffffe         b        0x18这个是死循环  1c:        56000010         undefined  20:        56000014         undefined这两行不是指令,而是数据。

 

转载地址:http://yopdl.baihongyu.com/

你可能感兴趣的文章
UI自动化测试之selenium(3)——采坑填坑集
查看>>
全美五大最创新的公司
查看>>
传微软将于明年推出Linux版Office
查看>>
后LHC时代对撞机:瞬间输出能量超全球电力千倍
查看>>
Leetcode#75Sort Colorsetcode
查看>>
3月30日作业
查看>>
公司电话突然不能打外线故障处理过程
查看>>
Windows Server 2008流媒体服务器---创建播放列表
查看>>
centos添加批量添加ip提示无效参数
查看>>
PHP mkdir函数
查看>>
Linux基础命令---检查密码文件pwck
查看>>
python这+=和=的拓展知识
查看>>
oracle集群件
查看>>
linux shell 中"2>&1"含义
查看>>
oracle 11g RAC grid安装前准备
查看>>
01背包 暴力搜索
查看>>
RIP区域和OSPF区域通信
查看>>
MySQL
查看>>
k3cloud开发环境引入dll与net源代码
查看>>
网络安全系列之四十 在Linux中设置SET位权限
查看>>