	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_m68k_op_asr_16_di              ## -- Begin function m68k_op_asr_16_di
	.p2align	4, 0x90
_m68k_op_asr_16_di:                     ## @m68k_op_asr_16_di
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r12
	pushq	%rbx
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	xorl	%eax, %eax
	callq	_EA_AY_DI_16
	movl	%eax, %r14d
	movl	%eax, %edi
	callq	_m68ki_read_16
	movl	%eax, %r15d
	movl	%eax, %r12d
	sarl	%r12d
	movl	%eax, %edi
	callq	_GET_MSB_16
	movl	%r12d, %ebx
	orl	$32768, %ebx                    ## imm = 0x8000
	testq	%rax, %rax
	cmovel	%r12d, %ebx
	movl	%r14d, %edi
	movl	%ebx, %esi
	callq	_m68ki_write_16
	movl	%ebx, %edi
	callq	_NFLAG_16
	movq	_FLAG_N@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	movq	_FLAG_Z@GOTPCREL(%rip), %rax
	movl	%ebx, (%rax)
	movq	_VFLAG_CLEAR@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_FLAG_V@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	shll	$8, %r15d
	movq	_FLAG_X@GOTPCREL(%rip), %rax
	movl	%r15d, (%rax)
	movq	_FLAG_C@GOTPCREL(%rip), %rax
	movl	%r15d, (%rax)
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_FLAG_N,4,2                     ## @FLAG_N
	.comm	_FLAG_Z,4,2                     ## @FLAG_Z
	.comm	_VFLAG_CLEAR,4,2                ## @VFLAG_CLEAR
	.comm	_FLAG_V,4,2                     ## @FLAG_V
	.comm	_FLAG_X,4,2                     ## @FLAG_X
	.comm	_FLAG_C,4,2                     ## @FLAG_C
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_m68k_op_asr_16_di              ; -- Begin function m68k_op_asr_16_di
	.p2align	2
_m68k_op_asr_16_di:                     ; @m68k_op_asr_16_di
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	bl	_EA_AY_DI_16
	mov	x19, x0
	bl	_m68ki_read_16
	mov	x20, x0
	asr	w21, w0, #1
	bl	_GET_MSB_16
	orr	w8, w21, #0x8000
	cmp	x0, #0
	csel	w21, w21, w8, eq
	mov	x0, x19
	mov	x1, x21
	bl	_m68ki_write_16
	mov	x0, x21
	bl	_NFLAG_16
Lloh0:
	adrp	x8, _FLAG_N@GOTPAGE
Lloh1:
	ldr	x8, [x8, _FLAG_N@GOTPAGEOFF]
Lloh2:
	str	w0, [x8]
Lloh3:
	adrp	x8, _FLAG_Z@GOTPAGE
Lloh4:
	ldr	x8, [x8, _FLAG_Z@GOTPAGEOFF]
Lloh5:
	adrp	x9, _VFLAG_CLEAR@GOTPAGE
Lloh6:
	ldr	x9, [x9, _VFLAG_CLEAR@GOTPAGEOFF]
Lloh7:
	str	w21, [x8]
Lloh8:
	ldr	w8, [x9]
Lloh9:
	adrp	x9, _FLAG_V@GOTPAGE
Lloh10:
	ldr	x9, [x9, _FLAG_V@GOTPAGEOFF]
Lloh11:
	str	w8, [x9]
	lsl	w8, w20, #8
Lloh12:
	adrp	x9, _FLAG_X@GOTPAGE
Lloh13:
	ldr	x9, [x9, _FLAG_X@GOTPAGEOFF]
Lloh14:
	str	w8, [x9]
Lloh15:
	adrp	x9, _FLAG_C@GOTPAGE
Lloh16:
	ldr	x9, [x9, _FLAG_C@GOTPAGEOFF]
Lloh17:
	str	w8, [x9]
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotStr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotStr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotStr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh8
	.loh AdrpLdrGotStr	Lloh3, Lloh4, Lloh7
	.loh AdrpLdrGotStr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_FLAG_N,4,2                     ; @FLAG_N
	.comm	_FLAG_Z,4,2                     ; @FLAG_Z
	.comm	_VFLAG_CLEAR,4,2                ; @VFLAG_CLEAR
	.comm	_FLAG_V,4,2                     ; @FLAG_V
	.comm	_FLAG_X,4,2                     ; @FLAG_X
	.comm	_FLAG_C,4,2                     ; @FLAG_C
.subsections_via_symbols
