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

📄 12-huge.s

📁 用Java实现的编译器。把源代码编译成SPARC汇编程序
💻 S
📖 第 1 页 / 共 4 页
字号:
	! Loading parameter <- Ri:  	! Load instruction for the location identifier:  l	ld	[%fp-16], %l0	add	%i4, %l0, %l1	! Load instruction for the location identifier:  i	ld	[%fp-4], %l0	sub	%l1, %l0, %l2	!Location id store instruction for stmt location:   t = expression	st	%l2, [%fp-48]	! Load instruction for the location identifier:  t	ld	[%fp-48], %l0	! Load instruction for the location identifier:  j	ld	[%fp-8], %l1	add	%l0, %l1, %l2	! Load instruction for the location identifier:  o	ld	[%fp-28], %l0	add	%l2, %l0, %l1	!Location id store instruction for stmt location:   a1 = expression	st	%l1, [%fp-76]	! Load instruction for the location identifier:  t	ld	[%fp-48], %l0	! Load instruction for the location identifier:  a1	ld	[%fp-76], %l1	sub	%l0, %l1, %l2	! Load instruction for the location identifier:  m	ld	[%fp-20], %l0	add	%l2, %l0, %l1	! Load instruction for the location identifier:  j	ld	[%fp-8], %l0	sub	%l1, %l0, %l2	!Location id store instruction for stmt location:   r = expression	st	%l2, [%fp-40]	! Load instruction for the location identifier:  l	ld	[%fp-16], %l0	! Load instruction for the location identifier:  a1	ld	[%fp-76], %l1	add	%l0, %l1, %l2	! Load instruction for the location identifier:  t	ld	[%fp-48], %l0	! Load instruction for the location identifier:  q	ld	[%fp-36], %l1	! Load instruction for the parameter identifier: no need to load  f	! Loading parameter <- Ri:  	add	%l1, %i5, %l3	sub	%l0, %l3, %l1	add	%l2, %l1, %l0	!Location id store instruction for stmt location:   v = expression	st	%l0, [%fp-56]	! Load instruction for the parameter identifier: no need to load  g	! Loading parameter <- fp%+offset:  	ld	[%fp+92], %l0	cmp	%g0, %l0	be	.False16	nop	! Move instruction for the int literal:  3	mov	3, %l0	!Location id store instruction for stmt location:   w = expression	st	%l0, [%fp-60]	b	.End16	nop.False16:	! Move instruction for the int literal:  -1	mov	-1, %l0	!Location id store instruction for stmt location:   w = expression	st	%l0, [%fp-60].End16:	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg17), %g1	or	%g1, %lo(.CalloutArg17), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	! Move instruction for the int literal:  99	mov	99, %l0	! Load instruction for the location identifier:  n	ld	[%fp-24], %l1	add	%l0, %l1, %l2	! Load instruction for the parameter identifier: no need to load  e	! Loading parameter <- Ri:  	sub	%l2, %i4, %l0	! Load instruction for the location identifier:  t	ld	[%fp-48], %l1	add	%l0, %l1, %l2	!Location id store instruction for stmt location:   u = expression	st	%l2, [%fp-52]	! Load instruction for the parameter identifier: no need to load  e	! Loading parameter <- Ri:  	! Load instruction for the location identifier:  s	ld	[%fp-44], %l0	sub	%i4, %l0, %l1	! Load instruction for the location identifier:  n	ld	[%fp-24], %l0	add	%l1, %l0, %l2	! Load instruction for the location identifier:  o	ld	[%fp-28], %l0	add	%l2, %l0, %l1	! Load instruction for the location identifier:  m	ld	[%fp-20], %l0	add	%l1, %l0, %l2	! Load instruction for the parameter identifier: no need to load  e	! Loading parameter <- Ri:  	sub	%l2, %i4, %l0	! Load instruction for the parameter identifier: no need to load  b	! Loading parameter <- Ri:  	add	%l0, %i1, %l1	! Load instruction for the parameter identifier: no need to load  b	! Loading parameter <- Ri:  	sub	%l1, %i1, %l0	! Load instruction for the parameter identifier: no need to load  e	! Loading parameter <- Ri:  	add	%l0, %i4, %l1	!Location id store instruction for stmt location:   y = expression	st	%l1, [%fp-68]	! Load instruction for the location identifier:  a1	ld	[%fp-76], %l0	! Load instruction for the location identifier:  t	ld	[%fp-48], %l1	add	%l0, %l1, %l2	! Load instruction for the location identifier:  n	ld	[%fp-24], %l0	sub	%l2, %l0, %l1	! Load instruction for the location identifier:  t	ld	[%fp-48], %l0	sub	%l1, %l0, %l2	!Location id store instruction for stmt location:   a2 = expression	st	%l2, [%fp-80]	! Load instruction for the parameter identifier: no need to load  h	! Loading parameter <- fp%+offset:  	ld	[%fp+96], %l0	! Load instruction for the parameter identifier: no need to load  f	! Loading parameter <- Ri:  	add	%l0, %i5, %l1	! Load instruction for the parameter identifier: no need to load  d	! Loading parameter <- Ri:  	add	%l1, %i3, %l0	! Load instruction for the parameter identifier: no need to load  e	! Loading parameter <- Ri:  	sub	%l0, %i4, %l1	!Location id store instruction for stmt location:   a4 = expression	st	%l1, [%fp-88]	! Load instruction for the location identifier:  w	ld	[%fp-60], %l0	! Move instruction for the int literal:  -1	mov	-1, %l1	cmp	%l0, %l1	be	.True19	nop	mov	0, %l2	b	.End19	nop.True19:	mov	1, %l2.End19:	cmp	%g0, %l2	be	.False18	nop	! Load instruction for the location identifier:  a2	ld	[%fp-80], %l0	! Load instruction for the location identifier:  a4	ld	[%fp-88], %l1	add	%l0, %l1, %l2	!Location id store instruction for stmt location:   a3 = expression	st	%l2, [%fp-84]	b	.End18	nop.False18:	! Load instruction for the location identifier:  a4	ld	[%fp-88], %l0	! Load instruction for the location identifier:  a2	ld	[%fp-80], %l1	sub	%l0, %l1, %l2	!Location id store instruction for stmt location:   a3 = expression	st	%l2, [%fp-84].End18:	! Load instruction for the location identifier:  u	ld	[%fp-52], %l0	! Load instruction for the location identifier:  v	ld	[%fp-56], %l1	sub	%l0, %l1, %l2	! Load instruction for the location identifier:  w	ld	[%fp-60], %l0	add	%l2, %l0, %l1	!Location id store instruction for stmt location:   z = expression	st	%l1, [%fp-72]	! Move instruction for the int literal:  42	mov	42, %l0	! Load instruction for the location identifier:  z	ld	[%fp-72], %l1	sub	%l0, %l1, %l2	!Location id store instruction for stmt location:   p = expression	st	%l2, [%fp-32]	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg20), %g1	or	%g1, %lo(.CalloutArg20), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg21), %g1	or	%g1, %lo(.CalloutArg21), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Load instruction for the parameter identifier: no need to load  a	! Loading parameter <- Ri:  	! Load instruction for the location identifier:  i	ld	[%fp-4], %l0	sub	%i0, %l0, %l1	! Load instruction for the parameter identifier: no need to load  d	! Loading parameter <- Ri:  	add	%l1, %i3, %l0	! Load instruction for the location identifier:  j	ld	[%fp-8], %l1	add	%l0, %l1, %l2	! Load instruction for the parameter identifier: no need to load  e	! Loading parameter <- Ri:  	sub	%l2, %i4, %l0	! Load instruction for the parameter identifier: no need to load  f	! Loading parameter <- Ri:  	sub	%l0, %i5, %l1	! Load instruction for the location identifier:  l	ld	[%fp-16], %l0	add	%l1, %l0, %l2	! Load instruction for the location identifier:  m	ld	[%fp-20], %l0	add	%l2, %l0, %l1	! Preparing parameter -> sp%+offset:  	st	%l1, [%sp+96]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	! Preparing parameter -> Ro:  	ld	[%sp+96], %o1	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg22), %g1	or	%g1, %lo(.CalloutArg22), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg23), %g1	or	%g1, %lo(.CalloutArg23), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Load instruction for the parameter identifier: no need to load  b	! Loading parameter <- Ri:  	! Load instruction for the location identifier:  k	ld	[%fp-12], %l0	sub	%i1, %l0, %l1	! Load instruction for the parameter identifier: no need to load  h	! Loading parameter <- fp%+offset:  	ld	[%fp+96], %l0	sub	%l1, %l0, %l2	! Load instruction for the location identifier:  n	ld	[%fp-24], %l0	add	%l2, %l0, %l1	! Load instruction for the location identifier:  o	ld	[%fp-28], %l0	add	%l1, %l0, %l2	! Load instruction for the location identifier:  q	ld	[%fp-36], %l0	add	%l2, %l0, %l1	! Load instruction for the location identifier:  r	ld	[%fp-40], %l0	sub	%l1, %l0, %l2	! Load instruction for the location identifier:  a2	ld	[%fp-80], %l0	sub	%l2, %l0, %l1	! Preparing parameter -> sp%+offset:  	st	%l1, [%sp+96]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	! Preparing parameter -> Ro:  	ld	[%sp+96], %o1	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg24), %g1	or	%g1, %lo(.CalloutArg24), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg25), %g1	or	%g1, %lo(.CalloutArg25), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Load instruction for the location identifier:  a4	ld	[%fp-88], %l0	! Load instruction for the location identifier:  s	ld	[%fp-44], %l1	add	%l0, %l1, %l2	! Load instruction for the location identifier:  t	ld	[%fp-48], %l0	sub	%l2, %l0, %l1	! Load instruction for the location identifier:  z	ld	[%fp-72], %l0	add	%l1, %l0, %l2	! Load instruction for the location identifier:  y	ld	[%fp-68], %l0	sub	%l2, %l0, %l1	! Load instruction for the location identifier:  x	ld	[%fp-64], %l0	add	%l1, %l0, %l2	! Load instruction for the location identifier:  w	ld	[%fp-60], %l0	add	%l2, %l0, %l1	! Load instruction for the location identifier:  a3	ld	[%fp-84], %l0	sub	%l1, %l0, %l2	! Preparing parameter -> sp%+offset:  	st	%l2, [%sp+96]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	! Preparing parameter -> Ro:  	ld	[%sp+96], %o1	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg26), %g1	or	%g1, %lo(.CalloutArg26), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	! Load instruction for the parameter identifier: no need to load  c	! Loading parameter <- Ri:  	cmp	%g0, %i2	be	.False27	nop	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg28), %g1	or	%g1, %lo(.CalloutArg28), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Load instruction for the location identifier:  p	ld	[%fp-32], %l0	! Load instruction for the location identifier:  u	ld	[%fp-52], %l1	add	%l0, %l1, %l2	! Load instruction for the location identifier:  v	ld	[%fp-56], %l0	sub	%l2, %l0, %l1	! Load instruction for the location identifier:  a1	ld	[%fp-76], %l0	add	%l1, %l0, %l2	! Preparing parameter -> sp%+offset:  	st	%l2, [%sp+96]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	! Preparing parameter -> Ro:  	ld	[%sp+96], %o1	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	b	.End27	nop.False27:	! Load instruction for the parameter identifier: no need to load  g	! Loading parameter <- fp%+offset:  	ld	[%fp+92], %l0	cmp	%g0, %l0	be	.False29	nop	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg30), %g1	or	%g1, %lo(.CalloutArg30), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Load instruction for the location identifier:  u	ld	[%fp-52], %l0	! Load instruction for the location identifier:  v	ld	[%fp-56], %l1	sub	%l0, %l1, %l2	! Load instruction for the location identifier:  a1	ld	[%fp-76], %l0	add	%l2, %l0, %l1	! Load instruction for the location identifier:  p	ld	[%fp-32], %l0	sub	%l1, %l0, %l2	! Preparing parameter -> sp%+offset:  	st	%l2, [%sp+96]	! Preparing parameter -> Ro:  	ld	[%sp+92], %o0	! Preparing parameter -> Ro:  	ld	[%sp+96], %o1	call	printf,0	nop	mov	%o0, %l0	mov	8, %g3	add	%sp, %g3, %sp	b	.End29	nop.False29:	mov	8, %g3	sub	%sp, %g3, %sp	sethi	%hi(.CalloutArg31), %g1	or	%g1, %lo(.CalloutArg31), %g1	! Preparing parameter -> sp% + offset:  	st	%g1, [%sp+92]	! Load instruction for the location identifier:  a1	ld	[%fp-76], %l0	! Load instruction for the location identifier:  v	ld	[%fp-56], %l1	add	%l0, %l1, %l2	! Load instruction for the location identifier:  p

⌨️ 快捷键说明

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