mirror of
https://github.com/sergeyyarkov/attiny24a_memory-led-game.git
synced 2026-10-11 02:08:54 +03:00
41 lines
607 B
NASM
41 lines
607 B
NASM
;
|
|
; Initialize stack pointer
|
|
; @0 - Temp register
|
|
.macro init_stack_p
|
|
ldi @0, low(@1)
|
|
out SPL, @0
|
|
.ifdef SPH
|
|
ldi @0, high(RAMEND)
|
|
out SPH, @0
|
|
.endif
|
|
.endm
|
|
|
|
;
|
|
; out immediate
|
|
; @0 - I/O Register
|
|
; @1 - Data to write
|
|
.macro outi
|
|
push r16
|
|
ldi r16, @1
|
|
out @0, r16
|
|
pop r16
|
|
.endm
|
|
|
|
;
|
|
; sts immediate
|
|
; @0 - SRAM Address
|
|
; @1 - Data to write
|
|
.macro stsi
|
|
push r16
|
|
ldi r16, @1
|
|
sts @0, r16
|
|
pop r16
|
|
.endm
|
|
|
|
;
|
|
; Set MCU global state
|
|
; @0 - New state
|
|
.macro set_state
|
|
sts PREVIOUS_STATE_ADDRESS, mcu_state_r ; Write previous state to SRAM
|
|
stsi CURRENT_STATE_ADDRESS, @0
|
|
.endm |