Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. .NOLIST
  2. .INCLUDE "m128def.inc"
  3. .LIST
  4.  
  5. .CSEG
  6.  
  7. cislo1: ;0xA9 53 D2 E8 C7
  8. .DB 0xC7, 0xE8, 0xD2, 0x53, 0xA9
  9.  
  10. cislo2: ;0x88 1F B9 25 77
  11. .DB 0x77, 0x25, 0xB9, 0x1F, 0x88
  12.  
  13. ;konfigurace
  14. .EQU cykly = 5 ;počet cyklů odpovídá počtu bytů
  15. LDI R17, 0x01
  16. LDI R16, 0
  17. LDI YL, 0x00
  18. LDI YH, 0x01
  19. program:
  20. LDI ZL, LOW(cislo1 << 1)
  21. LDI ZH, HIGH(cislo1 << 1)
  22. ADD ZL, R16
  23. LPM R0, Z
  24.  
  25. LDI ZL, LOW(cislo2 << 1)
  26. LDI ZH, HIGH(cislo2 << 1)
  27. ADD ZL, R16
  28. LPM R1, Z
  29. BRTS tflag
  30. returnT:
  31. ADC R0, R1
  32. BRCS cflag
  33. returnC:
  34. ST Y+, R0
  35. INC R16
  36.  
  37. CPI R16, cykly
  38. BRLT program
  39.  
  40. BRTS carry
  41. DEC R17 ;2 řádky připravené v kódu pro případ kdyby se čísla změnila
  42. ST Y, R17 ;a nedošlo k přetečení
  43.  
  44. retcarr: ;ZEZRCADLENÍ PRO LEPŠÍ ČITELNOST V TABULCE DATOVÉ PAMĚTI
  45. LDI ZL, 0x00
  46. LDI ZH, 0x01
  47. LDI R20, 0x03
  48. otoceni:
  49. LD R16, Y
  50. LD R17, Z
  51. ST Z+, R16
  52. ST Y, R17
  53. DEC YL
  54. DEC R20
  55. BRNE otoceni
  56. konec: RJMP konec ;výsledek: 0x01 31 73 8C 0E 3E
  57.  
  58. cflag: SET
  59. RJMP returnC
  60.  
  61. tflag: SEC
  62. CLT
  63. RJMP returnT
  64. carry: ST Y, R17
  65. RJMP retcarr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement