aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/drivers/generic-isr.asm
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-08-26 20:31:40 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-08-26 20:31:40 +0200
commitd80736ab6e8e3cad2f1a30c6eaba2d6883dbe967 (patch)
tree15962f3d8542ae182d88ac5913a3c4bfce6f2b03 /amforth-6.5/avr8/drivers/generic-isr.asm
parent530a312ee523a25e5df475341d201e5bb1296c41 (diff)
Remove AmForth
Diffstat (limited to 'amforth-6.5/avr8/drivers/generic-isr.asm')
-rw-r--r--amforth-6.5/avr8/drivers/generic-isr.asm41
1 files changed, 0 insertions, 41 deletions
diff --git a/amforth-6.5/avr8/drivers/generic-isr.asm b/amforth-6.5/avr8/drivers/generic-isr.asm
deleted file mode 100644
index e0aeaed..0000000
--- a/amforth-6.5/avr8/drivers/generic-isr.asm
+++ /dev/null
@@ -1,41 +0,0 @@
-; ISR routines
-.eseg
-intvec: .byte INTVECTORS * CELLSIZE
-.dseg
-intcnt: .byte INTVECTORS
-.cseg
-
-; interrupt routine gets called (again) by rcall! This gives the
-; address of the int-vector on the stack.
-isr:
- st -Y, r0
- in r0, SREG
- st -Y, r0
-.if (pclen==3)
- pop r0 ; some 128+K Flash devices use 3 cells for call/ret
-.endif
- pop r0
- pop r0 ; = intnum * intvectorsize + 1 (address following the rcall)
- dec r0
-.if intvecsize == 1 ;
- lsl r0
-.endif
- mov isrflag, r0
- push zh
- push zl
- ldi zl, low(intcnt)
- ldi zh, high(intcnt)
- lsr r0 ; we use byte addresses in the counter array, not words
- add zl, r0
- adc zh, zeroh
- ld r0, Z
- inc r0
- st Z, r0
- pop zl
- pop zh
-
- ld r0, Y+
- out SREG, r0
- ld r0, Y+
- ret ; returns the interrupt, the rcall stack frame is removed!
- ; no reti here, see words/isr-end.asm