forked from OSchip/llvm-project
407 lines
23 KiB
Plaintext
407 lines
23 KiB
Plaintext
This README describes a sample invocation of disasm.py whose purpose is to test
|
|
the low level ARM/Thumb disassembly functionality from llvm using the llvm-mc
|
|
command line. We invoke gdb on an executable, try to disassemble a function,
|
|
and then read the memory contents of the disassembled function.
|
|
|
|
The byte contents are written into a file named disasm-input.txt and then we
|
|
invoke llvm-mc -disassemble plus options (set with the -o/--options) on the
|
|
byte contents.
|
|
|
|
See the following for a sample session using this command:
|
|
|
|
[16:26:57] johnny:/Volumes/data/Radar/9131529 $ /Volumes/data/lldb/svn/trunk/utils/test/disasm.py -C 'set shlib-path-substitutions /usr /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr /System /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System /Library /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/Library' -O '-arch armv7' -m /Volumes/data/lldb/llvm/Debug+Asserts/bin/llvm-mc -e /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/libSystem.B.dylib -f printf --options='-triple=thumb-apple-darwin -debug-only=arm-disassembler'
|
|
gdb commands: ['set shlib-path-substitutions /usr /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr /System /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/System /Library /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/Library']
|
|
gdb options: -arch armv7
|
|
executable: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/libSystem.B.dylib
|
|
function: printf
|
|
llvm-mc: /Volumes/data/lldb/llvm/Debug+Asserts/bin/llvm-mc
|
|
llvm-mc options: -triple=thumb-apple-darwin -debug-only=arm-disassembler
|
|
GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Sat Feb 12 02:56:02 UTC 2011)
|
|
Copyright 2004 Free Software Foundation, Inc.
|
|
GDB is free software, covered by the GNU General Public License, and you are
|
|
welcome to change it and/or distribute copies of it under certain conditions.
|
|
Type "show copying" to see the conditions.
|
|
There is absolutely no warranty for GDB. Type "show warranty" for details.
|
|
This GDB was configured as "--host=x86_64-apple-darwin --target=arm-apple-darwin".
|
|
<Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/Library
|
|
<eloper/SDKs/iPhoneOS4.3.sdk/usr/lib/libSystem.B.dylib
|
|
Reading symbols for shared libraries ................ done
|
|
Reading symbols from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/libSystem.B.dylib...done.
|
|
(gdb) disassemble printf
|
|
Dump of assembler code for function printf:
|
|
0x0704cdd0 <printf+0>: push {r0, r1, r2, r3}
|
|
0x0704cdd2 <printf+2>: push {r4, r5, r7, lr}
|
|
0x0704cdd4 <printf+4>: add r7, sp, #8
|
|
0x0704cdd6 <printf+6>: sub sp, #4
|
|
0x0704cdd8 <printf+8>: add r3, sp, #20
|
|
0x0704cdda <printf+10>: ldr.w r5, [r3], #4
|
|
0x0704cdde <printf+14>: str r3, [sp, #0]
|
|
0x0704cde0 <printf+16>: ldr r3, [pc, #52] (0x704ce18 <printf+72>)
|
|
0x0704cde2 <printf+18>: add r3, pc
|
|
0x0704cde4 <printf+20>: ldr r0, [r3, #0]
|
|
0x0704cde6 <printf+22>: ldr r4, [r0, #0]
|
|
0x0704cde8 <printf+24>: ldr r0, [pc, #48] (0x704ce1c <printf+76>)
|
|
0x0704cdea <printf+26>: add r0, pc
|
|
0x0704cdec <printf+28>: ldr r0, [r0, #0]
|
|
0x0704cdee <printf+30>: ldr r0, [r0, #0]
|
|
0x0704cdf0 <printf+32>: blx 0x707ba30 <pthread_getspecific>
|
|
0x0704cdf4 <printf+36>: cbnz r0, 0x704cdfe <printf+46>
|
|
0x0704cdf6 <printf+38>: ldr r1, [pc, #40] (0x704ce20 <printf+80>)
|
|
0x0704cdf8 <printf+40>: add r1, pc
|
|
0x0704cdfa <printf+42>: ldr r1, [r1, #0]
|
|
0x0704cdfc <printf+44>: b.n 0x704ce00 <printf+48>
|
|
0x0704cdfe <printf+46>: mov r1, r0
|
|
0x0704ce00 <printf+48>: mov r0, r4
|
|
0x0704ce02 <printf+50>: mov r2, r5
|
|
0x0704ce04 <printf+52>: ldr r3, [sp, #0]
|
|
0x0704ce06 <printf+54>: bl 0x704ad44 <vfprintf_l>
|
|
0x0704ce0a <printf+58>: sub.w sp, r7, #8 ; 0x8
|
|
0x0704ce0e <printf+62>: ldmia.w sp!, {r4, r5, r7, lr}
|
|
0x0704ce12 <printf+66>: add sp, #16
|
|
0x0704ce14 <printf+68>: bx lr
|
|
0x0704ce16 <printf+70>: nop
|
|
0x0704ce18 <printf+72>: movs r3, #142
|
|
0x0704ce1a <printf+74>: lsls r5, r0, #0
|
|
0x0704ce1c <printf+76>: adds r1, #122
|
|
0x0704ce1e <printf+78>: lsls r5, r0, #0
|
|
0x0704ce20 <printf+80>: adds r1, #104
|
|
0x0704ce22 <printf+82>: lsls r5, r0, #0
|
|
End of assembler dump.
|
|
(gdb) x /2b 0x0704cdd0
|
|
0x704cdd0 <printf>: 0x0f 0xb4
|
|
(gdb) x /2b 0x0704cdd2
|
|
0x704cdd2 <printf+2>: 0xb0 0xb5
|
|
(gdb) x /2b 0x0704cdd4
|
|
0x704cdd4 <printf+4>: 0x02 0xaf
|
|
(gdb) x /2b 0x0704cdd6
|
|
0x704cdd6 <printf+6>: 0x81 0xb0
|
|
(gdb) x /2b 0x0704cdd8
|
|
0x704cdd8 <printf+8>: 0x05 0xab
|
|
(gdb) x /4b 0x0704cdda
|
|
0x704cdda <printf+10>: 0x53 0xf8 0x04 0x5b
|
|
(gdb) x /2b 0x0704cdde
|
|
0x704cdde <printf+14>: 0x00 0x93
|
|
(gdb) x /2b 0x0704cde0
|
|
0x704cde0 <printf+16>: 0x0d 0x4b
|
|
(gdb) x /2b 0x0704cde2
|
|
0x704cde2 <printf+18>: 0x7b 0x44
|
|
(gdb) x /2b 0x0704cde4
|
|
0x704cde4 <printf+20>: 0x18 0x68
|
|
(gdb) x /2b 0x0704cde6
|
|
0x704cde6 <printf+22>: 0x04 0x68
|
|
(gdb) x /2b 0x0704cde8
|
|
0x704cde8 <printf+24>: 0x0c 0x48
|
|
(gdb) x /2b 0x0704cdea
|
|
0x704cdea <printf+26>: 0x78 0x44
|
|
(gdb) x /2b 0x0704cdec
|
|
0x704cdec <printf+28>: 0x00 0x68
|
|
(gdb) x /2b 0x0704cdee
|
|
0x704cdee <printf+30>: 0x00 0x68
|
|
(gdb) x /4b 0x0704cdf0
|
|
0x704cdf0 <printf+32>: 0x2e 0xf0 0x1e 0xee
|
|
(gdb) x /2b 0x0704cdf4
|
|
0x704cdf4 <printf+36>: 0x18 0xb9
|
|
(gdb) x /2b 0x0704cdf6
|
|
0x704cdf6 <printf+38>: 0x0a 0x49
|
|
(gdb) x /2b 0x0704cdf8
|
|
0x704cdf8 <printf+40>: 0x79 0x44
|
|
(gdb) x /2b 0x0704cdfa
|
|
0x704cdfa <printf+42>: 0x09 0x68
|
|
(gdb) x /2b 0x0704cdfc
|
|
0x704cdfc <printf+44>: 0x00 0xe0
|
|
(gdb) x /2b 0x0704cdfe
|
|
0x704cdfe <printf+46>: 0x01 0x46
|
|
(gdb) x /2b 0x0704ce00
|
|
0x704ce00 <printf+48>: 0x20 0x46
|
|
(gdb) x /2b 0x0704ce02
|
|
0x704ce02 <printf+50>: 0x2a 0x46
|
|
(gdb) x /2b 0x0704ce04
|
|
0x704ce04 <printf+52>: 0x00 0x9b
|
|
(gdb) x /4b 0x0704ce06
|
|
0x704ce06 <printf+54>: 0xfd 0xf7 0x9d 0xff
|
|
(gdb) x /4b 0x0704ce0a
|
|
0x704ce0a <printf+58>: 0xa7 0xf1 0x08 0x0d
|
|
(gdb) x /4b 0x0704ce0e
|
|
0x704ce0e <printf+62>: 0xbd 0xe8 0xb0 0x40
|
|
(gdb) x /2b 0x0704ce12
|
|
0x704ce12 <printf+66>: 0x04 0xb0
|
|
(gdb) x /2b 0x0704ce14
|
|
0x704ce14 <printf+68>: 0x70 0x47
|
|
(gdb) x /2b 0x0704ce16
|
|
0x704ce16 <printf+70>: 0x00 0xbf
|
|
(gdb) x /2b 0x0704ce18
|
|
0x704ce18 <printf+72>: 0x8e 0x23
|
|
(gdb) x /2b 0x0704ce1a
|
|
0x704ce1a <printf+74>: 0x05 0x00
|
|
(gdb) x /2b 0x0704ce1c
|
|
0x704ce1c <printf+76>: 0x7a 0x31
|
|
(gdb) x /2b 0x0704ce1e
|
|
0x704ce1e <printf+78>: 0x05 0x00
|
|
(gdb) x /2b 0x0704ce20
|
|
0x704ce20 <printf+80>: 0x68 0x31
|
|
(gdb) x /2b 0x0704ce22
|
|
0x704ce22 <printf+82>: 0x05 0x00
|
|
(gdb) quit
|
|
|
|
Executing command: /Volumes/data/lldb/llvm/Debug+Asserts/bin/llvm-mc -disassemble -triple=thumb-apple-darwin -debug-only=arm-disassembler disasm-input.txt
|
|
Opcode=2305 Name=tPUSH Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 1: 1| 0: 1: 0: 0| 0: 0: 0: 0| 1: 1: 1: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
push {r0, r1, r2, r3}
|
|
Opcode=2305 Name=tPUSH Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 1: 1| 0: 1: 0: 1| 1: 0: 1: 1| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
push {r4, r5, r7, lr}
|
|
Opcode=2228 Name=tADDrSPi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 1: 0| 1: 1: 1: 1| 0: 0: 0: 0| 0: 0: 1: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
add r7, sp, #8
|
|
Opcode=2328 Name=tSUBspi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 1: 1| 0: 0: 0: 0| 1: 0: 0: 0| 0: 0: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
sub sp, #4
|
|
Opcode=2228 Name=tADDrSPi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 1: 0| 1: 0: 1: 1| 0: 0: 0: 0| 0: 1: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
add r3, sp, #20
|
|
Opcode=1963 Name=t2LDR_POST Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 1: 1: 1: 1| 1: 0: 0: 0| 0: 1: 0: 1| 0: 0: 1: 1| 0: 1: 0: 1| 1: 0: 1: 1| 0: 0: 0: 0| 0: 1: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr r5, [r3], #4
|
|
Opcode=2324 Name=tSTRspi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 0: 1| 0: 0: 1: 1| 0: 0: 0: 0| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
str r3, [sp]
|
|
Opcode=2275 Name=tLDRpci Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 1: 0: 1: 1| 0: 0: 0: 0| 1: 1: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr.n r3, #52
|
|
Opcode=2223 Name=tADDhirr Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 0: 1: 0: 0| 0: 1: 1: 1| 1: 0: 1: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
add r3, pc
|
|
Opcode=2274 Name=tLDRi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 1: 0| 1: 0: 0: 0| 0: 0: 0: 1| 1: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr r0, [r3]
|
|
Opcode=2274 Name=tLDRi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 1: 0| 1: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr r4, [r0]
|
|
Opcode=2275 Name=tLDRpci Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 1: 0: 0: 0| 0: 0: 0: 0| 1: 1: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr.n r0, #48
|
|
Opcode=2223 Name=tADDhirr Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 0: 1: 0: 0| 0: 1: 1: 1| 1: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
add r0, pc
|
|
Opcode=2274 Name=tLDRi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 1: 0| 1: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr r0, [r0]
|
|
Opcode=2274 Name=tLDRi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 1: 0| 1: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr r0, [r0]
|
|
Opcode=2243 Name=tBLXi_r9 Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 1: 1: 1: 1| 0: 0: 0: 0| 0: 0: 1: 0| 1: 1: 1: 0| 1: 1: 1: 0| 1: 1: 1: 0| 0: 0: 0: 1| 1: 1: 1: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
blx #191548
|
|
Opcode=2255 Name=tCBNZ Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 1: 1| 1: 0: 0: 1| 0: 0: 0: 1| 1: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
cbnz r0, #6
|
|
Opcode=2275 Name=tLDRpci Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 1: 0: 0: 1| 0: 0: 0: 0| 1: 0: 1: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr.n r1, #40
|
|
Opcode=2223 Name=tADDhirr Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 0: 1: 0: 0| 0: 1: 1: 1| 1: 0: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
add r1, pc
|
|
Opcode=2274 Name=tLDRi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 1: 0| 1: 0: 0: 0| 0: 0: 0: 0| 1: 0: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr r1, [r1]
|
|
Opcode=2238 Name=tB Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 1: 1: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
b #0
|
|
Opcode=2294 Name=tMOVr Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 0: 1: 1: 0| 0: 0: 0: 0| 0: 0: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
mov r1, r0
|
|
Opcode=2294 Name=tMOVr Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 0: 1: 1: 0| 0: 0: 1: 0| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
mov r0, r4
|
|
Opcode=2294 Name=tMOVr Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 0: 1: 1: 0| 0: 0: 1: 0| 1: 0: 1: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
mov r2, r5
|
|
Opcode=2278 Name=tLDRspi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 0: 0| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
ldr r3, [sp]
|
|
Opcode=2246 Name=tBLr9 Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 1: 1: 1: 1| 0: 1: 1: 1| 1: 1: 1: 1| 1: 1: 0: 1| 1: 1: 1: 1| 1: 1: 1: 1| 1: 0: 0: 1| 1: 1: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
bl #-8390
|
|
Opcode=2153 Name=t2SUBri Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 1: 1: 1: 1| 0: 0: 0: 1| 1: 0: 1: 0| 0: 1: 1: 1| 0: 0: 0: 0| 1: 1: 0: 1| 0: 0: 0: 0| 1: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
sub.w sp, r7, #8
|
|
Opcode=1926 Name=t2LDMIA_UPD Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 1: 1: 1: 0| 1: 0: 0: 0| 1: 0: 1: 1| 1: 1: 0: 1| 0: 1: 0: 0| 0: 0: 0: 0| 1: 0: 1: 1| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
pop.w {r4, r5, r7, lr}
|
|
Opcode=2230 Name=tADDspi Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 1: 1| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
add sp, #16
|
|
Opcode=2250 Name=tBX_RET Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 0| 0: 1: 1: 1| 0: 1: 1: 1| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
bx lr
|
|
Opcode=2300 Name=tNOP Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 1: 0: 1: 1| 1: 1: 1: 1| 0: 0: 0: 0| 0: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
nop
|
|
Opcode=2293 Name=tMOVi8 Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 1: 0| 0: 0: 1: 1| 1: 0: 0: 0| 1: 1: 1: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
movs r3, #142
|
|
Opcode=2290 Name=tMOVSr Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
movs r5, r0
|
|
Opcode=2225 Name=tADDi8 Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 1| 0: 1: 1: 1| 1: 0: 1: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
adds r1, #122
|
|
Opcode=2290 Name=tMOVSr Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
movs r5, r0
|
|
Opcode=2225 Name=tADDi8 Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 1| 0: 1: 1: 0| 1: 0: 0: 0|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
adds r1, #104
|
|
Opcode=2290 Name=tMOVSr Format=ARM_FORMAT_THUMBFRM(25)
|
|
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|
|
-------------------------------------------------------------------------------------------------
|
|
| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 0: 0: 0| 0: 1: 0: 1|
|
|
-------------------------------------------------------------------------------------------------
|
|
|
|
movs r5, r0
|
|
[16:28:00] johnny:/Volumes/data/Radar/9131529 $
|