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/words/spirw.asm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 amforth-6.5/avr8/words/spirw.asm (limited to 'amforth-6.5/avr8/words/spirw.asm') diff --git a/amforth-6.5/avr8/words/spirw.asm b/amforth-6.5/avr8/words/spirw.asm new file mode 100644 index 0000000..bd6616a --- /dev/null +++ b/amforth-6.5/avr8/words/spirw.asm @@ -0,0 +1,26 @@ +; ( txbyte -- rxbyte) +; MCU +; SPI exchange of 1 byte +VE_SPIRW: + .dw $ff06 + .db "c!@spi" + .dw VE_HEAD + .set VE_HEAD = VE_SPIRW +XT_SPIRW: + .dw PFA_SPIRW +PFA_SPIRW: + rcall do_spirw + clr tosh + jmp_ DO_NEXT + +do_spirw: + out_ SPDR, tosl +do_spirw1: + in_ temp0, SPSR + cbr temp0,7 + out_ SPSR, temp0 + in_ temp0, SPSR + sbrs temp0, 7 + rjmp do_spirw1 ; wait until complete + in_ tosl, SPDR + ret -- cgit v1.2.3