	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function db9_saturn_read_sub
_db9_saturn_read_sub:                   ## @db9_saturn_read_sub
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	testl	%esi, %esi
	je	LBB0_2
## %bb.1:
	callq	_parport_read_status
	movl	%eax, %ecx
	shrl	$7, %ecx
	andl	$1, %ecx
	movl	%eax, %edx
	shrl	$5, %edx
	andl	$2, %edx
	orl	%ecx, %edx
	movl	%eax, %ecx
	shrl	$3, %ecx
	andl	$4, %ecx
	orl	%edx, %ecx
	shrl	%eax
	andl	$8, %eax
	orl	%ecx, %eax
	xorb	$1, %al
	jmp	LBB0_3
LBB0_2:
	callq	_parport_read_data
	rolb	$4, %al
	movl	%eax, %ecx
	andb	$51, %cl
	shlb	$2, %cl
	shrb	$2, %al
	andb	$51, %al
	orb	%cl, %al
	movl	%eax, %ecx
	andb	$80, %cl
	addb	%cl, %cl
	shrb	%al
	andb	$80, %al
	orb	%cl, %al
	shrb	$4, %al
LBB0_3:
	movzbl	%al, %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_db9_saturn_read_sub
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function db9_saturn_read_sub
lCPI0_0:
	.long	4294967289                      ; 0xfffffff9
	.long	4294967291                      ; 0xfffffffb
	.long	4294967293                      ; 0xfffffffd
	.long	4294967295                      ; 0xffffffff
lCPI0_1:
	.long	1                               ; 0x1
	.long	2                               ; 0x2
	.long	4                               ; 0x4
	.long	8                               ; 0x8
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_db9_saturn_read_sub:                   ; @db9_saturn_read_sub
	.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
	cbz	w1, LBB0_2
; %bb.1:
	bl	_parport_read_status
	dup.4s	v0, w0
Lloh0:
	adrp	x8, lCPI0_0@PAGE
Lloh1:
	ldr	q1, [x8, lCPI0_0@PAGEOFF]
	ushl.4s	v0, v0, v1
Lloh2:
	adrp	x8, lCPI0_1@PAGE
Lloh3:
	ldr	q1, [x8, lCPI0_1@PAGEOFF]
	and.16b	v0, v0, v1
	ext.16b	v1, v0, v0, #8
	orr.8b	v0, v0, v1
	mov.s	w8, v0[1]
	fmov	w9, s0
	orr	w8, w9, w8
	eor	w8, w8, #0x1
	b	LBB0_3
LBB0_2:
	bl	_parport_read_data
	rbit	w8, w0
	lsr	w8, w8, #28
LBB0_3:
	and	w0, w8, #0xff
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
	.loh AdrpLdr	Lloh2, Lloh3
	.loh AdrpAdrp	Lloh0, Lloh2
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_db9_saturn_read_sub
.subsections_via_symbols
