Advertisement
Guest User

Untitled

a guest
Dec 14th, 2017
504
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.97 KB | None | 0 0
  1. ASSIGNMENT 10
  2.  
  3. .global hasAOne
  4.   hasAOne:
  5.   cpse r24, r1
  6.   ldi r24, 1
  7.   sbrs r24, 0
  8.   ldi r24, 0
  9.   ret
  10.  
  11. .global byteToAscii
  12.   byteToAscii:
  13.   ldi r22, 48
  14.   add r24, r22
  15.   ret
  16.  
  17.  
  18. .global int8ToInt
  19.   int8ToInt:
  20.   ldi r25, 127  //pushing the byte all the way to max possible value
  21.   sub r25, r24   //subtracting input from the max value
  22.   sbc r25, r25 //now subtracting will back fill with zeros (essentially unduing the lbi r25, 127) but replacing with 0's
  23.   ret
  24.  
  25.  
  26. .global addInt8ToInt
  27.   addInt8ToInt:
  28.   call int8ToInt
  29.   add r24, r22  //
  30.   adc r25,r23   //signed value
  31.   ret
  32.  
  33.  
  34.  
  35. .global add4Int8
  36. add4Int8:
  37.   call int8ToInt
  38.   mov r00,r22
  39.   mov r22,r24
  40.   mov r23,r25
  41.   mov r24,r00
  42.   call addInt8ToInt
  43.   mov r00,r20
  44.   mov r22,r24
  45.   mov r23,r25
  46.   mov r24,r00
  47.   call addInt8ToInt
  48.   mov r00,r18
  49.   mov r22,r24
  50.   mov r23,r25
  51.   mov r24,r00
  52.   call addInt8ToInt
  53.   ret
  54.  
  55.  
  56.  
  57. .global average
  58.   average:
  59.   add r24, r22
  60.   ror r24
  61.   ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement