From 67d25d837ac55f28a366c0a3b262e439a6e75fc3 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 19 Aug 2017 12:15:28 +0200 Subject: Add AmForth --- amforth-6.5/avr8/devices/atmega165a/words/sleep.asm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 amforth-6.5/avr8/devices/atmega165a/words/sleep.asm (limited to 'amforth-6.5/avr8/devices/atmega165a/words/sleep.asm') diff --git a/amforth-6.5/avr8/devices/atmega165a/words/sleep.asm b/amforth-6.5/avr8/devices/atmega165a/words/sleep.asm new file mode 100644 index 0000000..256249c --- /dev/null +++ b/amforth-6.5/avr8/devices/atmega165a/words/sleep.asm @@ -0,0 +1,19 @@ +; ( mode -- ) +; MCU +; put the controller into the specified sleep mode +VE_SLEEP: + .dw $ff05 + .db "sleep", 0 + .dw VE_HEAD + .set VE_HEAD = VE_SLEEP +XT_SLEEP: + .dw PFA_SLEEP +PFA_SLEEP: + andi tosl, 7 ; leave only legal mode bits + lsl tosl ; move to correct location (bits 3-1) + ori tosl, 1 ; set the SE bit + out_ SMCR, tosl ; set the sleep config + sleep ; nighty-night + out_ SMCR, zerol ; 0 protects against accidental sleeps + loadtos ; pop argument from stack + jmp_ DO_NEXT -- cgit v1.2.3