首页
社区
课程
招聘
[求助]arm LDREQSB 是啥意思?
发表于: 2013-5-15 10:11 8256

[求助]arm LDREQSB 是啥意思?

2013-5-15 10:11
8256
请问一下:
LDREQSB         R1, [R1,-R4]
是啥意思?
LDREQSB 搜索只找到代码,没有相关解译

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费
支持
分享
最新回复 (10)
雪    币: 18
活跃值: (430)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
eq是条件 应该是相等的意思
后面的sb  应该跟汇编差不多 拷贝多少字节...
个人理解 不一定对
2013-5-15 10:43
0
雪    币: 4911
活跃值: (150)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵呵
Peter在玩ARM
又是我。。。
UPK也已经回了。。
再回一次吧

确切的表述应该是EQ(相等)条件下,将 R1-R4 地址处的有符号字节数据加载到寄存器 R1
前面应该还有一句 CMP R1,XX 吧?
2013-5-15 13:45
0
雪    币: 335
活跃值: (616)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
整句是这样某牛是这样修改:
.text:007CD8B4 00 00 00 00       ANDEQ   R0, R0, R0
.text:007CD8B8
.text:007CD8B8                   loc_7CD8B8                    ; DATA XREF: sub_7CD8BC+4r
.text:007CD8B8 D4 10 11 01       LDREQSB R1, [R1,-R4] //但是没有cmp之类,所以才不好解这里?
.text:007CD8BC
.text:007CD8BC                   ; =============== S U B R O U T I N E =======================================
.text:007CD8BC
.text:007CD8BC
.text:007CD8BC                   sub_7CD8BC                    ; CODE XREF: GUI::Surface::initGL(int,int,GUI::Surface::SurfaceRotate)+348p
.text:007CD8BC 50 43 2D E9       STMFD   SP!, {R4,R6,R8,R9,LR}
.text:007CD8C0 10 60 1F E5       LDR     R6, loc_7CD8B8  //----->取007CD8B8
.text:007CD8C4 0F 60 86 E0       ADD     R6, R6, PC
.text:007CD8C8 07 00 A0 E1       MOV     R0, R7
.text:007CD8CC E2 82 32 EB       BL      __floatsisf
.text:007CD8D0 00 80 A0 E1       MOV     R8, R0
.text:007CD8D4 05 00 A0 E1       MOV     R0, R5
.text:007CD8D8 DF 82 32 EB       BL      __floatsisf
.text:007CD8DC
.text:007CD8DC                   loc_7CD8DC                    ; CODE XREF: .text:007CD964j
.text:007CD8DC 00 90 A0 E1       MOV     R9, R0
.text:007CD8E0 2D 0E A0 E3       MOV     R0, #0x2D0
.text:007CD8E4 DC 82 32 EB       BL      __floatsisf
.text:007CD8E8 00 40 A0 E1       MOV     R4, R0
.text:007CD8EC 05 0C A0 E3       MOV     R0, #0x500
.text:007CD8F0 D9 82 32 EB       BL      __floatsisf
.text:007CD8F4 05 00 57 E1       CMP     R7, R5
.text:007CD8F8 08 10 A0 C1       MOVGT   R1, R8
.text:007CD8FC 09 10 A0 B1       MOVLT   R1, R9
.text:007CD900 66 83 32 EB       BL      __divsf3
.text:007CD904 05 00 57 E1       CMP     R7, R5
.text:007CD908 00 00 86 C5       STRGT   R0, [R6]
.text:007CD90C 04 00 86 B5       STRLT   R0, [R6,#4]
.text:007CD910 04 00 A0 E1       MOV     R0, R4
.text:007CD914 09 10 A0 C1       MOVGT   R1, R9
.text:007CD918 08 10 A0 B1       MOVLT   R1, R8
.text:007CD91C 5F 83 32 EB       BL      __divsf3
.text:007CD920 05 00 57 E1       CMP     R7, R5
.text:007CD924 04 00 86 C5       STRGT   R0, [R6,#4]
.text:007CD928 00 00 86 B5       STRLT   R0, [R6]
.text:007CD92C 50 83 BD E8       LDMFD   SP!, {R4,R6,R8,R9,PC}
.text:007CD92C                   ; End of function sub_7CD8BC
2013-5-15 16:18
0
雪    币: 4911
活跃值: (150)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
cmp 比较应该还在前面
因为 ANDEQ 也使用了同一条件
2013-5-16 09:54
0
雪    币: 335
活跃值: (616)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
.text:007CD8B0                   EXPORT _pieopen
.text:007CD8B0                   _pieopen                      ; CODE XREF: sub_7B7C50+158p
.text:007CD8B0                                                 ; sub_7B7C50:loc_7B7E1Cp
.text:007CD8B0                                                 ; .text:007CD95Cp
.text:007CD8B0 0E F0 A0 E1       RET
.text:007CD8B0                   ; End of function _pieopen
.text:007CD8B0
.text:007CD8B4                   ; ---------------------------------------------------------------------------
.text:007CD8B4 00 00 00 00       ANDEQ   R0, R0, R0
.text:007CD8B8
.text:007CD8B8                   loc_7CD8B8                    ; DATA XREF: sub_7CD8BC+4r
.text:007CD8B8 D4 10 11 01       LDREQSB R1, [R1,-R4]
.text:007CD8BC
.text:007CD8BC                   ; =============== S U B R O U T I N E =======================================
.text:007CD8BC
.text:007CD8BC
.text:007CD8BC                   sub_7CD8BC                    ; CODE XREF: GUI::Surface::initGL(int,int,GUI::Surface::SurfaceRotate)+348p
.text:007CD8BC 50 43 2D E9       STMFD   SP!, {R4,R6,R8,R9,LR}
.text:007CD8C0 10 60 1F E5       LDR     R6, loc_7CD8B8
.text:007CD8C4 0F 60 86 E0       ADD     R6, R6, PC
.text:007CD8C8 07 00 A0 E1       MOV     R0, R7
.text:007CD8CC E2 82 32 EB       BL      __floatsisf
.text:007CD8D0 00 80 A0 E1       MOV     R8, R0
.text:007CD8D4 05 00 A0 E1       MOV     R0, R5
.text:007CD8D8 DF 82 32 EB       BL      __floatsisf
.text:007CD8DC
.text:007CD8DC                   loc_7CD8DC                    ; CODE XREF: .text:007CD964j
.text:007CD8DC 00 90 A0 E1       MOV     R9, R0
.text:007CD8E0 2D 0E A0 E3       MOV     R0, #0x2D0
.text:007CD8E4 DC 82 32 EB       BL      __floatsisf
.text:007CD8E8 00 40 A0 E1       MOV     R4, R0
.text:007CD8EC 05 0C A0 E3       MOV     R0, #0x500
.text:007CD8F0 D9 82 32 EB       BL      __floatsisf
.text:007CD8F4 05 00 57 E1       CMP     R7, R5
.text:007CD8F8 08 10 A0 C1       MOVGT   R1, R8
.text:007CD8FC 09 10 A0 B1       MOVLT   R1, R9
.text:007CD900 66 83 32 EB       BL      __divsf3
.text:007CD904 05 00 57 E1       CMP     R7, R5
.text:007CD908 00 00 86 C5       STRGT   R0, [R6]
.text:007CD90C 04 00 86 B5       STRLT   R0, [R6,#4]
.text:007CD910 04 00 A0 E1       MOV     R0, R4
.text:007CD914 09 10 A0 C1       MOVGT   R1, R9
.text:007CD918 08 10 A0 B1       MOVLT   R1, R8
.text:007CD91C 5F 83 32 EB       BL      __divsf3
.text:007CD920 05 00 57 E1       CMP     R7, R5
.text:007CD924 04 00 86 C5       STRGT   R0, [R6,#4]
.text:007CD928 00 00 86 B5       STRLT   R0, [R6]
.text:007CD92C 50 83 BD E8       LDMFD   SP!, {R4,R6,R8,R9,PC}
.text:007CD92C                   ; End of function sub_7CD8BC
.text:007CD92C
.text:007CD930                   ; ---------------------------------------------------------------------------
.text:007CD930 40 00 9F E5       LDR     R0, =(aAmStartNCom_ga - 0x7CD940)
.text:007CD934 03 30 94 E7       LDR     R3, [R4,R3]
.text:007CD938 00 00 8F E0       ADD     R0, PC, R0            ; "am start -n com.garmin.android.apps.gmo"...
.text:007CD93C 00 50 83 E5       STR     R5, [R3]
.text:007CD940 D0 94 FA EB       BL      system
.text:007CD944 05 00 A0 E1       MOV     R0, R5
.text:007CD948 B9 94 FA EB       BL      exit
.text:007CD94C                   ; ---------------------------------------------------------------------------
.text:007CD94C 20 30 9F E5       LDR     R3, =0xFFFF65FC
.text:007CD950 00 20 A0 E3       MOV     R2, #0
.text:007CD954 03 30 94 E7       LDR     R3, [R4,R3]
.text:007CD958 00 20 83 E5       STR     R2, [R3]
.text:007CD95C D3 FF FF EB       BL      _pieopen
.text:007CD960 00 30 95 E5       LDR     R3, [R5]
.text:007CD964 DC FF FF EA       B       loc_7CD8DC
.text:007CD964                   ; ---------------------------------------------------------------------------
.text:007CD968 80 90 10 01       DCD loc_1109080
.text:007CD96C D4 69 FF FF D8 69+DCD 0xFFFF69D4, 0xFFFF69D8
.text:007CD974 FC 65 FF FF       dword_7CD974 DCD 0xFFFF65FC   ; DATA XREF: .text:007CD94Cr
.text:007CD978 10 B4 E0 00       off_7CD978 DCD aAmStartNCom_ga - 0x7CD940
.text:007CD978                                                 ; DATA XREF: .text:007CD930r
.text:007CD978                                                 ; "am start -n com.garmin.android.apps.gmo"...
就是没有cmp,不知道为什么这样?
2013-5-16 10:38
0
雪    币: 4911
活跃值: (150)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
是否有跳转接过来?
2013-5-16 11:03
0
雪    币: 335
活跃值: (616)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
就是没有别的地址调用?
上传的附件:
2013-5-16 11:18
0
雪    币: 4911
活跃值: (150)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9

如果是有调用的话
应该是跳转到 7CD8B4 吧
2013-5-16 11:44
0
雪    币: 335
活跃值: (616)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
00 00 00 00 就相当于nop,啥也不作?不知道这个LDREQSB R1, [R1,-R4]在这里只是进行腾出空间?
2013-5-16 11:59
0
雪    币: 53
活跃值: (311)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
LDR R6 loc_7CD8B8
这条指令就说明了7CD8B8处放了一个4BYTE的数据,这个指令就是把该地址里存的4Byte数据存入R6中
即之后R6 == 0x011110D4

显示那一坨LDREQSB是ARM dissambler自作主张翻译出来的

.text:007CD8B8
.text:007CD8B8                   loc_7CD8B8                    ; DATA XREF: sub_7CD8BC+4r
.text:007CD8B8 D4 10 11 01       LDREQSB R1, [R1,-R4]

这三行其实等价于一个数据定义指令
.text:007CD8B8
        DCD 0x011110D4
2013-5-21 20:38
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册