Switch back to C based timeout ISR in the AVRISP project - assembly version was failing, and only one or two cycles could be shaved off the compiler generated code.
	
		
	
				
					
				
			
							parent
							
								
									3d28d53c3e
								
							
						
					
					
						commit
						a5e79333e5
					
				
											
												
													File diff suppressed because one or more lines are too long
												
											
										
									
								@ -1,23 +0,0 @@
 | 
				
			||||
#include <avr/io.h>
 | 
				
			||||
#include "V2Protocol.h"
 | 
				
			||||
 | 
				
			||||
.global TIMER0_COMPA_vect
 | 
				
			||||
TIMER0_COMPA_vect:
 | 
				
			||||
	sei
 | 
				
			||||
	push	r24
 | 
				
			||||
	in	r24, 0x3f
 | 
				
			||||
	push	r24
 | 
				
			||||
 | 
				
			||||
	in	r24, TimeoutMSRemaining
 | 
				
			||||
	and	r24, r24
 | 
				
			||||
	breq	Epilogue
 | 
				
			||||
	subi	r24, 0x01
 | 
				
			||||
	out	TimeoutMSRemaining, r24
 | 
				
			||||
 | 
				
			||||
Epilogue:
 | 
				
			||||
	pop	r24
 | 
				
			||||
	out	0x3f, r24
 | 
				
			||||
	pop	r24
 | 
				
			||||
	reti	
 | 
				
			||||
	
 | 
				
			||||
	
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue