📄 ds12c887.lis
字号:
003E 00920CA0 sts 40972,R0
0042 .dbline 41
0042 ; REG_C=regD;
0042 0A80 ldd R0,y+2
0044 00920CA0 sts 40972,R0
0048 .dbline -2
0048 L6:
0048 .dbline 0 ; func end
0048 0895 ret
004A .dbsym l regD 2 c
004A .dbsym l regC 0 c
004A .dbsym r regB 18 c
004A .dbsym r regA 16 c
004A .dbend
004A .dbfunc e Read_RegSec _Read_RegSec fI
.even
004A _Read_RegSec::
004A .dbline -1
004A .dbline 47
004A ; }
004A ;
004A ; //******************************读DS12887时间寄存器函数*****************************/
004A ;
004A ; Read_RegSec(void)
004A ; {
004A .dbline 48
004A ; return SECOND;
004A 009100A0 lds R16,40960
004E 1127 clr R17
0050 .dbline -2
0050 L7:
0050 .dbline 0 ; func end
0050 0895 ret
0052 .dbend
0052 .dbfunc e Read_RegMin _Read_RegMin fI
.even
0052 _Read_RegMin::
0052 .dbline -1
0052 .dbline 52
0052 ; }
0052 ;
0052 ; Read_RegMin(void)
0052 ; {
0052 .dbline 53
0052 ; return MINUTE;
0052 009102A0 lds R16,40962
0056 1127 clr R17
0058 .dbline -2
0058 L8:
0058 .dbline 0 ; func end
0058 0895 ret
005A .dbend
005A .dbfunc e Read_RegHour _Read_RegHour fI
.even
005A _Read_RegHour::
005A .dbline -1
005A .dbline 57
005A ; }
005A ;
005A ; Read_RegHour(void)
005A ; {
005A .dbline 58
005A ; return HOUR;
005A 009104A0 lds R16,40964
005E 1127 clr R17
0060 .dbline -2
0060 L9:
0060 .dbline 0 ; func end
0060 0895 ret
0062 .dbend
0062 .dbfunc e Read_RegWeekday _Read_RegWeekday fI
.even
0062 _Read_RegWeekday::
0062 .dbline -1
0062 .dbline 62
0062 ; }
0062 ;
0062 ; Read_RegWeekday(void)
0062 ; {
0062 .dbline 63
0062 ; return WEEKDAY;
0062 009106A0 lds R16,40966
0066 1127 clr R17
0068 .dbline -2
0068 L10:
0068 .dbline 0 ; func end
0068 0895 ret
006A .dbend
006A .dbfunc e Read_RegMonthday _Read_RegMonthday fI
.even
006A _Read_RegMonthday::
006A .dbline -1
006A .dbline 67
006A ; }
006A ;
006A ; Read_RegMonthday(void)
006A ; {
006A .dbline 68
006A ; return MONTHDAY;
006A 009107A0 lds R16,40967
006E 1127 clr R17
0070 .dbline -2
0070 L11:
0070 .dbline 0 ; func end
0070 0895 ret
0072 .dbend
0072 .dbfunc e Read_RegMonth _Read_RegMonth fI
.even
0072 _Read_RegMonth::
0072 .dbline -1
0072 .dbline 72
0072 ; }
0072 ;
0072 ; Read_RegMonth(void)
0072 ; {
0072 .dbline 73
0072 ; return MONTH;
0072 009108A0 lds R16,40968
0076 1127 clr R17
0078 .dbline -2
0078 L12:
0078 .dbline 0 ; func end
0078 0895 ret
007A .dbend
007A .dbfunc e Read_RegYear _Read_RegYear fI
.even
007A _Read_RegYear::
007A .dbline -1
007A .dbline 77
007A ; }
007A ;
007A ; Read_RegYear(void)
007A ; {
007A .dbline 78
007A ; return YEAR;
007A 009109A0 lds R16,40969
007E 1127 clr R17
0080 .dbline -2
0080 L13:
0080 .dbline 0 ; func end
0080 0895 ret
0082 .dbend
0082 .dbfunc e juddisplay _juddisplay fV
0082 ; x -> R22
0082 ; y -> R20
0082 ; number -> R10
.even
0082 _juddisplay::
0082 0E940000 xcall push_gset3
0086 422F mov R20,R18
0088 A02E mov R10,R16
008A 2397 sbiw R28,3
008C 6985 ldd R22,y+9
008E .dbline -1
008E .dbline 84
008E ; }
008E ;
008E ; /*********************************显示处理函数************************************/
008E ;
008E ; void juddisplay(uchar number,uchar y,uchar x) //(要显示的字符,X位置,Y位置)
008E ; {
008E .dbline 85
008E ; switch(number) //判断数字是几,并显示在指定位置上
008E BB24 clr R11
0090 AA20 tst R10
0092 19F4 brne X0
0094 BB20 tst R11
0096 09F4 brne X2
0098 2FC0 xjmp L18
009A X2:
009A X0:
009A C501 movw R24,R10
009C 8130 cpi R24,1
009E E0E0 ldi R30,0
00A0 9E07 cpc R25,R30
00A2 09F4 brne X3
00A4 32C0 xjmp L19
00A6 X3:
00A6 8230 cpi R24,2
00A8 E0E0 ldi R30,0
00AA 9E07 cpc R25,R30
00AC 09F4 brne X4
00AE 36C0 xjmp L20
00B0 X4:
00B0 8330 cpi R24,3
00B2 E0E0 ldi R30,0
00B4 9E07 cpc R25,R30
00B6 09F4 brne X5
00B8 3AC0 xjmp L21
00BA X5:
00BA 8430 cpi R24,4
00BC E0E0 ldi R30,0
00BE 9E07 cpc R25,R30
00C0 09F4 brne X6
00C2 3EC0 xjmp L22
00C4 X6:
00C4 8530 cpi R24,5
00C6 E0E0 ldi R30,0
00C8 9E07 cpc R25,R30
00CA 09F4 brne X7
00CC 42C0 xjmp L23
00CE X7:
00CE 8630 cpi R24,6
00D0 E0E0 ldi R30,0
00D2 9E07 cpc R25,R30
00D4 09F4 brne X8
00D6 46C0 xjmp L24
00D8 X8:
00D8 8730 cpi R24,7
00DA E0E0 ldi R30,0
00DC 9E07 cpc R25,R30
00DE 09F4 brne X9
00E0 4AC0 xjmp L25
00E2 X9:
00E2 8830 cpi R24,8
00E4 E0E0 ldi R30,0
00E6 9E07 cpc R25,R30
00E8 09F4 brne X10
00EA 4EC0 xjmp L26
00EC X10:
00EC 8930 cpi R24,9
00EE E0E0 ldi R30,0
00F0 9E07 cpc R25,R30
00F2 09F4 brne X11
00F4 52C0 xjmp L27
00F6 X11:
00F6 59C0 xjmp L15
00F8 X1:
00F8 .dbline 86
00F8 ; {
00F8 L18:
00F8 .dbline 87
00F8 ; case 0x00:display_char(n01,n02,y,x);break;
00F8 6A83 std y+2,R22
00FA 4883 std y+0,R20
00FC 20E0 ldi R18,<_n02
00FE 30E0 ldi R19,>_n02
0100 00E0 ldi R16,<_n01
0102 10E0 ldi R17,>_n01
0104 0E940000 xcall _display_char
0108 .dbline 87
0108 50C0 xjmp L16
010A L19:
010A .dbline 88
010A ; case 0x01:display_char(n11,n12,y,x);break;
010A 6A83 std y+2,R22
010C 4883 std y+0,R20
010E 20E0 ldi R18,<_n12
0110 30E0 ldi R19,>_n12
0112 00E0 ldi R16,<_n11
0114 10E0 ldi R17,>_n11
0116 0E940000 xcall _display_char
011A .dbline 88
011A 47C0 xjmp L16
011C L20:
011C .dbline 89
011C ; case 0x02:display_char(n21,n22,y,x);break;
011C 6A83 std y+2,R22
011E 4883 std y+0,R20
0120 20E0 ldi R18,<_n22
0122 30E0 ldi R19,>_n22
0124 00E0 ldi R16,<_n21
0126 10E0 ldi R17,>_n21
0128 0E940000 xcall _display_char
012C .dbline 89
012C 3EC0 xjmp L16
012E L21:
012E .dbline 90
012E ; case 0x03:display_char(n31,n32,y,x);break;
012E 6A83 std y+2,R22
0130 4883 std y+0,R20
0132 20E0 ldi R18,<_n32
0134 30E0 ldi R19,>_n32
0136 00E0 ldi R16,<_n31
0138 10E0 ldi R17,>_n31
013A 0E940000 xcall _display_char
013E .dbline 90
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -