mirror of
				https://github.com/alsa-project/alsa-tools.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	
		
			
	
	
		
			35 lines
		
	
	
	
		
			539 B
		
	
	
	
		
			NASM
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
	
		
			539 B
		
	
	
	
		
			NASM
		
	
	
	
	
	
| 
								 | 
							
								; Mikael Magnusson
							 | 
						||
| 
								 | 
							
								    name "Switch 2 - 2 channels"
							 | 
						||
| 
								 | 
							
								    include "emu_constants.asm"
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								Left0	IO
							 | 
						||
| 
								 | 
							
								Right0	IO
							 | 
						||
| 
								 | 
							
								Left1	IO
							 | 
						||
| 
								 | 
							
								Right1	IO
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								tmp0	dyn 1
							 | 
						||
| 
								 | 
							
								tmp1	dyn 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								switchL control 0,0,1
							 | 
						||
| 
								 | 
							
								switchR control 0,0,1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								switch	macro	dst, src, sw
							 | 
						||
| 
								 | 
							
									macints	dst, C_0, src, sw
							 | 
						||
| 
								 | 
							
									endm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								switch_neg macro dst, src
							 | 
						||
| 
								 | 
							
									andxor	dst, src, C_1, C_1
							 | 
						||
| 
								 | 
							
									endm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								switch2 macro dst, src0, src1, sw
							 | 
						||
| 
								 | 
							
									switch tmp0, src1, sw
							 | 
						||
| 
								 | 
							
									switch_neg tmp1, sw
							 | 
						||
| 
								 | 
							
									switch tmp1, src0, tmp1
							 | 
						||
| 
								 | 
							
									acc3 dst, tmp0, tmp1, C_0	
							 | 
						||
| 
								 | 
							
									endm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									switch2 Left0, Left0, Left1, switchL
							 | 
						||
| 
								 | 
							
									switch2 Right0, Right0, Right1, switchR
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									end
							 |