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

📄 x.s

📁 ICCAVR中所有的库函数源码
💻 S
📖 第 1 页 / 共 2 页
字号:
	.area text(rom, con, rel)
;              f -> y+20
;         fpcode -> y+18
;         carray -> y+14
;              i -> y+12
;             bp -> y+10
;         signch -> R14
;             cs -> R22,R23
;           prec -> R20,R21
;            ret -> y+28
;              s -> R10,R11
;          width -> y+26
;          flags -> y+24
;           done -> R12,R13
;             va -> y+44
;            fmt -> y+42
;           _put -> y+40
	.even
__print::
	rcall push_arg4
	rcall push_gset5
	sbiw R28,30
	clr R0
	clr R1
	std y+29,R1
	std y+28,R0
	rjmp L5
L2:
	ldd R30,y+42
	ldd R31,y+43
	ldd R30,z+0
	cpi R30,37
	breq L6
	ldd R30,y+42
	ldd R31,y+43
	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
	rjmp L3
L6:
	clr R0
	clr R1
	std y+27,R1
	std y+26,R0
	ldi R20,-1
	ldi R21,-1
	std y+25,R1
	std y+24,R0
	ldi R24,<_buf
	ldi R25,>_buf
	std y+11,R25
	std y+10,R24
	ldi R24,32
	mov R14,R24
	ldd R24,y+42
	ldd R25,y+43
	adiw R24,1
	std y+43,R25
	std y+42,R24
	clr R12
	clr R13
L8:
	ldd R30,y+42
	ldd R31,y+43
	ldd R2,z+0
	clr R3
	std y+17,R3
	std y+16,R2
	mov R30,R2
	mov R31,R3
	st -y,R30
	cpi R30,32
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	breq L18
	st -y,R30
	cpi R30,35
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	breq L15
	cpi R30,32
	ldi R30,0
	cpc R31,R30
	brlt L12
L20:
	ldd R30,y+16
	ldd R31,y+17
	st -y,R30
	cpi R30,43
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	breq L17
	st -y,R30
	cpi R30,45
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	breq L16
	cpi R30,48
	ldi R30,0
	cpc R31,R30
	breq L19
	rjmp L12
L15:
	ldd R24,y+24
	ldd R25,y+25
	ori R24,1
	std y+25,R25
	std y+24,R24
	rjmp L13
L16:
	ldd R24,y+24
	ldd R25,y+25
	ori R24,4
	std y+25,R25
	std y+24,R24
	rjmp L13
L17:
	ldd R24,y+24
	ldd R25,y+25
	ori R24,8
	std y+25,R25
	std y+24,R24
	ldi R24,43
	mov R14,R24
	rjmp L13
L18:
	ldd R24,y+24
	ldd R25,y+25
	ori R24,8
	std y+25,R25
	std y+24,R24
	ldi R24,32
	mov R14,R24
	rjmp L13
L19:
	ldd R24,y+24
	ldd R25,y+25
	ori R24,16
	std y+25,R25
	std y+24,R24
	rjmp L13
L12:
	ldi R24,1
	ldi R25,0
	mov R12,R24
	mov R13,R25
L13:
	tst R12
	brne X0
	tst R13
	breq L21
X0:
	rjmp L10
L21:
L9:
	ldd R24,y+42
	ldd R25,y+43
	adiw R24,1
	std y+43,R25
	std y+42,R24
	rjmp L8
L10:
	ldd R30,y+42
	ldd R31,y+43
	ldd R16,z+0
	clr R17
	rcall _isdigit
	cpi R16,0
	cpc R16,R17
	breq L23
X1:
	ldd R16,y+42
	ldd R17,y+43
	rcall _atoi
	std y+27,R17
	std y+26,R16
	rjmp L26
L25:
	ldd R24,y+42
	ldd R25,y+43
	adiw R24,1
	std y+43,R25
	std y+42,R24
L26:
	ldd R30,y+42
	ldd R31,y+43
	ldd R16,z+0
	clr R17
	rcall _isdigit
	cpi R16,0
	cpc R16,R17
	brne L25
X2:
	rjmp L24
L23:
	ldd R30,y+42
	ldd R31,y+43
	ldd R30,z+0
	cpi R30,42
	brne L28
	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+27,R3
	std y+26,R2
	ldd R24,y+42
	ldd R25,y+43
	adiw R24,1
	std y+43,R25
	std y+42,R24
L28:
L24:
	ldd R30,y+42
	ldd R31,y+43
	ldd R30,z+0
	cpi R30,46
	breq X15
	rjmp L30
X15:
	ldd R24,y+42
	ldd R25,y+43
	adiw R24,1
	std y+43,R25
	std y+42,R24
	mov R30,R24
	mov R31,R25
	ldd R16,z+0
	clr R17
	rcall _isdigit
	cpi R16,0
	cpc R16,R17
	breq L32
X3:
	ldd R16,y+42
	ldd R17,y+43
	rcall _atoi
	mov R20,R16
	mov R21,R17
	rjmp L35
L34:
	ldd R24,y+42
	ldd R25,y+43
	adiw R24,1
	std y+43,R25
	std y+42,R24
L35:
	ldd R30,y+42
	ldd R31,y+43
	ldd R16,z+0
	clr R17
	rcall _isdigit
	cpi R16,0
	cpc R16,R17
	brne L34
X4:
	rjmp L33
L32:
	ldd R30,y+42
	ldd R31,y+43
	ldd R30,z+0
	cpi R30,42
	brne L37
	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 R20,z+0
	ldd R21,z+1
	ldd R24,y+42
	ldd R25,y+43
	adiw R24,1
	std y+43,R25
	std y+42,R24
L37:
L33:
L30:
	ldd R30,y+42
	ldd R31,y+43
	ldd R30,z+0
	cpi R30,108
	brne L39
	ldd R24,y+42
	ldd R25,y+43
	adiw R24,1
	std y+43,R25
	std y+42,R24
	ldd R24,y+24
	ldd R25,y+25
	ori R24,2
	std y+25,R25
	std y+24,R24
L39:
	ldd R30,y+42
	ldd R31,y+43
	ldd R2,z+0
	clr R3
	std y+17,R3
	std y+16,R2
	mov R30,R2
	mov R31,R3
	st -y,R30
	cpi R30,88
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X16
	rjmp L48
X16:
	ldi R24,88
	ldi R25,0
	cp R24,R30
	cpc R25,R31
	brlt L159
L158:
	ldd R30,y+16
	ldd R31,y+17
	st -y,R30
	cpi R30,69
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X17
	rjmp L147
X17:
	st -y,R30
	cpi R30,71
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X18
	rjmp L150
X18:
	cpi R30,69
	ldi R30,0
	cpc R31,R30
	brge X19
	rjmp L41
X19:
L160:
	ldd R30,y+16
	ldd R31,y+17
	cpi R30,83
	ldi R30,0
	cpc R31,R30
	brne X20
	rjmp L74
X20:
	rjmp L41
L159:
	ldd R30,y+16
	ldd R31,y+17
	st -y,R30
	cpi R30,111
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X21
	rjmp L48
X21:
	ldi R24,111
	ldi R25,0
	cp R24,R30
	cpc R25,R31
	brlt L162
L161:
	ldd R30,y+16
	ldd R31,y+17
	st -y,R30
	cpi R30,99
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X22
	rjmp L70
X22:
	st -y,R30
	cpi R30,100
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X23
	rjmp L44
X23:
	st -y,R30
	cpi R30,101
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X24
	rjmp L145
X24:
	st -y,R30
	cpi R30,102
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X25
	rjmp L148
X25:
	cpi R30,103
	ldi R30,0
	cpc R31,R30
	brne X26
	rjmp L149
X26:
	rjmp L41
L162:
	ldd R30,y+16
	ldd R31,y+17
	st -y,R30
	cpi R30,115
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X27
	rjmp L108
X27:
	st -y,R30
	cpi R30,117
	ldi R30,0
	cpc R31,R30
	ld R30,y+
	brne X28
	rjmp L48
X28:
	cpi R30,120
	ldi R30,0
	cpc R31,R30
	brne X29
	rjmp L48
X29:
	rjmp L41
L41:
	ldd R30,y+42
	ldd R31,y+43
	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
	rjmp L42
L44:
	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+13,R3
	std y+12,R2
	mov R30,R2
	mov R31,R3
	cpi R30,0
	ldi R30,0
	cpc R31,R30
	brge L45
	ldd R24,y+24
	ldd R25,y+25
	ori R24,8
	std y+25,R25
	std y+24,R24
	ldi R24,45
	mov R14,R24
	ldd R24,y+12
	ldd R25,y+13
	com R24
	com R25
	subi R24,0xFF
	sbci R25,0xFF
	std y+13,R25
	std y+12,R24
L45:
	ldi R24,10
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldd R18,y+12
	ldd R19,y+13
	ldd R16,y+10
	ldd R17,y+11
	rcall _itoa
	rjmp L47
L48:
	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+13,R3
	std y+12,R2
	ldd R30,y+42
	ldd R31,y+43
	ldd R30,z+0
	cpi R30,117
	brne L49
	ldi R24,10
	ldi R25,0
	std y+1,R25
	std y+0,R24
	mov R18,R2
	mov R19,R3
	ldd R16,y+10
	ldd R17,y+11
	rcall _itoa
	rjmp L50
L49:
	ldd R30,y+42
	ldd R31,y+43
	ldd R30,z+0
	cpi R30,111
	brne L51
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,0
	rjmp L53
	ldi R24,48
	ldd R30,y+10
	ldd R31,y+11
	st Z+,R24
	std y+11,R31
	std y+10,R30
L53:
	ldi R24,8
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldd R18,y+12
	ldd R19,y+13
	ldd R16,y+10
	ldd R17,y+11
	rcall _itoa
	rjmp L52
L51:
	ldd R0,y+24
	ldd R1,y+25
	sbrs R0,0
	rjmp L55
	ldi R24,48
	ldd R30,y+10
	ldd R31,y+11
	st Z+,R24
	std y+11,R31
	std y+10,R30
	ldd R30,y+42
	ldd R31,y+43
	ldd R2,z+0
	ldd R30,y+10
	ldd R31,y+11
	st Z+,R2
	std y+11,R31
	std y+10,R30
L55:
	ldi R24,16
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldd R18,y+12
	ldd R19,y+13
	ldd R16,y+10
	ldd R17,y+11
	rcall _itoa
	ldd R30,y+42
	ldd R31,y+43
	ldd R30,z+0
	cpi R30,88
	brne L57
	ldi R24,<_buf
	ldi R25,>_buf
	mov R10,R24
	mov R11,R25
	rjmp L62
L59:
	mov R30,R10
	mov R31,R11
	ldd R16,z+0
	clr R17
	rcall _toupper
	mov R30,R10
	mov R31,R11
	std z+0,R16
L60:
	mov R24,R10
	mov R25,R11
	adiw R24,1
	mov R10,R24
	mov R11,R25
L62:
	mov R30,R10
	mov R31,R11
	ldd R2,z+0
	tst R2
	brne L59
L57:
L52:
L50:
L47:
	ldi R24,<_buf
	ldi R25,>_buf
	mov R10,R24
	mov R11,R25
	cpi R20,255
	ldi R30,255
	cpc R21,R30
	brne L63
	clr R20
	clr R21
L63:
	cpi R20,0
	cpc R20,R21
	brne X30
	rjmp L69

⌨️ 快捷键说明

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