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/lib/assembler-test.frt | 58 +++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 amforth-6.5/avr8/lib/assembler-test.frt (limited to 'amforth-6.5/avr8/lib/assembler-test.frt') diff --git a/amforth-6.5/avr8/lib/assembler-test.frt b/amforth-6.5/avr8/lib/assembler-test.frt new file mode 100644 index 0000000..b769f3d --- /dev/null +++ b/amforth-6.5/avr8/lib/assembler-test.frt @@ -0,0 +1,58 @@ +\ ----- Test AvrAsm ----- + +only forth also assembler + +: loadtos, 24 Y+ ld, 25 Y+ ld, ; \ define macro +: savetos, -Y 25 st, -Y 24 st, ; \ from macros.asm + +code dup_ savetos, end-code \ insert asm code +code drop_ loadtos, end-code + +code ++_ \ ( x1 x2 x3 -- x4 ) + R14 2 ldi, \ + + + label> + R16 Y+ ld, + R17 Y+ ld, + R24 R16 add, + R25 R17 adc, + R14 1 subi, + 0 jmp, \ -+ +\ label> \ | +>-+ +\ clc, \ | | | +\ adr> rjmp, \ | | +-+ +\ nop, \ | | | +\ brcc, \ | | +-+ +\ nop, \ | | | +\ rot | | +\ swap 0 jmp, 0 >lbl \ addr->lbl[0] +\ label> 1 >lbl +\ clc, +\ adr> rjmp, 2 >lbl +\ nop, +\ 2 brcc, 3 >lbl +\ nop, +\ 0 tos +\ 1