📄 fp_vol.lis
字号:
.module fp_vol.c
.area data(ram, con, rel)
0000 _fp_vol_0_cnt:
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile D:\avrmcu\AT980\fpvol\fp_vol.c
0001 .dbsym s fp_vol_0_cnt _fp_vol_0_cnt c
0001 _fp_vol_1_cnt:
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile D:\avrmcu\AT980\fpvol\fp_vol.c
0002 .dbsym s fp_vol_1_cnt _fp_vol_1_cnt c
.area vector(rom, abs)
.org 4
0004 0C940000 jmp _int0_isr
.area data(ram, con, rel)
0002 .dbfile D:\avrmcu\AT980\fpvol\fp_vol.c
.area text(rom, con, rel)
0000 .dbfile D:\avrmcu\AT980\fpvol\fp_vol.c
0000 .dbfunc s int0_isr _int0_isr fI
.even
0000 _int0_isr::
0000 8A93 st -y,R24
0002 9A93 st -y,R25
0004 8FB7 in R24,0x3f
0006 8A93 st -y,R24
0008 .dbline -1
0008 .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
; {
0008 .dbline 12
; if(get_vol_input())
0008 9C9B sbis 0x13,4
000A 06C0 rjmp L2
000C .dbline 13
; {
000C .dbline 14
; fp_vol_0_cnt++;
000C 80910000 lds R24,_fp_vol_0_cnt
0010 8F5F subi R24,255 ; addi 1
0012 80930000 sts _fp_vol_0_cnt,R24
0016 .dbline 15
; }
0016 05C0 xjmp L3
0018 L2:
0018 .dbline 17
0018 .dbline 18
0018 80910100 lds R24,_fp_vol_1_cnt
001C 8F5F subi R24,255 ; addi 1
001E 80930100 sts _fp_vol_1_cnt,R24
0022 .dbline 19
0022 L3:
0022 .dbline -2
0022 .dbline 20
; else
; {
; fp_vol_1_cnt++;
; }
; }
0022 L1:
0022 8991 ld R24,y+
0024 8FBF out 0x3f,R24
0026 9991 ld R25,y+
0028 8991 ld R24,y+
002A .dbline 0 ; func end
002A 1895 reti
002C .dbfunc s clear_vol_cnt _clear_vol_cnt fI
.even
002C _clear_vol_cnt::
002C .dbline -1
002C .dbline 22
; void clear_vol_cnt(void)
; {
002C .dbline 23
; fp_vol_0_cnt = 0;
002C 2224 clr R2
002E 20920000 sts _fp_vol_0_cnt,R2
0032 .dbline 24
; fp_vol_1_cnt = 0;
0032 20920100 sts _fp_vol_1_cnt,R2
0036 .dbline -2
0036 .dbline 25
; }
0036 L4:
0036 .dbline 0 ; func end
0036 0895 ret
0038 .dbfunc s fp_vol_scan _fp_vol_scan fI
.even
0038 _fp_vol_scan::
0038 .dbline -1
0038 .dbline 28
;
; void fp_vol_scan(void)
; {
0038 .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)
0038 20900100 lds R2,_fp_vol_1_cnt
003C 30900000 lds R3,_fp_vol_0_cnt
0040 2314 cp R2,R3
0042 78F4 brsh L6
0044 .dbline 50
; {
0044 .dbline 51
; if((fp_vol_0_cnt-fp_vol_1_cnt)>1)
0044 3218 sub R3,R2
0046 81E0 ldi R24,1
0048 8315 cp R24,R3
004A E8F4 brsh L7
004C .dbline 52
; {
004C .dbline 53
; uicc_code = UICC_VOLUME_DOWN;
004C 8EE9 ldi R24,158
004E 80930000 sts _uicc_code,R24
0052 .dbline 54
; ui_input_handler();
0052 0E940000 xcall _ui_input_handler
0056 .dbline 56
; //dvd_key = IRKC_VOLUME_DOWN;
; fp_vol_0_cnt = 0;
0056 2224 clr R2
0058 20920000 sts _fp_vol_0_cnt,R2
005C .dbline 57
; fp_vol_1_cnt = 0;
005C 20920100 sts _fp_vol_1_cnt,R2
0060 .dbline 58
; };
0060 .dbline 58
0060 .dbline 59
; }
0060 12C0 xjmp L7
0062 L6:
0062 .dbline 60
; else if((fp_vol_1_cnt-fp_vol_0_cnt)>2)
0062 20900000 lds R2,_fp_vol_0_cnt
0066 30900100 lds R3,_fp_vol_1_cnt
006A 3218 sub R3,R2
006C 82E0 ldi R24,2
006E 8315 cp R24,R3
0070 50F4 brsh L10
0072 .dbline 61
; {
0072 .dbline 62
; uicc_code = UICC_VOLUME_UP;
0072 8DE9 ldi R24,157
0074 80930000 sts _uicc_code,R24
0078 .dbline 63
; ui_input_handler();
0078 0E940000 xcall _ui_input_handler
007C .dbline 65
; //dvd_key = IRKC_VOLUME_UP;
; fp_vol_0_cnt = 0;
007C 2224 clr R2
007E 20920000 sts _fp_vol_0_cnt,R2
0082 .dbline 66
; fp_vol_1_cnt = 0;
0082 20920100 sts _fp_vol_1_cnt,R2
0086 .dbline 67
; }
0086 L10:
0086 L7:
0086 .dbline -2
0086 .dbline 68
; }
0086 L5:
0086 .dbline 0 ; func end
0086 0895 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -