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

📄 ds1302.lst

📁 AT89C51开发例程 protues仿真 keil编程
💻 LST
📖 第 1 页 / 共 4 页
字号:
   1               		.file	"ds1302.c"
   2               		.arch atmega8
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  17               	.Ltext0:
  18               	.global	modify_key
  19               	.global	modify_key
  20               		.section .bss
  23               	modify_key:
  24 0000 00        		.skip 1,0
  25               	.global	modify_enter
  26               	.global	modify_enter
  29               	modify_enter:
  30 0001 00        		.skip 1,0
  31               	.global	modify_bit
  32               	.global	modify_bit
  35               	modify_bit:
  36 0002 00        		.skip 1,0
  37               	.global	modify_state
  38               	.global	modify_state
  41               	modify_state:
  42 0003 00        		.skip 1,0
  43               	.global	dsp
  44               	.global	dsp
  47               	dsp:
  48 0004 0000 0000 		.skip 6,0
  48      0000 
  49               	.global	bcd_dsp
  50               	.global	bcd_dsp
  53               	bcd_dsp:
  54 000a 0000 0000 		.skip 6,0
  54      0000 
  55               	.global	dig
  56               		.data
  59               	dig:
  60 0000 01        		.byte	1
  61 0001 02        		.byte	2
  62 0002 04        		.byte	4
  63 0003 08        		.byte	8
  64 0004 10        		.byte	16
  65 0005 20        		.byte	32
  66               	.global	led
  69               	led:
  70 0006 C0        		.byte	-64
  71 0007 F9        		.byte	-7
  72 0008 A4        		.byte	-92
  73 0009 B0        		.byte	-80
  74 000a 99        		.byte	-103
  75 000b 92        		.byte	-110
  76 000c 82        		.byte	-126
  77 000d F8        		.byte	-8
  78 000e 80        		.byte	-128
  79 000f 90        		.byte	-112
  80               		.text
  81               	.global	out_byte
  83               	out_byte:
  84               	.LFB7:
  85               	.LM1:
  86               	/* prologue: frame size=0 */
  87               	/* prologue end (size=0) */
  88               	.LM2:
  89 0000 889A      		sbi 49-0x20,0
  90               	.LM3:
  91 0002 899A      		sbi 49-0x20,1
  92               	.LM4:
  93 0004 8A9A      		sbi 49-0x20,2
  94               	.LM5:
  95 0006 9098      		cbi 50-0x20,0
  96               	.LM6:
  97 0008 9198      		cbi 50-0x20,1
  98               	.LM7:
  99 000a 909A      		sbi 50-0x20,0
 100 000c E82F      		mov r30,r24
 101 000e FF27      		clr r31
 102 0010 20E0      		ldi r18,lo8(0)
 103 0012 30E0      		ldi r19,hi8(0)
 104 0014 47E0      		ldi r20,lo8(7)
 105               	.L7:
 106               	.LM8:
 107 0016 CF01      		movw r24,r30
 108 0018 022E      		mov r0,r18
 109 001a 02C0      		rjmp 2f
 110 001c 9595      	1:	asr r25
 111 001e 8795      		ror r24
 112 0020 0A94      	2:	dec r0
 113 0022 E2F7      		brpl 1b
 114 0024 80FF      		sbrs r24,0
 115 0026 02C0      		rjmp .L5
 116               	.LM9:
 117 0028 929A      		sbi 50-0x20,2
 118 002a 01C0      		rjmp .L6
 119               	.L5:
 120               	.LM10:
 121 002c 9298      		cbi 50-0x20,2
 122               	.L6:
 123               	.LM11:
 124 002e 919A      		sbi 50-0x20,1
 125               	.LM12:
 126 0030 9198      		cbi 50-0x20,1
 127               	.LM13:
 128 0032 4150      		subi r20,lo8(-(-1))
 129 0034 2F5F      		subi r18,lo8(-(1))
 130 0036 3F4F      		sbci r19,hi8(-(1))
 131 0038 47FF      		sbrs r20,7
 132 003a EDCF      		rjmp .L7
 133 003c 7727      		clr r23
 134 003e 20E0      		ldi r18,lo8(0)
 135 0040 30E0      		ldi r19,hi8(0)
 136 0042 47E0      		ldi r20,lo8(7)
 137               	.L13:
 138               	.LM14:
 139 0044 CB01      		movw r24,r22
 140 0046 022E      		mov r0,r18
 141 0048 02C0      		rjmp 2f
 142 004a 9595      	1:	asr r25
 143 004c 8795      		ror r24
 144 004e 0A94      	2:	dec r0
 145 0050 E2F7      		brpl 1b
 146 0052 80FF      		sbrs r24,0
 147 0054 02C0      		rjmp .L11
 148               	.LM15:
 149 0056 929A      		sbi 50-0x20,2
 150 0058 01C0      		rjmp .L12
 151               	.L11:
 152               	.LM16:
 153 005a 9298      		cbi 50-0x20,2
 154               	.L12:
 155               	.LM17:
 156 005c 919A      		sbi 50-0x20,1
 157               	.LM18:
 158 005e 9198      		cbi 50-0x20,1
 159               	.LM19:
 160 0060 4150      		subi r20,lo8(-(-1))
 161 0062 2F5F      		subi r18,lo8(-(1))
 162 0064 3F4F      		sbci r19,hi8(-(1))
 163 0066 47FF      		sbrs r20,7
 164 0068 EDCF      		rjmp .L13
 165               	.LM20:
 166 006a 9098      		cbi 50-0x20,0
 167               	/* epilogue: frame size=0 */
 168 006c 0895      		ret
 169               	/* epilogue end (size=1) */
 170               	/* function out_byte size 55 (54) */
 171               	.LFE7:
 173               	.global	write_ds1302
 175               	write_ds1302:
 176               	.LFB8:
 177               	.LM21:
 178               	/* prologue: frame size=0 */
 179 006e 0F93      		push r16
 180 0070 1F93      		push r17
 181               	/* prologue end (size=2) */
 182 0072 082F      		mov r16,r24
 183 0074 162F      		mov r17,r22
 184               	.LM22:
 185 0076 60E0      		ldi r22,lo8(0)
 186 0078 8EE8      		ldi r24,lo8(-114)
 187 007a C2DF      		rcall out_byte
 188               	.LM23:
 189 007c 612F      		mov r22,r17
 190 007e 802F      		mov r24,r16
 191 0080 BFDF      		rcall out_byte
 192               	.LM24:
 193 0082 60E8      		ldi r22,lo8(-128)
 194 0084 8FE8      		ldi r24,lo8(-113)
 195 0086 BCDF      		rcall out_byte
 196               	/* epilogue: frame size=0 */
 197 0088 1F91      		pop r17
 198 008a 0F91      		pop r16
 199 008c 0895      		ret
 200               	/* epilogue end (size=3) */
 201               	/* function write_ds1302 size 16 (11) */
 202               	.LFE8:
 204               	.global	in_byte
 206               	in_byte:
 207               	.LFB9:
 208               	.LM25:
 209               	/* prologue: frame size=0 */
 210               	/* prologue end (size=0) */
 211               	.LM26:
 212 008e 889A      		sbi 49-0x20,0
 213               	.LM27:
 214 0090 899A      		sbi 49-0x20,1
 215               	.LM28:
 216 0092 8A9A      		sbi 49-0x20,2
 217               	.LM29:
 218 0094 9098      		cbi 50-0x20,0
 219               	.LM30:
 220 0096 9198      		cbi 50-0x20,1
 221               	.LM31:
 222 0098 909A      		sbi 50-0x20,0
 223 009a 682F      		mov r22,r24
 224 009c 7727      		clr r23
 225 009e 20E0      		ldi r18,lo8(0)
 226 00a0 30E0      		ldi r19,hi8(0)
 227 00a2 47E0      		ldi r20,lo8(7)
 228               	.L25:
 229               	.LM32:
 230 00a4 CB01      		movw r24,r22
 231 00a6 022E      		mov r0,r18
 232 00a8 02C0      		rjmp 2f
 233 00aa 9595      	1:	asr r25
 234 00ac 8795      		ror r24
 235 00ae 0A94      	2:	dec r0
 236 00b0 E2F7      		brpl 1b
 237 00b2 80FF      		sbrs r24,0
 238 00b4 02C0      		rjmp .L23
 239               	.LM33:
 240 00b6 929A      		sbi 50-0x20,2
 241 00b8 01C0      		rjmp .L24
 242               	.L23:
 243               	.LM34:
 244 00ba 9298      		cbi 50-0x20,2
 245               	.L24:
 246               	.LM35:
 247 00bc 919A      		sbi 50-0x20,1
 248               	.LM36:
 249 00be 9198      		cbi 50-0x20,1
 250               	.LM37:
 251 00c0 4150      		subi r20,lo8(-(-1))
 252 00c2 2F5F      		subi r18,lo8(-(1))
 253 00c4 3F4F      		sbci r19,hi8(-(1))
 254 00c6 47FF      		sbrs r20,7
 255 00c8 EDCF      		rjmp .L25
 256               	.LM38:
 257 00ca 8A98      		cbi 49-0x20,2
 258               	.LM39:
 259 00cc 50E0      		ldi r21,lo8(0)
 260 00ce 20E0      		ldi r18,lo8(0)
 261 00d0 30E0      		ldi r19,hi8(0)
 262 00d2 47E0      		ldi r20,lo8(7)
 263               	.L29:
 264               	.LM40:
 265 00d4 80B3      		in r24,48-0x20
 266               	.LM41:
 267 00d6 919A      		sbi 50-0x20,1
 268               	.LM42:
 269 00d8 8695      		lsr r24
 270 00da 8695      		lsr r24
 271 00dc 8170      		andi r24,lo8(1)
 272               	.LM43:
 273 00de 9927      		clr r25
 274 00e0 022E      		mov r0,r18
 275 00e2 02C0      		rjmp 2f
 276 00e4 880F      	1:	lsl r24
 277 00e6 991F      		rol r25
 278 00e8 0A94      	2:	dec r0
 279 00ea E2F7      		brpl 1b
 280 00ec 582B      		or r21,r24
 281               	.LM44:
 282 00ee 9198      		cbi 50-0x20,1
 283               	.LM45:
 284 00f0 4150      		subi r20,lo8(-(-1))
 285 00f2 2F5F      		subi r18,lo8(-(1))
 286 00f4 3F4F      		sbci r19,hi8(-(1))
 287 00f6 47FF      		sbrs r20,7
 288 00f8 EDCF      		rjmp .L29
 289               	.LM46:
 290 00fa 9098      		cbi 50-0x20,0
 291               	.LM47:
 292 00fc 852F      		mov r24,r21
 293 00fe 9927      		clr r25
 294               	/* epilogue: frame size=0 */
 295 0100 0895      		ret
 296               	/* epilogue end (size=1) */
 297               	/* function in_byte size 58 (57) */
 298               	.LFE9:
 300               	.global	bcd_change
 302               	bcd_change:
 303               	.LFB10:
 304               	.LM48:
 305               	/* prologue: frame size=0 */
 306               	/* prologue end (size=0) */
 307               	.LM49:
 308 0102 9091 0000 		lds r25,bcd_dsp
 309 0106 892F      		mov r24,r25
 310 0108 8295      		swap r24
 311 010a 8F70      		andi r24,0x0f
 312 010c 20E0      		ldi r18,lo8(led)
 313 010e 30E0      		ldi r19,hi8(led)
 314 0110 F901      		movw r30,r18
 315 0112 E80F      		add r30,r24
 316 0114 F11D      		adc r31,__zero_reg__
 317 0116 8081      		ld r24,Z
 318 0118 8093 0000 		sts dsp,r24
 319               	.LM50:
 320 011c E92F      		mov r30,r25
 321 011e FF27      		clr r31
 322 0120 EF70      		andi r30,lo8(15)
 323 0122 F070      		andi r31,hi8(15)
 324 0124 E20F      		add r30,r18
 325 0126 F31F      		adc r31,r19
 326 0128 8081      		ld r24,Z
 327 012a 8093 0000 		sts dsp+1,r24
 328               	.LM51:
 329 012e 9091 0000 		lds r25,bcd_dsp+1
 330 0132 892F      		mov r24,r25
 331 0134 8295      		swap r24
 332 0136 8F70      		andi r24,0x0f
 333 0138 F901      		movw r30,r18
 334 013a E80F      		add r30,r24
 335 013c F11D      		adc r31,__zero_reg__
 336 013e 8081      		ld r24,Z
 337 0140 8093 0000 		sts dsp+2,r24
 338               	.LM52:
 339 0144 E92F      		mov r30,r25
 340 0146 FF27      		clr r31
 341 0148 EF70      		andi r30,lo8(15)
 342 014a F070      		andi r31,hi8(15)
 343 014c E20F      		add r30,r18
 344 014e F31F      		adc r31,r19
 345 0150 8081      		ld r24,Z
 346 0152 8093 0000 		sts dsp+3,r24
 347               	.LM53:
 348 0156 9091 0000 		lds r25,bcd_dsp+2
 349 015a 892F      		mov r24,r25
 350 015c 8295      		swap r24
 351 015e 8F70      		andi r24,0x0f
 352 0160 F901      		movw r30,r18
 353 0162 E80F      		add r30,r24
 354 0164 F11D      		adc r31,__zero_reg__
 355 0166 8081      		ld r24,Z
 356 0168 8093 0000 		sts dsp+4,r24

⌨️ 快捷键说明

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