Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .NOLIST
- .INCLUDE "m128def.inc"
- .LIST
- .CSEG
- cislo1: ;0xA9 53 D2 E8 C7
- .DB 0xC7, 0xE8, 0xD2, 0x53, 0xA9
- cislo2: ;0x88 1F B9 25 77
- .DB 0x77, 0x25, 0xB9, 0x1F, 0x88
- ;konfigurace
- .EQU cykly = 5 ;počet cyklů odpovídá počtu bytů
- LDI R17, 0x01
- LDI R16, 0
- LDI YL, 0x00
- LDI YH, 0x01
- program:
- LDI ZL, LOW(cislo1 << 1)
- LDI ZH, HIGH(cislo1 << 1)
- ADD ZL, R16
- LPM R0, Z
- LDI ZL, LOW(cislo2 << 1)
- LDI ZH, HIGH(cislo2 << 1)
- ADD ZL, R16
- LPM R1, Z
- BRTS tflag
- returnT:
- ADC R0, R1
- BRCS cflag
- returnC:
- ST Y+, R0
- INC R16
- CPI R16, cykly
- BRLT program
- BRTS carry
- DEC R17 ;2 řádky připravené v kódu pro případ kdyby se čísla změnila
- ST Y, R17 ;a nedošlo k přetečení
- retcarr: ;ZEZRCADLENÍ PRO LEPŠÍ ČITELNOST V TABULCE DATOVÉ PAMĚTI
- LDI ZL, 0x00
- LDI ZH, 0x01
- LDI R20, 0x03
- otoceni:
- LD R16, Y
- LD R17, Z
- ST Z+, R16
- ST Y, R17
- DEC YL
- DEC R20
- BRNE otoceni
- konec: RJMP konec ;výsledek: 0x01 31 73 8C 0E 3E
- cflag: SET
- RJMP returnC
- tflag: SEC
- CLT
- RJMP returnT
- carry: ST Y, R17
- RJMP retcarr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement