📄 m16ds1302.lis
字号:
0060 8E9A sbi 0x11,6
0062 .dbline 69
0062 4427 clr R20
0064 0DC0 xjmp L11
0066 L8:
0066 .dbline 70
0066 .dbline 71
0066 01E0 ldi R16,1
0068 142F mov R17,R20
006A 0E940000 xcall lsl8
006E 262E mov R2,R22
0070 2022 and R2,R16
0072 11F0 breq L12
0074 .dbline 72
0074 .dbline 74
0074 969A sbi 0x12,6
0076 .dbline 75
0076 01C0 xjmp L13
0078 L12:
0078 .dbline 77
0078 .dbline 78
0078 9698 cbi 0x12,6
007A .dbline 79
007A L13:
007A .dbline 80
007A 959A sbi 0x12,5
007C .dbline 82
007C 9598 cbi 0x12,5
007E .dbline 83
007E L9:
007E .dbline 69
007E 4395 inc R20
0080 L11:
0080 .dbline 69
0080 4830 cpi R20,8
0082 88F3 brlo L8
0084 .dbline -2
0084 L7:
0084 0E940000 xcall pop_gset2
0088 .dbline 0 ; func end
0088 0895 ret
008A .dbsym r i 20 c
008A .dbsym r x 22 c
008A .dbend
008A .dbfunc e DS1302RdByte _DS1302RdByte fc
008A ; k -> R20
008A ; i -> R22
.even
008A _DS1302RdByte::
008A 0E940000 xcall push_gset2
008E .dbline -1
008E .dbline 95
008E .dbline 97
008E 8E98 cbi 0x11,6
0090 .dbline 98
0090 6627 clr R22
0092 1BC0 xjmp L18
0094 L15:
0094 .dbline 99
0094 .dbline 100
0094 40B3 in R20,0x10
0096 4074 andi R20,64
0098 .dbline 101
0098 51F0 breq L19
009A .dbline 102
009A .dbline 103
009A 01E0 ldi R16,1
009C 162F mov R17,R22
009E 0E940000 xcall lsl8
00A2 20900100 lds R2,_AA
00A6 202A or R2,R16
00A8 20920100 sts _AA,R2
00AC .dbline 104
00AC 0BC0 xjmp L20
00AE L19:
00AE .dbline 106
00AE .dbline 107
00AE 01E0 ldi R16,1
00B0 162F mov R17,R22
00B2 0E940000 xcall lsl8
00B6 202E mov R2,R16
00B8 2094 com R2
00BA 30900100 lds R3,_AA
00BE 3220 and R3,R2
00C0 30920100 sts _AA,R3
00C4 .dbline 108
00C4 L20:
00C4 .dbline 109
00C4 959A sbi 0x12,5
00C6 .dbline 110
00C6 9598 cbi 0x12,5
00C8 .dbline 111
00C8 L16:
00C8 .dbline 98
00C8 6395 inc R22
00CA L18:
00CA .dbline 98
00CA 6830 cpi R22,8
00CC 18F3 brlo L15
00CE .dbline 112
00CE 959A sbi 0x12,5
00D0 .dbline 114
00D0 9598 cbi 0x12,5
00D2 .dbline 115
00D2 8E9A sbi 0x11,6
00D4 .dbline 116
00D4 00910100 lds R16,_AA
00D8 .dbline -2
00D8 L14:
00D8 0E940000 xcall pop_gset2
00DC .dbline 0 ; func end
00DC 0895 ret
00DE .dbsym r k 20 c
00DE .dbsym r i 22 c
00DE .dbend
00DE .dbfunc e DS1302Write _DS1302Write fV
00DE ; ucDa -> R20
00DE ; ucAddr -> R22
.even
00DE _DS1302Write::
00DE 0E940000 xcall push_gset2
00E2 422F mov R20,R18
00E4 602F mov R22,R16
00E6 .dbline -1
00E6 .dbline 127
00E6 .dbline 128
00E6 9798 cbi 0x12,7
00E8 .dbline 129
00E8 9598 cbi 0x12,5
00EA .dbline 130
00EA 979A sbi 0x12,7
00EC .dbline 132
00EC 062F mov R16,R22
00EE B5DF xcall _DS1302WrByte
00F0 .dbline 133
00F0 042F mov R16,R20
00F2 B3DF xcall _DS1302WrByte
00F4 .dbline 135
00F4 959A sbi 0x12,5
00F6 .dbline 136
00F6 9798 cbi 0x12,7
00F8 .dbline -2
00F8 L21:
00F8 0E940000 xcall pop_gset2
00FC .dbline 0 ; func end
00FC 0895 ret
00FE .dbsym r ucDa 20 c
00FE .dbsym r ucAddr 22 c
00FE .dbend
00FE .dbfunc e DS1302Read _DS1302Read fc
00FE ; ucData -> R20
00FE ; ucAddr -> R20
.even
00FE _DS1302Read::
00FE 0E940000 xcall push_gset1
0102 402F mov R20,R16
0104 .dbline -1
0104 .dbline 147
0104 .dbline 149
0104 9798 cbi 0x12,7
0106 .dbline 150
0106 9598 cbi 0x12,5
0108 .dbline 151
0108 979A sbi 0x12,7
010A .dbline 152
010A 042F mov R16,R20
010C A6DF xcall _DS1302WrByte
010E .dbline 153
010E BDDF xcall _DS1302RdByte
0110 402F mov R20,R16
0112 .dbline 155
0112 959A sbi 0x12,5
0114 .dbline 157
0114 9798 cbi 0x12,7
0116 .dbline 158
0116 .dbline -2
0116 L22:
0116 0E940000 xcall pop_gset1
011A .dbline 0 ; func end
011A 0895 ret
011C .dbsym r ucData 20 c
011C .dbsym r ucAddr 20 c
011C .dbend
011C .dbfunc e DS1302SetTime _DS1302SetTime fV
011C ; second -> y+4
011C ; minutes -> R22
011C ; hour -> R20
.even
011C _DS1302SetTime::
011C 0E940000 xcall push_gset2
0120 622F mov R22,R18
0122 402F mov R20,R16
0124 .dbline -1
0124 .dbline 167
0124 .dbline 168
0124 2C81 ldd R18,y+4
0126 00E8 ldi R16,128
0128 DADF xcall _DS1302Write
012A .dbline 169
012A 262F mov R18,R22
012C 02E8 ldi R16,130
012E D7DF xcall _DS1302Write
0130 .dbline 170
0130 242F mov R18,R20
0132 04E8 ldi R16,132
0134 D4DF xcall _DS1302Write
0136 .dbline -2
0136 L23:
0136 0E940000 xcall pop_gset2
013A .dbline 0 ; func end
013A 0895 ret
013C .dbsym l second 4 c
013C .dbsym r minutes 22 c
013C .dbsym r hour 20 c
013C .dbend
013C .dbfunc e DS1302GetTime _DS1302GetTime fV
013C ; time -> R20,R21
.even
013C _DS1302GetTime::
013C 0E940000 xcall push_gset1
0140 A801 movw R20,R16
0142 .dbline -1
0142 .dbline 179
0142 .dbline 180
0142 05E8 ldi R16,133
0144 DCDF xcall _DS1302Read
0146 FA01 movw R30,R20
0148 0193 st Z+,R16
014A AF01 movw R20,R30
014C .dbline 181
014C 03E8 ldi R16,131
014E D7DF xcall _DS1302Read
0150 FA01 movw R30,R20
0152 0193 st Z+,R16
0154 AF01 movw R20,R30
0156 .dbline 182
0156 01E8 ldi R16,129
0158 D2DF xcall _DS1302Read
015A FA01 movw R30,R20
015C 0193 st Z+,R16
015E AF01 movw R20,R30
0160 .dbline -2
0160 L24:
0160 0E940000 xcall pop_gset1
0164 .dbline 0 ; func end
0164 0895 ret
0166 .dbsym r time 20 pc
0166 .dbend
0166 .dbfunc e DS1302Init _DS1302Init fV
.even
0166 _DS1302Init::
0166 .dbline -1
0166 .dbline 191
0166 ; }
0166 ; }
0166 ; }
0166 ; }
0166 ; }
0166 ; }
0166 ; }
0166 ; }
0166 .dbline 192
0166 ; }
0166 8F9A sbi 0x11,7
0168 .dbline 193
0168 ; }
0168 8E9A sbi 0x11,6
016A .dbline 194
016A ; }
016A 8D9A sbi 0x11,5
016C .dbline -2
016C L25:
016C .dbline 0 ; func end
016C 0895 ret
016E .dbend
.area data(ram, con, rel)
0000 .dbfile F:\job\M16学习板\DS1302时钟(实验十三)\..\ICC_H\DS1302.H
0000 _RecvFlag::
0000 .blkb 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -