📄 万年历.lis
字号:
.module _万年历.c
.area data(ram, con, rel)
0000 _week1::
0000 .blkb 2
.area idata
0000 3216 .byte 50,22
.area data(ram, con, rel)
0002 .blkb 2
.area idata
0002 282B .byte 40,43
.area data(ram, con, rel)
0004 .blkb 2
.area idata
0004 2E21 .byte 46,33
.area data(ram, con, rel)
0006 .blkb 1
.area idata
0006 28 .byte 40
.area data(ram, con, rel)
0007 .dbfile F:\调试\万年历.c
0007 .dbsym e week1 _week1 A[7:7]c
0007 _week2::
0007 .blkb 2
.area idata
0007 1B5E .byte 27,94
.area data(ram, con, rel)
0009 .dbfile F:\调试\万年历.c
0009 .blkb 2
.area idata
0009 5D24 .byte 93,36
.area data(ram, con, rel)
000B .dbfile F:\调试\万年历.c
000B .blkb 2
.area idata
000B 4559 .byte 'E,'Y
.area data(ram, con, rel)
000D .dbfile F:\调试\万年历.c
000D .blkb 1
.area idata
000D 35 .byte 53
.area data(ram, con, rel)
000E .dbfile F:\调试\万年历.c
000E .dbsym e week2 _week2 A[7:7]c
000E _second::
000E .blkb 1
.area idata
000E 00 .byte 0
.area data(ram, con, rel)
000F .dbfile F:\调试\万年历.c
000F .dbsym e second _second c
000F _minute::
000F .blkb 1
.area idata
000F 00 .byte 0
.area data(ram, con, rel)
0010 .dbfile F:\调试\万年历.c
0010 .dbsym e minute _minute c
0010 _hour::
0010 .blkb 1
.area idata
0010 0C .byte 12
.area data(ram, con, rel)
0011 .dbfile F:\调试\万年历.c
0011 .dbsym e hour _hour c
0011 _week::
0011 .blkb 1
.area idata
0011 04 .byte 4
.area data(ram, con, rel)
0012 .dbfile F:\调试\万年历.c
0012 .dbsym e week _week c
0012 _day::
0012 .blkb 1
.area idata
0012 01 .byte 1
.area data(ram, con, rel)
0013 .dbfile F:\调试\万年历.c
0013 .dbsym e day _day c
0013 _month::
0013 .blkb 1
.area idata
0013 01 .byte 1
.area data(ram, con, rel)
0014 .dbfile F:\调试\万年历.c
0014 .dbsym e month _month c
0014 _temp::
0014 .blkb 1
.area idata
0014 0F .byte 15
.area data(ram, con, rel)
0015 .dbfile F:\调试\万年历.c
0015 .dbsym e temp _temp c
0015 _year::
0015 .blkb 2
.area idata
0015 D607 .word 2006
.area data(ram, con, rel)
0017 .dbfile F:\调试\万年历.c
0017 .dbsym e year _year i
.area text(rom, con, rel)
0000 .dbfile F:\调试\万年历.c
0000 .dbfunc e time_display _time_display fV
.even
0000 _time_display::
0000 2497 sbiw R28,4
0002 .dbline -1
0002 .dbline 19
0002 ; #include<iom128v.h>
0002 ; //PD0,PD1,PD2
0002 ; extern void delay_ms(unsigned int time);
0002 ; extern void ocmj_write(unsigned char data);
0002 ; extern void hz_tran(unsigned char x,unsigned char y,unsigned char *hz_p);
0002 ; extern void write_ASCII(unsigned type,unsigned xx,unsigned yy,unsigned data);
0002 ; extern unsigned char table1[];//={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46};
0002 ; unsigned char week1[]={50,22,40,43,46,33,40};
0002 ; unsigned char week2[]={27,94,93,36,69,89,53};
0002 ; unsigned char count;
0002 ; extern unsigned char data;
0002 ; unsigned char second=0,minute=0,hour=12,week=4,day=1,month=1,temp=15;
0002 ; unsigned char alrm_hour,alrm_minute;
0002 ; unsigned int year=2006;
0002 ; /**********************************************/
0002 ; /* LCD显示小时分钟秒*/
0002 ; /**********************************************/
0002 ; void time_display(void)
0002 ; {hz_tran(2,0,"年");
0002 .dbline 19
0002 80E0 ldi R24,<L2
0004 90E0 ldi R25,>L2
0006 9983 std y+1,R25
0008 8883 std y+0,R24
000A 2227 clr R18
000C 02E0 ldi R16,2
000E 0E940000 xcall _hz_tran
0012 .dbline 20
0012 ; hz_tran(4,0,"月");
0012 80E0 ldi R24,<L3
0014 90E0 ldi R25,>L3
0016 9983 std y+1,R25
0018 8883 std y+0,R24
001A 2227 clr R18
001C 04E0 ldi R16,4
001E 0E940000 xcall _hz_tran
0022 .dbline 21
0022 ; hz_tran(6,0,"日");
0022 80E0 ldi R24,<L4
0024 90E0 ldi R25,>L4
0026 9983 std y+1,R25
0028 8883 std y+0,R24
002A 2227 clr R18
002C 06E0 ldi R16,6
002E 0E940000 xcall _hz_tran
0032 .dbline 22
0032 ; hz_tran(0,1,"星期");
0032 80E0 ldi R24,<L5
0034 90E0 ldi R25,>L5
0036 9983 std y+1,R25
0038 8883 std y+0,R24
003A 21E0 ldi R18,1
003C 0027 clr R16
003E 0E940000 xcall _hz_tran
0042 .dbline 23
0042 ; hz_tran(4,1,"温度");
0042 80E0 ldi R24,<L6
0044 90E0 ldi R25,>L6
0046 9983 std y+1,R25
0048 8883 std y+0,R24
004A 21E0 ldi R18,1
004C 04E0 ldi R16,4
004E 0E940000 xcall _hz_tran
0052 .dbline 24
0052 ; hz_tran(6,3,"返回");
0052 80E0 ldi R24,<L7
0054 90E0 ldi R25,>L7
0056 9983 std y+1,R25
0058 8883 std y+0,R24
005A 23E0 ldi R18,3
005C 06E0 ldi R16,6
005E 0E940000 xcall _hz_tran
0062 .dbline 25
0062 ; write_ASCII(0xf9,13,48,69);//E
0062 85E4 ldi R24,69
0064 90E0 ldi R25,0
0066 9B83 std y+3,R25
0068 8A83 std y+2,R24
006A 80E3 ldi R24,48
006C 9983 std y+1,R25
006E 8883 std y+0,R24
0070 2DE0 ldi R18,13
0072 30E0 ldi R19,0
0074 09EF ldi R16,249
0076 10E0 ldi R17,0
0078 0E940000 xcall _write_ASCII
007C .dbline 26
007C ; write_ASCII(0xf9,14,48,115);//s
007C 83E7 ldi R24,115
007E 90E0 ldi R25,0
0080 9B83 std y+3,R25
0082 8A83 std y+2,R24
0084 80E3 ldi R24,48
0086 9983 std y+1,R25
0088 8883 std y+0,R24
008A 2EE0 ldi R18,14
008C 30E0 ldi R19,0
008E 09EF ldi R16,249
0090 10E0 ldi R17,0
0092 0E940000 xcall _write_ASCII
0096 .dbline 27
0096 ; write_ASCII(0xf9,15,48,99);//c
0096 83E6 ldi R24,99
0098 90E0 ldi R25,0
009A 9B83 std y+3,R25
009C 8A83 std y+2,R24
009E 80E3 ldi R24,48
00A0 9983 std y+1,R25
00A2 8883 std y+0,R24
00A4 2FE0 ldi R18,15
00A6 30E0 ldi R19,0
00A8 09EF ldi R16,249
00AA 10E0 ldi R17,0
00AC 0E940000 xcall _write_ASCII
00B0 .dbline 28
00B0 ; write_hazi(4,1,week1[week-1],week2[week-1]);//一,二,三,四,五,六,日
00B0 80E0 ldi R24,<_week2-1
00B2 90E0 ldi R25,>_week2-1
00B4 E0911100 lds R30,_week
00B8 FF27 clr R31
00BA E80F add R30,R24
00BC F91F adc R31,R25
00BE 2080 ldd R2,z+0
00C0 3324 clr R3
00C2 3B82 std y+3,R3
00C4 2A82 std y+2,R2
00C6 80E0 ldi R24,<_week1-1
00C8 90E0 ldi R25,>_week1-1
00CA E0911100 lds R30,_week
00CE FF27 clr R31
00D0 E80F add R30,R24
00D2 F91F adc R31,R25
00D4 2080 ldd R2,z+0
00D6 3324 clr R3
00D8 3982 std y+1,R3
00DA 2882 std y+0,R2
00DC 21E0 ldi R18,1
00DE 30E0 ldi R19,0
00E0 04E0 ldi R16,4
00E2 10E0 ldi R17,0
00E4 0E940000 xcall _write_hazi
00E8 .dbline 29
00E8 ; write_ASCII(0xf9,4,0,table1[year/1000]);//年第四位
00E8 28EE ldi R18,1000
00EA 33E0 ldi R19,3
00EC 00911500 lds R16,_year
00F0 10911600 lds R17,_year+1
00F4 0E940000 xcall div16u
00F8 F801 movw R30,R16
00FA 80E0 ldi R24,<_table1
00FC 90E0 ldi R25,>_table1
00FE E80F add R30,R24
0100 F91F adc R31,R25
0102 2080 ldd R2,z+0
0104 3324 clr R3
0106 3B82 std y+3,R3
0108 2A82 std y+2,R2
010A 2224 clr R2
010C 3982 std y+1,R3
010E 2882 std y+0,R2
0110 24E0 ldi R18,4
0112 30E0 ldi R19,0
0114 09EF ldi R16,249
0116 10E0 ldi R17,0
0118 0E940000 xcall _write_ASCII
011C .dbline 30
011C ; write_ASCII(0xf9,5,0,table1[year%1000/100]);//年第三位
011C 28EE ldi R18,1000
011E 33E0 ldi R19,3
0120 00911500 lds R16,_year
0124 10911600 lds R17,_year+1
0128 0E940000 xcall mod16u
012C 24E6 ldi R18,100
012E 30E0 ldi R19,0
0130 0E940000 xcall div16u
0134 F801 movw R30,R16
0136 80E0 ldi R24,<_table1
0138 90E0 ldi R25,>_table1
013A E80F add R30,R24
013C F91F adc R31,R25
013E 2080 ldd R2,z+0
0140 3324 clr R3
0142 3B82 std y+3,R3
0144 2A82 std y+2,R2
0146 2224 clr R2
0148 3982 std y+1,R3
014A 2882 std y+0,R2
014C 25E0 ldi R18,5
014E 30E0 ldi R19,0
0150 09EF ldi R16,249
0152 10E0 ldi R17,0
0154 0E940000 xcall _write_ASCII
0158 .dbline 31
0158 ; write_ASCII(0xf9,6,0,table1[year%1000%100/10]);//年第二位
0158 28EE ldi R18,1000
015A 33E0 ldi R19,3
015C 00911500 lds R16,_year
0160 10911600 lds R17,_year+1
0164 0E940000 xcall mod16u
0168 24E6 ldi R18,100
016A 30E0 ldi R19,0
016C 0E940000 xcall mod16u
0170 2AE0 ldi R18,10
0172 30E0 ldi R19,0
0174 0E940000 xcall div16u
0178 F801 movw R30,R16
017A 80E0 ldi R24,<_table1
017C 90E0 ldi R25,>_table1
017E E80F add R30,R24
0180 F91F adc R31,R25
0182 2080 ldd R2,z+0
0184 3324 clr R3
0186 3B82 std y+3,R3
0188 2A82 std y+2,R2
018A 2224 clr R2
018C 3982 std y+1,R3
018E 2882 std y+0,R2
0190 26E0 ldi R18,6
0192 30E0 ldi R19,0
0194 09EF ldi R16,249
0196 10E0 ldi R17,0
0198 0E940000 xcall _write_ASCII
019C .dbline 32
019C ; write_ASCII(0xf9,7,0,table1[year%1000%100%10]);//年第一位
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -