Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ┌ (fcn) fcn.000022a8 84
- │ fcn.000022a8 ();
- │ 0x000022a8 10b5 push (r4, lr)
- │ 0x000022aa 0446 r4 = r0 ; move value between registers
- │ 0x000022ac 0a20 r0 = 0xa ; move immediate into register and update flags
- │ 0x000022ae 6043 r0 = r4 * r0
- │ 0x000022b0 2049 r1 = [pc + 0x80] ; [0x2334:4]=0x10000a90 ; load from memory to register
- │ 0x000022b2 4018 r0 = r0 + r1 ; add two values and update flags
- │ 0x000022b4 8079 r0 = (byte) [r0 + 6] ; load byte from memory to register
- │ 0x000022b6 0028 if (r0 == 0) ; compare
- │ ┌─< 0x000022b8 04d0 je 0x22c4 ; branches if equal (see 'b') Z is set
- │ │ 0x000022ba 0128 if (r0 == 1) ; compare
- │ ┌──< 0x000022bc 1bd0 je 0x22f6 ; branches if equal (see 'b') Z is set
- │ ││ 0x000022be 0428 if (r0 == 4) ; compare
- │ ┌───< 0x000022c0 1ad1 bne 0x22f8 ; branch if Z clear (not equal)
- │ ┌────< 0x000022c2 17e0 jmp 0x22f4 ; branches the program counter to dst (pc aka r15)
- │ │││└─> 0x000022c4 00bf
- │ │││ 0x000022c6 00bf
- │ │││ 0x000022c8 0a20 r0 = 0xa ; move immediate into register and update flags
- │ │││ 0x000022ca 6043 r0 = r4 * r0
- │ │││ 0x000022cc 1949 r1 = [pc + 0x64] ; [0x2334:4]=0x10000a90 ; load from memory to register
- │ │││ 0x000022ce 4018 r0 = r0 + r1 ; add two values and update flags
- │ │││ 0x000022d0 c078 r0 = (byte) [r0 + 3] ; load byte from memory to register
- │ │││ 0x000022d2 0028 if (r0 == 0) ; compare
- │ │││┌─< 0x000022d4 03d0 je 0x22de ; branches if equal (see 'b') Z is set
- │ ││││ 0x000022d6 2046 r0 = r4 ; move value between registers
- │ ││││ 0x000022d8 fff71efc fcn.00001b18() ; branches and link, similar to call in i386, set lr(r14) = pc, changes pc (r15) )
- │ ┌─────< 0x000022dc 09e0 jmp 0x22f2 ; branches the program counter to dst (pc aka r15)
- │ ││││└─> 0x000022de 0a20 r0 = 0xa ; move immediate into register and update flags
- │ ││││ 0x000022e0 6043 r0 = r4 * r0
- │ ││││ 0x000022e2 1449 r1 = [pc + 0x50] ; [0x2334:4]=0x10000a90 ; load from memory to register
- │ ││││ 0x000022e4 4018 r0 = r0 + r1 ; add two values and update flags
- │ ││││ 0x000022e6 0079 r0 = (byte) [r0 + 4] ; load byte from memory to register
- │ ││││ 0x000022e8 0028 if (r0 == 0) ; compare
- │ ││││┌─< 0x000022ea 02d0 je 0x22f2 ; branches if equal (see 'b') Z is set
- │ │││││ 0x000022ec 2046 r0 = r4 ; move value between registers
- │ │││││ 0x000022ee fff76ffc fcn.00001bd0() ; branches and link, similar to call in i386, set lr(r14) = pc, changes pc (r15) )
- │ ┌└───└─> 0x000022f2 01e0 jmp 0x22f8 ; branches the program counter to dst (pc aka r15)
- │ │ └──┌─< 0x000022f4 00e0 jmp 0x22f8 ; branches the program counter to dst (pc aka r15)
- │ │ │└──> 0x000022f6 00bf
- │ └──└─└─> 0x000022f8 00bf
- └ 0x000022fa 10bd pop (r4, pc) ; load N elements from stack into given registers
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement