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

📄 avcall-sparc.s

📁 c++写的一个脚本解释器
💻 S
字号:
#include "asmsparc.h".text	.align 4	.global C(__builtin_avcall)	DECLARE_FUNCTION(__builtin_avcall)	.proc	04C(__builtin_avcall:)	!$PROLOGUE$ 0	save	%sp, -1152, %sp	!$PROLOGUE$ 1	ld	[%i0+20], %g3	add	%sp, 68, %l2	add	%g3, -40, %g3	ld	[%i0+12], %o7	sub	%g3, %i0, %g3	cmp	%o7, 16	bne	L3	sra	%g3, 2, %l0	ld	[%i0+4], %g3	andcc	%g3, 8, %g0	bne	L87	cmp	%l0, 6	ld	[%i0+8], %g3	st	%g3, [%l2-4]L3:	cmp	%l0, 6L87:	ble,a	L88	ld	[%i0+12], %g3	add	%l0, -6, %l0	add	%i0, 40, %l1	mov	24, %o7L7:	ld	[%l1+%o7], %g3	addcc	%l0, -1, %l0	st	%g3, [%o7+%l2]	bne	L7	add	%o7, 4, %o7	ld	[%i0+12], %g3L88:	cmp	%g3, 16	bne,a	L89	ld	[%i0], %g3	ld	[%i0+4], %g3	andcc	%g3, 16, %g0	be	L9	sethi	%hi(-2117607424), %o7	ld	[%i0+16], %g3	and	%g3, 4095, %g3	or	%o7, 8, %o7	sethi	%hi(-1614774272), %l0	sethi	%hi(16777216), %l1	sethi	%hi(-1341120512), %l2	sethi	%hi(-2115502080), %l3	st	%g3, [%fp-24]	std	%l0, [%fp-32]	st	%l2, [%fp-20]	st	%o7, [%fp-16]	st	%l3, [%fp-12]	add	%fp, -32, %g3	iflush %g3	add	%fp, -24, %o7	iflush %o7	add	%fp, -16, %g3	iflush %g3	add	%fp, -12, %o7	iflush %o7	ld	[%i0], %g2	ld	[%i0+40], %o0	ld	[%i0+44], %o1	ld	[%i0+48], %o2	ld	[%i0+52], %o3	ld	[%i0+56], %o4	jmp	%fp-32	ld	[%i0+60], %o5L9:	ld	[%i0], %g3L89:	ld	[%i0+40], %o0	ld	[%i0+44], %o1	ld	[%i0+48], %o2	ld	[%i0+52], %o3	ld	[%i0+56], %o4	call	%g3, 0	ld	[%i0+60], %o5	mov	%o0, %l2	nop	ld	[%i0+12], %g3	cmp	%g3, 1	be	L11	cmp	%g3, 0	be	L84	cmp	%g3, 2	be	L85	cmp	%g3, 3	be	L85	cmp	%g3, 4	be	L85	cmp	%g3, 5	be	L86	cmp	%g3, 6	be	L86	cmp	%g3, 7	be	L84	cmp	%g3, 8	be	L84	cmp	%g3, 9	be	L84	cmp	%g3, 10	be,a	L90	ld	[%i0+8], %g3	ld	[%i0+12], %o7	add	%o7, -11, %g3	cmp	%g3, 1	bgu	L32	cmp	%o7, 13	ld	[%i0+8], %g3	st	%l2, [%g3]	ld	[%i0+8], %o7	b	L11	st	%o1, [%o7+4]L32:	bne	L34	cmp	%o7, 14	ld	[%i0+4], %g3	andcc	%g3, 32, %g0	bne,a	L35	fdtos	%f0, %f0L35:	ld	[%i0+8], %g3	b	L11	st	%f0, [%g3]L34:	bne	L38	cmp	%o7, 15	ld	[%i0+8], %g3	b	L11	std	%f0, [%g3]L38:	be	L84	cmp	%o7, 16	bne	L11	nop	ld	[%i0+4], %g3	andcc	%g3, 8, %g0	be	L43	andcc	%g3, 1, %g0	ld	[%i0+16], %g3	cmp	%g3, 1	bne	L44	cmp	%g3, 2	ld	[%i0+8], %o7	ldub	[%sp-1], %g3	b	L11	stb	%g3, [%o7]L44:	bne	L46	cmp	%g3, 4	ld	[%i0+8], %o7	lduh	[%sp-2], %g3	b	L11	sth	%g3, [%o7]L46:	bne	L48	cmp	%g3, 8	ld	[%i0+8], %o7	ld	[%sp-4], %g3	b	L11	st	%g3, [%o7]L48:	bne	L50	andcc	%g3, 3, %g0	ld	[%sp-8], %g3	ld	[%i0+8], %o7	st	%g3, [%o7]	ld	[%i0+8], %l0	ld	[%sp-4], %g3	b	L11	st	%g3, [%l0+4]L50:	be	L52	sub	%sp, %g3, %o7	ld	[%i0+8], %i0	cmp	%g3, 4	bleu	L53	mov	%g3, %l0	and	%o7, -4, %o7L53:	cmp	%g3, 0	be	L11	nopL56:	ldub	[%o7], %g3	addcc	%l0, -1, %l0	stb	%g3, [%i0]	add	%o7, 1, %o7	bne	L56	add	%i0, 1, %i0	b,a	L11L52:	cmp	%o7, %sp	bgeu	L11	ld	[%i0+8], %i0L61:	ld	[%o7], %g3	add	%o7, 4, %o7	st	%g3, [%i0]	cmp	%o7, %sp	blu	L61	add	%i0, 4, %i0	b,a	L11L43:	be	L64	andcc	%g3, 2, %g0	ld	[%i0+16], %g3	cmp	%g3, 1	bne	L65	cmp	%g3, 2	ld	[%i0+8], %o7	ldub	[%l2], %g3	b	L11	stb	%g3, [%o7]L65:	bne	L67	cmp	%g3, 4	ld	[%i0+8], %o7	lduh	[%l2], %g3	b	L11	sth	%g3, [%o7]L67:	bne	L69	cmp	%g3, 8	ld	[%i0+8], %o7	ld	[%l2], %g3	b	L11	st	%g3, [%o7]L69:	bne	L71	add	%g3, 3, %g3	ld	[%l2], %g3	ld	[%i0+8], %o7	st	%g3, [%o7]	ld	[%i0+8], %l0	ld	[%l2+4], %g3	b	L11	st	%g3, [%l0+4]L71:	srl	%g3, 2, %l1	addcc	%l1, -1, %l1	bneg	L11	sll	%l1, 2, %l0L75:	ld	[%l0+%l2], %o7	addcc	%l1, -1, %l1	ld	[%i0+8], %g3	st	%o7, [%g3+%l0]	bpos	L75	add	%l0, -4, %l0	b,a	L11L64:	be	L11	nop	ld	[%i0+16], %g3	cmp	%g3, 1	bne	L79	cmp	%g3, 2L85:	ld	[%i0+8], %g3	b	L11	stb	%l2, [%g3]L79:	bne	L81	cmp	%g3, 4L86:	ld	[%i0+8], %g3	b	L11	sth	%l2, [%g3]L81:	bne	L11	nopL84:	ld	[%i0+8], %g3L90:	st	%l2, [%g3]L11:	ret	restore %g0, 0, %o0

⌨️ 快捷键说明

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