⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libcvcdsp.a

📁 bluelab 3.52 里面的立体声程序源代码
💻 A
📖 第 1 页 / 共 2 页
字号:
821
	MODULE	security
	.LARGE ; really small mode but we need space for debug symbols
; GNU C version 3.3.3 (BlueLab 3.5-preview-5)
; 	compiled by GNU C version 3.2.3 (mingw special 20030504-1).
;# options passed:  -IC:\BlueLab35p5\tools/include -iprefix -isystem -MD
;# -MQ -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3 -MD
;# -auxbase-strip
;# options enabled:  -fdefer-pop -fthread-jumps -fpeephole -ffunction-cse
;# -fkeep-static-consts -fpcc-struct-return -fgcse-lm -fgcse-sm
;# -floop-optimize -fcrossjumping -fif-conversion -fif-conversion2
;# -fsched-interblock -fsched-spec -fbranch-count-reg -fcprop-registers
;# -fcommon -fgnu-linker -fargument-alias -fmerge-constants
;# -fzero-initialized-in-bss -fleading-underscore -fident
;# -fguess-branch-probability -fmath-errno -ftrapping-math -mpeephole
;# -mquiet-mode -minline-block-copy-mode -menhanced-mode -mload-cache-mode
;# -mbitfield-mode -mleaf-optim -mtest4

	.ENHANCED
	.SEG	INIT
_bClarFirstTry:
	DS	1
	.SEG	INITC
	dc	H'0001
	.SEG	VAR
_lpCvcPsBuf:
	DS	1
_lpCvcPsBufeq:
	DS	1
	.SEG	INIT
$_lastkeyused:
	DS	1
	.SEG	INITC
	dc	H'029A
	.SEG	INIT
$_lasteqkeyused:
	DS	1
	.SEG	INITC
	dc	H'029B
;# begin scan referenced symbols
;# import _lpCvcPsBuf
;# import $_malloc
;# import $_PsRetrieve
;# import $_lastkeyused
;#(clobber:QI (reg:QI 1 AL))
;# import $_KalimbaSendMessage
;# import _lpCvcPsBufeq
;# import $_lasteqkeyused
;#(clobber:QI (reg:QI 1 AL))
;# end scan referenced symbols
	.CODE
$_CvcConfigureDsp:
	enter	#26
?LBB_CvcConfigureDsp:
	ld	X,#H'0000
	st	X,@(H'000E,Y)
	st	X,@(H'000D,Y)
	st	AH,@(H'0003,Y)
	st	X,@(H'000C,Y)
	cmp	AL,#H'0000
	beq	?L3
	ld	AH,@(H'001A,Y)
	cmp	AH,#H'004B
	bcc	?L144
	ld	AH,#H'0003
	bra	(?L1)
?L3:
	tst	@_lpCvcPsBuf
	beq	?L6
	ld	AL,@_lpCvcPsBuf
	bra	(?L144)
?L6:
	ld	AH,#H'004B
	bsr	$_malloc
	st	AH,@_lpCvcPsBuf
	cmp	AH,#H'0000
	beq	?L145
	ld	X,#H'004B
	st	X,@(0,Y)
	ld	AH,@(H'0003,Y)
	ld	AL,@_lpCvcPsBuf
	bsr	$_PsRetrieve
	cmp	AH,#H'0000
	beq	?L10
	ld	AH,@_lpCvcPsBuf
	st	AH,@(H'0004,Y)
	bra	(?L11)
?L144:
	st	AL,@(H'0004,Y)
	ld	AL,@(H'0003,Y)
	cmp	AL,@$_lastkeyused
	beq	?L11
	ld	X,#H'004B
	st	X,@(0,Y)
	ld	AH,@$XAP_AL
	ld	AL,@_lpCvcPsBuf
	bsr	$_PsRetrieve
	cmp	AH,#H'0000
	beq	?L10
	ld	AH,@_lpCvcPsBuf
	st	AH,@(H'0004,Y)
	ld	AL,@(H'0003,Y)
	st	AL,@$_lastkeyused
?L11:
	ld	X,#H'0000
	st	X,@(H'000A,Y)
?L91:
	ld	X,@(H'0004,Y)
	ld	AH,@(0,X)
	lsr	#H'0008
	and	AH,#H'00FF
	st	AH,@(H'0006,Y)
	ld	AL,@(0,X)
	and	AL,#H'00FF
	st	AL,@(H'0008,Y)
	add	X,#H'0001
	st	X,@(H'0004,Y)
	ld	X,@(0,X)
	st	X,@(H'0007,Y)
	ld	AH,@(H'0004,Y)
	add	AH,#H'0001
	st	AH,@(H'0004,Y)
	ld	X,@$XAP_AH
	ld	X,@(0,X)
	st	X,@(H'0009,Y)
	add	AH,#H'0001
	st	AH,@(H'0004,Y)
	ld	AH,@(H'000A,Y)
	cmp	AH,#H'002D
	bne	?L18
	ld	AH,@$XAP_AL
	ld	AL,#H'0000
	st	AH,@(H'0017,Y)
	st	AL,@(H'0018,Y)
	ld	AL,@$XAP_UXL
	ld	AH,#H'0000
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AH,@(H'0017,Y)
	ld	AL,@(H'0018,Y)
	or	AL,@H'fffb
	or	AH,@H'fffa
	st	AH,@(H'000D,Y)
	st	AL,@(H'000E,Y)
	ld	AL,@(H'000C,Y)
	ld	X,@$XAP_AL
	add	X,#H'0001
	st	X,@(H'000C,Y)
	ld	AH,@(H'0006,Y)
	st	AH,@(0,Y)
	ld	X,@(H'0007,Y)
	bra	(?L150)
?L18:
	ld	AL,@(H'000A,Y)
	cmp	AL,#H'0030
	bne	?L21
	ld	AL,@(H'0006,Y)
	ld	AH,@$XAP_AL
	ld	AL,#H'0000
	st	AH,@(H'000F,Y)
	st	AL,@(H'0010,Y)
	ld	AH,#H'0000
	ld	AL,@(H'0007,Y)
	or	AL,@(H'0010,Y)
	or	AH,@(H'000F,Y)
	st	AH,@(H'000F,Y)
	st	AL,@(H'0010,Y)
	ld	X,#H'0000
	st	X,@(H'000B,Y)
?L27:
	ld	AL,@(H'000B,Y)
	ld	AH,#H'0000
	st	AH,@(-1,Y)
	st	AL,@(-2,Y)
	ld	AL,@(-2,Y)
	smult	@(H'000F,Y)
	ld	X,@$XAP_AL
	ld	AL,@(-1,Y)
	smult	@(H'0010,Y)
	add	AL,@$XAP_UXL
	ld	X,@$XAP_AL
	ld	AL,@(-2,Y)
	umult	@(H'0010,Y)
	add	AH,@$XAP_UXL
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AH,@(H'000D,Y)
	ld	AL,@(H'000E,Y)
	sub	AL,@H'fffb
	subc	AH,@H'fffa
	st	AH,@H'fffa
	st	AL,@H'fffb
	asr	#H'0013
	ld	X,@$XAP_AL
	ld	AH,@H'fffa
	ld	AL,@H'fffb
	asr	#H'0004
	ld	AH,@$XAP_AL
	xor	AH,#-H'0001
	and	AH,#H'7FFF
	st	AH,@(H'0011,Y)
	ld	AL,#H'0003
	st	AH,@H'ffff
	smult	@H'ffff
	asl	#H'0001
	asr	#H'000F
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,@(H'0011,Y)
	asl	#H'0010
	asr	#H'0010
	st	AH,@(H'0012,Y)
	st	AL,@(H'0013,Y)
	ld	AL,@H'fffb
	smult	@(H'0012,Y)
	st	AL,@H'fff9
	ld	AL,@H'fffa
	smult	@(H'0013,Y)
	add	AL,@H'fff9
	st	AL,@H'fff9
	ld	AL,@H'fffb
	umult	@(H'0013,Y)
	add	AH,@H'fff9
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,#H'0016
	smult	@(H'0011,Y)
	asl	#H'0001
	add	AL,@H'fffb
	addc	AH,@H'fffa
	asr	#H'000F
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,@H'fffb
	smult	@(H'0012,Y)
	st	AL,@H'fff8
	ld	AL,@H'fffa
	smult	@(H'0013,Y)
	add	AL,@H'fff8
	st	AL,@H'fff8
	ld	AL,@H'fffb
	umult	@(H'0013,Y)
	add	AH,@H'fff8
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,#H'009E
	smult	@(H'0011,Y)
	asl	#H'0001
	add	AL,@H'fffb
	addc	AH,@H'fffa
	asr	#H'000F
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,@H'fffb
	smult	@(H'0012,Y)
	st	AL,@(H'0014,Y)
	ld	AL,@H'fffa
	smult	@(H'0013,Y)
	add	AL,@(H'0014,Y)
	st	AL,@(H'0014,Y)
	ld	AL,@H'fffb
	umult	@(H'0013,Y)
	add	AH,@(H'0014,Y)
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,#H'038D
	smult	@(H'0011,Y)
	asl	#H'0001
	add	AL,@H'fffb
	addc	AH,@H'fffa
	asr	#H'000F
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,@H'fffb
	smult	@(H'0012,Y)
	st	AL,@(H'0015,Y)
	ld	AL,@H'fffa
	smult	@(H'0013,Y)
	add	AL,@(H'0015,Y)
	st	AL,@(H'0015,Y)
	ld	AL,@H'fffb
	umult	@(H'0013,Y)
	add	AH,@(H'0015,Y)
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,#H'0F60
	smult	@(H'0011,Y)
	asl	#H'0001
	add	AL,@H'fffb
	addc	AH,@H'fffa
	asr	#H'000F
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,@H'fffb
	smult	@(H'0012,Y)
	st	AL,@(H'0016,Y)
	ld	AL,@H'fffa
	smult	@(H'0013,Y)
	add	AL,@(H'0016,Y)
	st	AL,@(H'0016,Y)
	ld	AL,@H'fffb
	umult	@(H'0013,Y)
	add	AH,@(H'0016,Y)
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AL,#H'2C5D
	smult	@(H'0011,Y)
	asl	#H'0001
	add	AL,@H'fffb
	addc	AH,@H'fffa
	st	AH,@H'fffa
	st	AL,@H'fffb
	ld	AH,#H'4000
	asr	#H'0010
	asl	#H'0010
	add	AL,@H'fffb
	addc	AH,@H'fffa
	asr	@$XAP_UXL
	st	AH,@H'fffa
	st	AL,@H'fffb
	asr	#H'0018
	ld	AH,@$XAP_AL
	and	AH,#H'00FF
	st	AH,@(H'0006,Y)
	ld	AH,@H'fffa
	ld	AL,@H'fffb
	asr	#H'0008
	st	AH,@H'fff8
	st	AL,@H'fff9
	ld	X,@(H'000C,Y)
	ld	AL,@$XAP_UXL
	add	AL,#H'0001
	st	AL,@(H'000C,Y)
	ld	AH,@(H'0006,Y)
	st	AH,@(0,Y)
	st	AL,@H'ffff
	ld	AL,@H'fff9
	st	AL,@(H'0001,Y)
	ld	AL,@H'ffff
	ld	AL,#H'0000
	st	AL,@(H'0002,Y)
	ld	AH,#H'1004
	ld	AL,@$XAP_UXL
	bsr	$_KalimbaSendMessage
	cmp	AH,#H'0000
	beq	?L143
	ld	X,@(H'000B,Y)
	add	X,#H'0001
	st	X,@(H'000B,Y)
	cmp	X,#H'000F
	bcz	?L27
	ld	AL,@(H'000C,Y)
	ld	AH,@$XAP_AL
	add	AH,#H'0001
	st	AH,@(H'000C,Y)
	ld	X,@(H'0008,Y)
	st	X,@(0,Y)
	ld	AH,@(H'0009,Y)
	st	AH,@(H'0001,Y)
	ld	X,#H'0000
	st	X,@(H'0002,Y)
	bra	(?L148)
?L21:
	ld	AH,@(H'000A,Y)
	cmp	AH,#H'0039
	bne	?L30
	ld	AL,@(H'000C,Y)
	ld	X,@$XAP_AL
	add	X,#H'0001
	st	X,@(H'000C,Y)
	ld	AH,#H'0000
	st	AH,@(0,Y)
	st	AH,@(H'0001,Y)
	st	AH,@(H'0002,Y)
	ld	AH,#H'1004
	bsr	$_KalimbaSendMessage
	cmp	AH,#H'0000
	beq	?L143
	ld	AL,#H'0000
	st	AL,@(H'000B,Y)
?L37:
	ld	AL,@(H'000C,Y)
	ld	X,@$XAP_AL
	add	X,#H'0001
	st	X,@(H'000C,Y)
	ld	AH,@(H'0006,Y)
	st	AH,@(0,Y)
	ld	X,@(H'0007,Y)
	st	X,@(H'0001,Y)
	ld	AH,#H'0000
	st	AH,@(H'0002,Y)
	ld	AH,#H'1004
	bsr	$_KalimbaSendMessage
	cmp	AH,#H'0000
	beq	?L143
	ld	AL,@(H'000B,Y)
	add	AL,#H'0001
	st	AL,@(H'000B,Y)
	cmp	AL,#H'0008
	bcz	?L37
	ld	X,#H'0000
	st	X,@(H'000B,Y)
?L43:
	ld	AL,@(H'000C,Y)
	ld	AH,@$XAP_AL
	add	AH,#H'0001
	st	AH,@(H'000C,Y)
	ld	X,@(H'0008,Y)
	st	X,@(0,Y)
	ld	AH,@(H'0009,Y)
	st	AH,@(H'0001,Y)
	ld	X,#H'0000

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -