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

📄 mfrc500uc.lst

📁 Source Code Source Code Source Code Source Code Source Code Source Code Source Code Source Code Sour
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1               		.file	"MfRc500uC.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__tmp_reg__ = 0
   6               	__zero_reg__ = 1
   7               		.global __do_copy_data
   8               		.global __do_clear_bss
  16               	.Ltext0:
  17               	.global	OpenRC
  19               	OpenRC:
  20               	.LFB14:
  21               	.LM1:
  22               	/* prologue: frame size=0 */
  23               	/* prologue end (size=0) */
  24               	.LM2:
  25 0000 2B98      		cbi 37-0x20,3
  26               	.LM3:
  27 0002 80E0      		ldi r24,lo8(0)
  28 0004 90E0      		ldi r25,hi8(0)
  29               	/* epilogue: frame size=0 */
  30 0006 0895      		ret
  31               	/* epilogue end (size=1) */
  32               	/* function OpenRC size 4 (3) */
  33               	.LFE14:
  35               	.global	CloseRC
  37               	CloseRC:
  38               	.LFB15:
  39               	.LM4:
  40               	/* prologue: frame size=0 */
  41               	/* prologue end (size=0) */
  42               	/* epilogue: frame size=0 */
  43 0008 0895      		ret
  44               	/* epilogue end (size=1) */
  45               	/* function CloseRC size 1 (0) */
  46               	.LFE15:
  48               	.global	Mf500HostCodeKey
  50               	Mf500HostCodeKey:
  51               	.LFB31:
  52               	.LM5:
  53               	/* prologue: frame size=0 */
  54               	/* prologue end (size=0) */
  55               	.LVL0:
  56 000a DC01      		movw r26,r24
  57 000c FB01      		movw r30,r22
  58 000e 40E0      		ldi r20,lo8(0)
  59               	.LVL1:
  60               	.L6:
  61               	.LM6:
  62 0010 2D91      		ld r18,X+
  63 0012 322F      		mov r19,r18
  64               	.LVL2:
  65 0014 3F70      		andi r19,lo8(15)
  66               	.LM7:
  67 0016 2295      		swap r18
  68               	.LVL3:
  69 0018 2F70      		andi r18,lo8(15)
  70               	.LM8:
  71 001a 832F      		mov r24,r19
  72               	.LVL4:
  73 001c 90E0      		ldi r25,lo8(0)
  74               	.LVL5:
  75 001e 8095      		com r24
  76 0020 9095      		com r25
  77               	.LVL6:
  78 0022 54E0      		ldi r21,4
  79 0024 880F      	1:	lsl r24
  80 0026 991F      		rol r25
  81 0028 5A95      		dec r21
  82 002a 01F4      		brne 1b
  83 002c 382B      		or r19,r24
  84               	.LVL7:
  85 002e 3183      		std Z+1,r19
  86               	.LM9:
  87 0030 822F      		mov r24,r18
  88 0032 90E0      		ldi r25,lo8(0)
  89               	.LVL8:
  90 0034 8095      		com r24
  91 0036 9095      		com r25
  92               	.LVL9:
  93 0038 34E0      		ldi r19,4
  94 003a 880F      	1:	lsl r24
  95 003c 991F      		rol r25
  96 003e 3A95      		dec r19
  97 0040 01F4      		brne 1b
  98               	.LVL10:
  99 0042 282B      		or r18,r24
 100               	.LVL11:
 101 0044 2083      		st Z,r18
 102               	.LM10:
 103 0046 4F5F      		subi r20,lo8(-(1))
 104 0048 3296      		adiw r30,2
 105 004a 4630      		cpi r20,lo8(6)
 106 004c 01F4      		brne .L6
 107               	.LM11:
 108 004e 80E0      		ldi r24,lo8(0)
 109 0050 90E0      		ldi r25,hi8(0)
 110               	/* epilogue: frame size=0 */
 111 0052 0895      		ret
 112               	/* epilogue end (size=1) */
 113               	/* function Mf500HostCodeKey size 37 (36) */
 114               	.LFE31:
 116               	.global	Mf500PcdGetAttrib
 118               	Mf500PcdGetAttrib:
 119               	.LFB44:
 120               	.LM12:
 121               	/* prologue: frame size=0 */
 122 0054 0F93      		push r16
 123 0056 1F93      		push r17
 124               	/* prologue end (size=2) */
 125               	.LVL12:
 126 0058 FC01      		movw r30,r24
 127 005a DB01      		movw r26,r22
 128               	.LM13:
 129 005c 88E0      		ldi r24,lo8(8)
 130               	.LVL13:
 131 005e 8083      		st Z,r24
 132               	.LM14:
 133 0060 8C93      		st X,r24
 134               	.LM15:
 135 0062 83E0      		ldi r24,lo8(3)
 136 0064 FA01      		movw r30,r20
 137               	.LVL14:
 138 0066 8083      		st Z,r24
 139               	.LM16:
 140 0068 F901      		movw r30,r18
 141 006a 8083      		st Z,r24
 142               	.LM17:
 143 006c F801      		movw r30,r16
 144 006e 1082      		st Z,__zero_reg__
 145               	.LM18:
 146 0070 80E0      		ldi r24,lo8(0)
 147 0072 90E0      		ldi r25,hi8(0)
 148               	/* epilogue: frame size=0 */
 149 0074 1F91      		pop r17
 150 0076 0F91      		pop r16
 151 0078 0895      		ret
 152               	/* epilogue end (size=3) */
 153               	/* function Mf500PcdGetAttrib size 19 (14) */
 154               	.LFE44:
 156               	.global	Mf500bloccoInSettore
 158               	Mf500bloccoInSettore:
 159               	.LFB67:
 160               	.LM19:
 161               	/* prologue: frame size=0 */
 162               	/* prologue end (size=0) */
 163               	.LVL15:
 164               	.LM20:
 165 007a 6817      		cp r22,r24
 166 007c 01F0      		breq .L14
 167               	.LM21:
 168 007e 70E0      		ldi r23,lo8(0)
 169 0080 282F      		mov r18,r24
 170 0082 30E0      		ldi r19,lo8(0)
 171 0084 C901      		movw r24,r18
 172               	.LVL16:
 173 0086 0197      		sbiw r24,1
 174 0088 6817      		cp r22,r24
 175 008a 7907      		cpc r23,r25
 176               	.LVL17:
 177 008c 01F0      		breq .L14
 178 008e C901      		movw r24,r18
 179 0090 0297      		sbiw r24,2
 180 0092 6817      		cp r22,r24
 181 0094 7907      		cpc r23,r25
 182 0096 01F0      		breq .L14
 183 0098 2350      		subi r18,lo8(-(-3))
 184 009a 3040      		sbci r19,hi8(-(-3))
 185 009c 6217      		cp r22,r18
 186 009e 7307      		cpc r23,r19
 187 00a0 01F0      		breq .L14
 188 00a2 80E0      		ldi r24,lo8(0)
 189 00a4 90E0      		ldi r25,hi8(0)
 190 00a6 0895      		ret
 191               	.LVL18:
 192               	.L14:
 193 00a8 8FEF      		ldi r24,lo8(255)
 194 00aa 90E0      		ldi r25,hi8(255)
 195               	.LVL19:
 196               	.LM22:
 197 00ac 0895      		ret
 198               	/* epilogue: frame size=0 */
 199               	/* epilogue: noreturn */
 200               	/* epilogue end (size=0) */
 201               	/* function Mf500bloccoInSettore size 26 (26) */
 202               	.LFE67:
 204               	.global	ReadRawRC
 206               	ReadRawRC:
 207               	.LFB13:
 208               	.LM23:
 209               	/* prologue: frame size=0 */
 210               	/* prologue end (size=0) */
 211               	.LVL20:
 212               	.LM24:
 213 00ae 0E94 0000 		call SPI_read_Reg
 214               	.LVL21:
 215               	.LM25:
 216 00b2 90E0      		ldi r25,lo8(0)
 217               	/* epilogue: frame size=0 */
 218 00b4 0895      		ret
 219               	/* epilogue end (size=1) */
 220               	/* function ReadRawRC size 4 (3) */
 221               	.LFE13:
 223               	.global	WriteRawRC
 225               	WriteRawRC:
 226               	.LFB12:
 227               	.LM26:
 228               	/* prologue: frame size=0 */
 229               	/* prologue end (size=0) */
 230               	.LVL22:
 231               	.LM27:
 232 00b6 0E94 0000 		call SPI_write_Reg
 233               	.LVL23:
 234               	/* epilogue: frame size=0 */
 235 00ba 0895      		ret
 236               	/* epilogue end (size=1) */
 237               	/* function WriteRawRC size 3 (2) */
 238               	.LFE12:
 240               	.global	PcdReset
 242               	PcdReset:
 243               	.LFB49:
 244               	.LM28:
 245               	/* prologue: frame size=0 */
 246               	/* prologue end (size=0) */
 247 00bc 28E8      		ldi r18,lo8(5000)
 248 00be 33E1      		ldi r19,hi8(5000)
 249               	.LVL24:
 250               	.L26:
 251               	.LBB52:
 252               	.LBB53:
 253               	.LBB54:
 254               	.LBB55:
 255               	.LM29:
 256 00c0 84E1      		ldi r24,lo8(276)
 257 00c2 91E0      		ldi r25,hi8(276)
 258               	.LVL25:
 259               	/* #APP */
 260 00c4 0197      		1: sbiw r24,1
 261 00c6 01F4      		brne 1b
 262               	/* #NOAPP */
 263               	.LBE55:
 264               	.LBE54:
 265               	.LM30:
 266 00c8 2150      		subi r18,lo8(-(-1))
 267 00ca 3040      		sbci r19,hi8(-(-1))
 268               	.LM31:
 269 00cc 01F4      		brne .L26
 270               	.LBE53:
 271               	.LBE52:
 272               	.LM32:
 273 00ce 2C9A      		sbi 37-0x20,4
 274 00d0 2D98      		cbi 37-0x20,5
 275 00d2 2F98      		cbi 37-0x20,7
 276 00d4 2B9A      		sbi 37-0x20,3
 277 00d6 28EE      		ldi r18,lo8(1000)
 278 00d8 33E0      		ldi r19,hi8(1000)
 279               	.LVL26:
 280               	.L28:
 281               	.LBB56:
 282               	.LBB57:
 283               	.LBB58:
 284               	.LBB59:
 285               	.LM33:
 286 00da E4E1      		ldi r30,lo8(276)
 287 00dc F1E0      		ldi r31,hi8(276)
 288 00de CF01      		movw r24,r30
 289               	.LVL27:
 290               	/* #APP */
 291 00e0 0197      		1: sbiw r24,1
 292 00e2 01F4      		brne 1b
 293               	/* #NOAPP */
 294               	.LBE59:
 295               	.LBE58:
 296               	.LM34:
 297 00e4 2150      		subi r18,lo8(-(-1))
 298 00e6 3040      		sbci r19,hi8(-(-1))
 299               	.LM35:
 300 00e8 01F4      		brne .L28
 301               	.LBE57:
 302               	.LBE56:
 303               	.LM36:
 304 00ea 2B98      		cbi 37-0x20,3
 305               	.LBB60:
 306               	.LBB61:
 307               	.LBB62:
 308               	.LBB63:
 309               	.LBB64:
 310               	.LBB65:
 311               	.LM37:
 312               	/* #APP */
 313 00ec 3197      		1: sbiw r30,1
 314 00ee 01F4      		brne 1b
 315               	/* #NOAPP */
 316               	.L30:
 317               	.LBE65:
 318               	.LBE64:
 319               	.LBE63:
 320               	.LBE62:
 321               	.LBE61:
 322               	.LBE60:
 323               	.LM38:
 324 00f0 81E0      		ldi r24,lo8(1)
 325               	.LVL28:
 326 00f2 0E94 0000 		call ReadRawRC
 327               	.LVL29:
 328 00f6 90E0      		ldi r25,lo8(0)
 329 00f8 8F73      		andi r24,lo8(63)
 330 00fa 9070      		andi r25,hi8(63)
 331 00fc 892B      		or r24,r25
 332 00fe 01F4      		brne .L30
 333               	.LM39:
 334 0100 60E0      		ldi r22,lo8(0)
 335 0102 80E0      		ldi r24,lo8(0)
 336 0104 0E94 0000 		call WriteRawRC
 337               	.LM40:
 338 0108 81E0      		ldi r24,lo8(1)
 339 010a 0E94 0000 		call ReadRawRC
 340 010e 8823      		tst r24
 341 0110 01F0      		breq .L32
 342 0112 86EE      		ldi r24,lo8(-26)
 343               	.LVL30:
 344 0114 00C0      		rjmp .L34
 345               	.LVL31:
 346               	.L32:
 347 0116 80E0      		ldi r24,lo8(0)
 348               	.LVL32:
 349               	.L34:
 350               	.LM41:
 351 0118 9927      		clr r25
 352 011a 87FD      		sbrc r24,7
 353 011c 9095      		com r25
 354               	.LVL33:
 355               	/* epilogue: frame size=0 */
 356 011e 0895      		ret
 357               	/* epilogue end (size=1) */
 358               	/* function PcdReset size 60 (59) */
 359               	.LFE49:
 361               	.global	ReadRC
 363               	ReadRC:
 364               	.LFB17:
 365               	.LM42:
 366               	/* prologue: frame size=0 */
 367 0120 1F93      		push r17
 368               	/* prologue end (size=1) */
 369               	.LVL34:
 370 0122 182F      		mov r17,r24
 371               	.LM43:
 372 0124 682F      		mov r22,r24
 373 0126 6695      		lsr r22
 374 0128 6695      		lsr r22
 375 012a 6695      		lsr r22
 376 012c 6068      		ori r22,lo8(-128)
 377 012e 80E0      		ldi r24,lo8(0)
 378               	.LVL35:
 379 0130 0E94 0000 		call WriteRawRC
 380               	.LM44:
 381 0134 812F      		mov r24,r17
 382 0136 0E94 0000 		call ReadRawRC
 383               	.LM45:
 384 013a 90E0      		ldi r25,lo8(0)
 385               	/* epilogue: frame size=0 */
 386 013c 1F91      		pop r17

⌨️ 快捷键说明

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