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

📄 fp_vol.s

📁 sunplus spca514 cdmp3 源码
💻 S
字号:
	.module fp_vol.c
	.area data(ram, con, rel)
_fp_vol_0_cnt:
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\fpvol\fp_vol.c
	.dbsym s fp_vol_0_cnt _fp_vol_0_cnt c
_fp_vol_1_cnt:
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\fpvol\fp_vol.c
	.dbsym s fp_vol_1_cnt _fp_vol_1_cnt c
	.area vector(rom, abs)
	.org 4
	jmp _int0_isr
	.area data(ram, con, rel)
	.dbfile D:\avrmcu\AT980\fpvol\fp_vol.c
	.area text(rom, con, rel)
	.dbfile D:\avrmcu\AT980\fpvol\fp_vol.c
	.dbfunc s int0_isr _int0_isr fI
	.even
_int0_isr::
	st -y,R24
	st -y,R25
	in R24,0x3f
	st -y,R24
	.dbline -1
	.dbline 11
; #include <iom163.h>
; #include "..\uicc_def.h"
; #include "..\key.h"
; #include "..\io.h"
; extern unsigned int dvd_key;
; static unsigned char fp_vol_0_cnt = 0;
; static unsigned char fp_vol_1_cnt = 0;
; extern unsigned char uicc_code;
; #pragma interrupt_handler int0_isr:2
; void int0_isr(void) // fp_vol_key_input
; {
	.dbline 12
;    	if(get_vol_input())
	sbis 0x13,4
	rjmp L2
	.dbline 13
; 		{
	.dbline 14
; 			fp_vol_0_cnt++;
	lds R24,_fp_vol_0_cnt
	subi R24,255	; addi 1
	sts _fp_vol_0_cnt,R24
	.dbline 15
; 		}
	xjmp L3
L2:
	.dbline 17
	.dbline 18
	lds R24,_fp_vol_1_cnt
	subi R24,255	; addi 1
	sts _fp_vol_1_cnt,R24
	.dbline 19
L3:
	.dbline -2
	.dbline 20
; 		else
; 		{
; 			 fp_vol_1_cnt++;
; 		}
; }
L1:
	ld R24,y+
	out 0x3f,R24
	ld R25,y+
	ld R24,y+
	.dbline 0 ; func end
	reti
	.dbfunc s clear_vol_cnt _clear_vol_cnt fI
	.even
_clear_vol_cnt::
	.dbline -1
	.dbline 22
; void clear_vol_cnt(void)
; {
	.dbline 23
;  fp_vol_0_cnt = 0;
	clr R2
	sts _fp_vol_0_cnt,R2
	.dbline 24
;  fp_vol_1_cnt = 0;
	sts _fp_vol_1_cnt,R2
	.dbline -2
	.dbline 25
; }
L4:
	.dbline 0 ; func end
	ret
	.dbfunc s fp_vol_scan _fp_vol_scan fI
	.even
_fp_vol_scan::
	.dbline -1
	.dbline 28
; 
; void fp_vol_scan(void)
; {
	.dbline 49
; 	/*if(g_ui_key_cnt)
; 		g_ui_key_cnt--;
; 	if (fp_next_cnt >fp_prev_cnt)
; 	{
; 		if((fp_next_cnt-fp_prev_cnt)>2)
; 		{
; 			ui_input_handler(UICC_SKIPF);
; 			fp_next_cnt = 0;
; 			fp_prev_cnt = 0;
; 			g_ui_key_cnt = 5;
; 		};
; 	}
; 	else if((fp_prev_cnt-fp_next_cnt)>1)
; 	{
; 		ui_input_handler(UICC_SKIPB);
; 		fp_next_cnt = 0;
; 		fp_prev_cnt = 0;
; 		g_ui_key_cnt = 5;
; 	};
; 	*/
; 	if (fp_vol_0_cnt >fp_vol_1_cnt)
	lds R2,_fp_vol_1_cnt
	lds R3,_fp_vol_0_cnt
	cp R2,R3
	brsh L6
	.dbline 50
; 	{
	.dbline 51
; 		if((fp_vol_0_cnt-fp_vol_1_cnt)>1)
	sub R3,R2
	ldi R24,1
	cp R24,R3
	brsh L7
	.dbline 52
; 		{
	.dbline 53
; 			uicc_code = UICC_VOLUME_DOWN;
	ldi R24,158
	sts _uicc_code,R24
	.dbline 54
; 			ui_input_handler();
	xcall _ui_input_handler
	.dbline 56
; 			//dvd_key = IRKC_VOLUME_DOWN;
; 			fp_vol_0_cnt = 0;
	clr R2
	sts _fp_vol_0_cnt,R2
	.dbline 57
; 			fp_vol_1_cnt = 0;
	sts _fp_vol_1_cnt,R2
	.dbline 58
; 		};
	.dbline 58
	.dbline 59
; 	}
	xjmp L7
L6:
	.dbline 60
; 	else if((fp_vol_1_cnt-fp_vol_0_cnt)>2)
	lds R2,_fp_vol_0_cnt
	lds R3,_fp_vol_1_cnt
	sub R3,R2
	ldi R24,2
	cp R24,R3
	brsh L10
	.dbline 61
; 	{
	.dbline 62
; 		uicc_code = UICC_VOLUME_UP;
	ldi R24,157
	sts _uicc_code,R24
	.dbline 63
; 		ui_input_handler();
	xcall _ui_input_handler
	.dbline 65
; 		//dvd_key = IRKC_VOLUME_UP;
; 		fp_vol_0_cnt = 0;
	clr R2
	sts _fp_vol_0_cnt,R2
	.dbline 66
; 		fp_vol_1_cnt = 0;
	sts _fp_vol_1_cnt,R2
	.dbline 67
; 	}
L10:
L7:
	.dbline -2
	.dbline 68
; }
L5:
	.dbline 0 ; func end
	ret

⌨️ 快捷键说明

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