Advertisement
Guest User

Untitled

a guest
Nov 17th, 2013
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 2.09 KB | None | 0 0
  1. .text
  2. foo:
  3. push {ip, lr}
  4.     cmp r0, r1
  5.     bgt k @r1>r0
  6.      mov r2, r0
  7.      mov r0, r1
  8.      mov r1, r2
  9.     k:
  10.     mov r4, r0
  11.     mov r5, r1
  12.     mov r0, r4
  13.     ldr r1, =t1
  14.     bl decode
  15.    
  16.     ldr r0, =t1
  17.     bl printDecoded
  18.    
  19.     mov r0, r5
  20.     ldr r1, =t2
  21.     bl decode
  22.     ldr r0, =t2
  23.     bl printDecoded
  24.  
  25.     ldr r8, =t1
  26.     ldr r9, =t2
  27.     ldr r10, =t3
  28.     mov r11, #0
  29.  
  30.      mov r0, r4
  31.      mov r1, r5
  32.      lsr r0, #31
  33.      lsr r1, #31
  34.      cmp r0,r1
  35.      beq dodawaj
  36.     mov r11,#1
  37.    
  38.      mov r2, #0x7fffffff
  39.      and r0, r4, r2
  40.      and r1, r5, r2
  41.      cmp r0, r1
  42.      bgt dodawaj
  43.      mov r7, r8
  44.      mov r8, r9
  45.      mov r9, r7
  46.  
  47.     dodawaj:
  48.     mov r0, #0
  49.     mov r1, #0
  50.     ldrsb r0, [r8, #1]
  51.     ldrsb r1, [r9, #1]
  52.     sub r3, r0, r1
  53.     ldrb r0, [r9, #2]
  54.     ldrb r1, [r9, #3]
  55.     ldrb r2, [r9, #4]
  56.     cmp r3, #0
  57.     beq cLoopEnd
  58.     cLoop:
  59.      lsr r2, #1
  60.      lsrs r1, #1
  61.      addcs r2, #0x80
  62.      lsrs r0, #1
  63.      addcs r1, #0x80
  64.      subs r3, r3, #1
  65.      cmp r3, #0
  66.     bne cLoop
  67.     cLoopEnd:
  68.     ldr r4, [r8, #1]
  69.     cmp r11, #0
  70.     beq dodaj
  71.     mov r3, #0
  72.     ldrb r3, [r8, #4]
  73.     add r2, r2, r3
  74.     add r1, r2, lsr #8
  75.     ldrb r3, [r8, #3]
  76.     add r1, r1, r3
  77.     add r0, r1, lsr #8
  78.     ldrb r3, [r8, #2]
  79.     add r0, r0, r3
  80.     cmp r0, #0xff
  81.     ldr r5, [r8, #0]
  82.     ble zapisz
  83.      mov r6, #0xff
  84.      and r0, r0, r6
  85.      and r1, r1, r6
  86.      and r2, r2, r6
  87.      add r4, #1
  88.      mov r3, #0
  89.      lsr r2, #1
  90.      and r3, r1, #1
  91.      add r2, r2, r3
  92.      lsr r1, #1
  93.      and r3, r0, #1
  94.      add r1, r1, r3
  95.      lsr r0, #1
  96.     b zapisz
  97.  
  98.  
  99.     b zapisz
  100.  
  101.        dodaj:
  102.     mov r3, #0
  103.     ldrb r3, [r8, #4]
  104.     add r2, r2, r3
  105.     add r1, r2, lsr #8
  106.     ldrb r3, [r8, #3]
  107.     add r1, r1, r3
  108.     add r0, r1, lsr #8
  109.     ldrb r3, [r8, #2]
  110.     add r0, r0, r3
  111.     cmp r0, #0xff
  112.     ldr r5, [r8, #0]
  113.     ble zapisz
  114.      mov r6, #0xff
  115.      and r0, r0, r6
  116.      and r1, r1, r6
  117.      and r2, r2, r6
  118.      add r4, #1
  119.      mov r3, #0
  120.      lsr r2, #1
  121.      and r3, r1, #1
  122.      add r2, r2, r3
  123.      lsr r1, #1
  124.      and r3, r0, #1
  125.      add r1, r1, r3
  126.      lsr r0, #1
  127.     b zapisz
  128.  
  129.     zapisz:
  130.     strb r0, [r10, #2]
  131.     strb r1, [r10, #3]
  132.     strb r2, [r10, #4]
  133.     strb r4, [r10, #1]
  134.     strb r5, [r10, #0]
  135.     ldr r0, =t3
  136.     bl printDecoded
  137.     ldr r0, =t3
  138.     bl encode
  139.     pop {ip,pc}
  140. pop {ip,pc}
  141. .data
  142. t1: .byte 0,0,0,0,0,0
  143. t2: .byte 0,0,0,0,0,0
  144. t3: .byte 0,0,0,0,0,0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement