	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function Q40MonoInterrupt
_Q40MonoInterrupt:                      ## @Q40MonoInterrupt
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_dmasound@GOTPCREL(%rip), %rdi
	callq	_spin_lock
	movq	_q40_sc@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	testq	%rcx, %rcx
	jle	LBB0_2
## %bb.1:
	movq	_q40_pp@GOTPCREL(%rip), %r8
	movq	(%r8), %rsi
	movl	(%rsi), %edi
	movq	_DAC_LEFT@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movl	%edi, (%rdx)
	leaq	4(%rsi), %rdx
	movq	%rdx, (%r8)
	movl	(%rsi), %edx
	movq	_DAC_RIGHT@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movl	%edx, (%rsi)
	decq	%rcx
	movq	%rcx, (%rax)
	movq	_SAMPLE_CLEAR_REG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$1, %edi
	callq	_master_outb
	jmp	LBB0_3
LBB0_2:
	xorl	%eax, %eax
	callq	_Q40Interrupt
LBB0_3:
	movq	_dmasound@GOTPCREL(%rip), %rdi
	callq	_spin_unlock
	movq	_IRQ_HANDLED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_dmasound,4,2                   ## @dmasound
	.comm	_q40_sc,8,3                     ## @q40_sc
	.comm	_q40_pp,8,3                     ## @q40_pp
	.comm	_DAC_LEFT,8,3                   ## @DAC_LEFT
	.comm	_DAC_RIGHT,8,3                  ## @DAC_RIGHT
	.comm	_SAMPLE_CLEAR_REG,4,2           ## @SAMPLE_CLEAR_REG
	.comm	_IRQ_HANDLED,4,2                ## @IRQ_HANDLED
	.no_dead_strip	_Q40MonoInterrupt
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function Q40MonoInterrupt
_Q40MonoInterrupt:                      ; @Q40MonoInterrupt
	.cfi_startproc
; %bb.0:
	stp	x29, x30, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	mov	x29, sp
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
Lloh0:
	adrp	x0, _dmasound@GOTPAGE
Lloh1:
	ldr	x0, [x0, _dmasound@GOTPAGEOFF]
	bl	_spin_lock
Lloh2:
	adrp	x8, _q40_sc@GOTPAGE
Lloh3:
	ldr	x8, [x8, _q40_sc@GOTPAGEOFF]
	ldr	x9, [x8]
	subs	x9, x9, #1
	b.lt	LBB0_2
; %bb.1:
Lloh4:
	adrp	x10, _q40_pp@GOTPAGE
Lloh5:
	ldr	x10, [x10, _q40_pp@GOTPAGEOFF]
	ldr	x11, [x10]
	ldr	w12, [x11]
Lloh6:
	adrp	x13, _DAC_LEFT@GOTPAGE
Lloh7:
	ldr	x13, [x13, _DAC_LEFT@GOTPAGEOFF]
Lloh8:
	ldr	x13, [x13]
	str	w12, [x13]
	ldr	w12, [x11], #4
	str	x11, [x10]
Lloh9:
	adrp	x10, _DAC_RIGHT@GOTPAGE
Lloh10:
	ldr	x10, [x10, _DAC_RIGHT@GOTPAGEOFF]
Lloh11:
	ldr	x10, [x10]
	str	w12, [x10]
	str	x9, [x8]
Lloh12:
	adrp	x8, _SAMPLE_CLEAR_REG@GOTPAGE
Lloh13:
	ldr	x8, [x8, _SAMPLE_CLEAR_REG@GOTPAGEOFF]
Lloh14:
	ldr	w1, [x8]
	mov	w0, #1
	bl	_master_outb
	b	LBB0_3
LBB0_2:
	bl	_Q40Interrupt
LBB0_3:
Lloh15:
	adrp	x0, _dmasound@GOTPAGE
Lloh16:
	ldr	x0, [x0, _dmasound@GOTPAGEOFF]
	bl	_spin_unlock
Lloh17:
	adrp	x8, _IRQ_HANDLED@GOTPAGE
Lloh18:
	ldr	x8, [x8, _IRQ_HANDLED@GOTPAGEOFF]
Lloh19:
	ldr	w0, [x8]
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh15, Lloh16
	.cfi_endproc
                                        ; -- End function
	.comm	_dmasound,4,2                   ; @dmasound
	.comm	_q40_sc,8,3                     ; @q40_sc
	.comm	_q40_pp,8,3                     ; @q40_pp
	.comm	_DAC_LEFT,8,3                   ; @DAC_LEFT
	.comm	_DAC_RIGHT,8,3                  ; @DAC_RIGHT
	.comm	_SAMPLE_CLEAR_REG,4,2           ; @SAMPLE_CLEAR_REG
	.comm	_IRQ_HANDLED,4,2                ; @IRQ_HANDLED
	.no_dead_strip	_Q40MonoInterrupt
.subsections_via_symbols
