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

📄 x.s

📁 ICCAVR中所有的库函数源码
💻 S
📖 第 1 页 / 共 2 页
字号:
X30:
X5:
	ldi R16,<_buf
	ldi R17,>_buf
	rcall _strlen
	std y+13,R17
	std y+12,R16
	mov R2,R16
	mov R3,R17
	cp R20,R16
	cpc R21,R17
	brlt X31
	rjmp L69
X31:
	mov R20,R2
	mov R21,R3
	rjmp L69
L70:
	ldd R24,y+44
	ldd R25,y+45
	adiw R24,2
	std y+45,R25
	std y+44,R24
	mov R30,R24
	mov R31,R25
	sbiw R30,2
	ldd R2,z+0
	ldd R3,z+1
	std y+14,R2
	ldi R24,1
	ldi R25,0
	ldd R0,y+26
	ldd R1,y+27
	cp R24,R0
	cpc R25,R1
	brge L71
	mov R20,R0
	mov R21,R1
	clr R2
	std y+15,R2
	mov R24,R28
	mov R25,R29
	adiw R24,14
	mov R10,R24
	mov R11,R25
	rjmp L69
L71:
	ldd R16,y+14
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	rjmp L42
L74:
	ldd R24,y+44
	ldd R25,y+45
	adiw R24,2
	std y+45,R25
	std y+44,R24
	mov R30,R24
	mov R31,R25
	sbiw R30,2
	ldd R22,z+0
	ldd R23,z+1
	cpi R20,255
	ldi R30,255
	cpc R21,R30
	brne L75
	clr R20
	clr R21
L75:
	ldd R0,y+26
	ldd R1,y+27
	tst R0
	brne X6
	tst R1
	breq L77
X6:
	mov R16,R22
	mov R17,R23
	rcall _cstrlen
	ldd R4,y+26
	ldd R5,y+27
	sub R4,R16
	sbc R5,R17
	std y+27,R5
	std y+26,R4
L77:
	cpi R20,0
	cpc R20,R21
	brne L79
X7:
	mov R16,R22
	mov R17,R23
	rcall _cstrlen
	mov R20,R16
	mov R21,R17
L79:
	ldd R0,y+26
	ldd R1,y+27
	tst R0
	brne X8
	tst R1
	breq L81
X8:
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,3
	rjmp L81
	ldd R24,y+26
	ldd R25,y+27
	sbiw R24,1
	std y+27,R25
	std y+26,R24
L81:
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,4
	rjmp L83
	sbrs R0,3
	rjmp L85
	mov R16,R14
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
L85:
	ldd R0,y+24
	ldd R1,y+25
	sbrc R0,2
	rjmp L100
	rjmp L90
L89:
	ldi R16,48
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	ldd R24,y+26
	ldd R25,y+27
	sbiw R24,1
	std y+27,R25
	std y+26,R24
L90:
	clr R2
	clr R3
	ldd R0,y+26
	ldd R1,y+27
	cp R2,R0
	cpc R3,R1
	brlt L89
	rjmp L100
L83:
	ldd R0,y+24
	ldd R1,y+25
	sbrc R0,2
	rjmp L92
	rjmp L95
L94:
	ldi R16,32
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	ldd R24,y+26
	ldd R25,y+27
	sbiw R24,1
	std y+27,R25
	std y+26,R24
L95:
	clr R2
	clr R3
	ldd R0,y+26
	ldd R1,y+27
	cp R2,R0
	cpc R3,R1
	brlt L94
L92:
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,3
	rjmp L100
	mov R16,R14
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	rjmp L100
L99:
	mov R30,R22
	mov R31,R23
	lpm
	mov R16,R0
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	subi R22,255  ; offset = 1
	sbci R23,255
L100:
	mov R30,R22
	mov R31,R23
	lpm
	tst R0
	breq L102
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	tst R2
	brne L99
	tst R3
	brne L99
X9:
L102:
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,2
	rjmp L42
	rjmp L106
L105:
	ldi R16,32
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	ldd R24,y+26
	ldd R25,y+27
	sbiw R24,1
	std y+27,R25
	std y+26,R24
L106:
	clr R2
	clr R3
	ldd R0,y+26
	ldd R1,y+27
	cp R2,R0
	cpc R3,R1
	brlt L105
	rjmp L42
L108:
	ldd R24,y+44
	ldd R25,y+45
	adiw R24,2
	std y+45,R25
	std y+44,R24
	mov R30,R24
	mov R31,R25
	sbiw R30,2
	ldd R10,z+0
	ldd R11,z+1
	tst R10
	brne L109
	tst R11
	brne L109
X10:
	ldi R24,<L111
	ldi R25,>L111
	mov R10,R24
	mov R11,R25
L109:
L69:
	cpi R20,255
	ldi R30,255
	cpc R21,R30
	brne L112
	clr R20
	clr R21
L112:
	ldd R0,y+26
	ldd R1,y+27
	tst R0
	brne X11
	tst R1
	breq L114
X11:
	mov R16,R10
	mov R17,R11
	rcall _strlen
	ldd R4,y+26
	ldd R5,y+27
	sub R4,R16
	sbc R5,R17
	std y+27,R5
	std y+26,R4
L114:
	cpi R20,0
	cpc R20,R21
	brne L116
X12:
	mov R16,R10
	mov R17,R11
	rcall _strlen
	mov R20,R16
	mov R21,R17
L116:
	ldd R0,y+26
	ldd R1,y+27
	tst R0
	brne X13
	tst R1
	breq L118
X13:
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,3
	rjmp L118
	ldd R24,y+26
	ldd R25,y+27
	sbiw R24,1
	std y+27,R25
	std y+26,R24
L118:
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,4
	rjmp L120
	sbrs R0,3
	rjmp L122
	mov R16,R14
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
L122:
	ldd R0,y+24
	ldd R1,y+25
	sbrc R0,2
	rjmp L137
	rjmp L127
L126:
	ldi R16,48
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	ldd R24,y+26
	ldd R25,y+27
	sbiw R24,1
	std y+27,R25
	std y+26,R24
L127:
	clr R2
	clr R3
	ldd R0,y+26
	ldd R1,y+27
	cp R2,R0
	cpc R3,R1
	brlt L126
	rjmp L137
L120:
	ldd R0,y+24
	ldd R1,y+25
	sbrc R0,2
	rjmp L129
	rjmp L132
L131:
	ldi R16,32
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	ldd R24,y+26
	ldd R25,y+27
	sbiw R24,1
	std y+27,R25
	std y+26,R24
L132:
	clr R2
	clr R3
	ldd R0,y+26
	ldd R1,y+27
	cp R2,R0
	cpc R3,R1
	brlt L131
L129:
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,3
	rjmp L137
	mov R16,R14
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	rjmp L137
L136:
	mov R30,R10
	mov R31,R11
	ldd R16,z+0
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	mov R24,R10
	mov R25,R11
	adiw R24,1
	mov R10,R24
	mov R11,R25
L137:
	mov R30,R10
	mov R31,R11
	ldd R2,z+0
	tst R2
	breq L139
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	tst R2
	brne L136
	tst R3
	brne L136
X14:
L139:
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,2
	rjmp L42
	rjmp L143
L142:
	ldi R16,32
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
	ldd R24,y+26
	ldd R25,y+27
	sbiw R24,1
	std y+27,R25
	std y+26,R24
L143:
	clr R2
	clr R3
	ldd R0,y+26
	ldd R1,y+27
	cp R2,R0
	cpc R3,R1
	brlt L142
	rjmp L42
L145:
	ldi R24,1
	ldi R25,0
	std y+19,R25
	std y+18,R24
	rjmp L146
L147:
	ldi R24,2
	ldi R25,0
	std y+19,R25
	std y+18,R24
	rjmp L146
L148:
	clr R2
	clr R3
	std y+19,R3
	std y+18,R2
	rjmp L146
L149:
	ldi R24,3
	ldi R25,0
	std y+19,R25
	std y+18,R24
	rjmp L146
L150:
	ldi R24,4
	ldi R25,0
	std y+19,R25
	std y+18,R24
L146:
	ldd R24,y+44
	ldd R25,y+45
	adiw R24,4
	std y+45,R25
	std y+44,R24
	mov R30,R24
	mov R31,R25
	sbiw R30,4
	mov R26,R28
	mov R27,R29
	adiw R26,20
	ldd R0,z+0
	st x+,R0
	ldd R0,z+1
	st x+,R0
	ldd R0,z+2
	st x+,R0
	ldd R0,z+3
	st x,R0
	cpi R20,255
	ldi R30,255
	cpc R21,R30
	brne L151
	ldi R20,6
	ldi R21,0
L151:
	std y+9,R21
	std y+8,R20
	ldd R0,y+26
	ldd R1,y+27
	std y+7,R1
	std y+6,R0
	ldd R0,y+24
	ldd R1,y+25
	std y+5,R1
	std y+4,R0
	mov R30,R28
	mov R31,R29
	adiw R30,20
	ldd R0,z+0
	std y+0,R0
	ldd R0,z+1
	std y+1,R0
	ldd R0,z+2
	std y+2,R0
	ldd R0,z+3
	std y+3,R0
	ldd R18,y+18
	ldd R19,y+19
	ldi R16,<_buf
	ldi R17,>_buf
	rcall __FormatFP_1
	mov R10,R16
	mov R11,R17
	rjmp L156
L155:
	mov R30,R10
	mov R31,R11
	ld R16,Z+
	mov R10,R30
	mov R11,R31
	ldd R30,y+40
	ldd R31,y+41
	rcall xicall
	ldd R24,y+28
	ldd R25,y+29
	adiw R24,1
	std y+29,R25
	std y+28,R24
L156:
	mov R30,R10
	mov R31,R11
	ldd R2,z+0
	tst R2
	brne L155
L42:
L3:
	ldd R24,y+42
	ldd R25,y+43
	adiw R24,1
	std y+43,R25
	std y+42,R24
L5:
	ldd R30,y+42
	ldd R31,y+43
	ldd R2,z+0
	tst R2
	breq X32
	rjmp L2
X32:
	ldd R16,y+28
	ldd R17,y+29
L1:
	adiw R28,30
	rcall pop_gset5
	adiw R28,4
	ret
	.area bss(ram, con, rel)
_buf:
	.blkb 25
	.area data(ram, con, rel)
L154:
	.blkb 55
	.area idata
	.byte 'C,58,92,'W,'O,'R,'K,92,'V,54,92,'l,'i,'b,'s,'r
	.byte 'c,46,'a,'v,'r,47,46,46,47,'l,'i,'b,'s,'r,'c,46
	.byte 'c,'o,'m,'m,'o,'n,47,'s,'t,'d,'i,'o,47,95,'p,'r
	.byte 'i,'n,'t,'f,46,'c,0
	.area data(ram, con, rel)
L153:
	.blkb 30
	.area idata
	.byte 's,'i,'z,'e,'o,'f,32,40,'b,'u,'f,41,32,62,61,32
	.byte 'F,95,'F,'P,95,'B,'F,'R,95,'S,'I,'Z,'E,0
	.area data(ram, con, rel)
L111:
	.blkb 18
	.area idata
	.byte 40,'n,'u,'l,'l,32,'p,'t,'r,32,'p,'a,'s,'s,'e,'d
	.byte 41,0
	.area data(ram, con, rel)

⌨️ 快捷键说明

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