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

📄 quicksort-mips-gcc346.s

📁 编译器mips版后端
💻 S
字号:
	.file	1 "quicksort.c"
	#.section .mdebug.abi32
	.previous
	.abicalls
	.globl	i
	.data
	.align	2
	.type	i, @object
	.size	i, 4
i:
	.word	1
	.globl	data
	.align	2
	.type	data, @object
	.size	data, 40
data:
	.word	123
	.word	52
	.word	8
	.word	74
	.word	62
	.word	74
	.word	55
	.word	44
	.word	74
	.word	80
	.rdata
	.align	2
$LC0:
	.ascii	"\n"
	.ascii	"    Member \000"
	.align	2
$LC1:
	.ascii	"%s\000"
	.align	2
$LC2:
	.ascii	"%d\000"
	.align	2
$LC3:
	.ascii	" is \000"
	.text
	.align	2
	.globl	printArray
	.ent	printArray
	.type	printArray, @function
printArray:
	.frame	$fp,40,$31		# vars= 8, regs= 2/0, args= 16, gp= 8
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	reorder
	addiu	$sp,$sp,-40
	sw	$31,36($sp)
	sw	$fp,32($sp)
	move	$fp,$sp
	.cprestore	16
	sw	$4,40($fp)
	sw	$0,24($fp)
	la	$2,$LC0
	sw	$2,28($fp)
$L2:
	lw	$2,24($fp)
	slt	$2,$2,10
	beq	$2,$0,$L1
	la	$4,$LC1
	lw	$5,28($fp)
	jal	printf
	la	$4,$LC2
	lw	$5,24($fp)
	jal	printf
	la	$4,$LC3
	jal	printf
	lw	$2,24($fp)
	sll	$3,$2,2
	lw	$2,40($fp)
	addu	$2,$3,$2
	la	$4,$LC2
	lw	$5,0($2)
	jal	printf
	lw	$2,24($fp)
	addiu	$2,$2,1
	sw	$2,24($fp)
	b	$L2
$L1:
	move	$sp,$fp
	lw	$31,36($sp)
	lw	$fp,32($sp)
	addiu	$sp,$sp,40
	j	$31
	.end	printArray
	.align	2
	.globl	partition
	.ent	partition
	.type	partition, @function
partition:
	.frame	$fp,32,$31		# vars= 16, regs= 1/0, args= 0, gp= 8
	.mask	0x40000000,-8
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	reorder
	addiu	$sp,$sp,-32
	sw	$fp,24($sp)
	move	$fp,$sp
	sw	$4,32($fp)
	sw	$5,36($fp)
	sw	$6,40($fp)
	lw	$2,36($fp)
	sll	$3,$2,2
	lw	$2,32($fp)
	addu	$2,$3,$2
	lw	$2,0($2)
	sw	$2,8($fp)
	lw	$2,36($fp)
	sw	$2,12($fp)
	lw	$2,40($fp)
	sw	$2,16($fp)
$L5:
	lw	$2,12($fp)
	lw	$3,16($fp)
	slt	$2,$2,$3
	beq	$2,$0,$L6
$L7:
	lw	$2,12($fp)
	lw	$3,16($fp)
	slt	$2,$2,$3
	beq	$2,$0,$L8
	lw	$2,16($fp)
	sll	$3,$2,2
	lw	$2,32($fp)
	addu	$2,$3,$2
	lw	$3,0($2)
	lw	$2,8($fp)
	slt	$2,$3,$2
	bne	$2,$0,$L8
	lw	$2,16($fp)
	addiu	$2,$2,-1
	sw	$2,16($fp)
	b	$L7
$L8:
	lw	$2,12($fp)
	sll	$3,$2,2
	lw	$2,32($fp)
	addu	$4,$3,$2
	lw	$2,16($fp)
	sll	$3,$2,2
	lw	$2,32($fp)
	addu	$2,$3,$2
	lw	$2,0($2)
	sw	$2,0($4)
$L9:
	lw	$2,12($fp)
	lw	$3,16($fp)
	slt	$2,$2,$3
	beq	$2,$0,$L10
	lw	$2,12($fp)
	sll	$3,$2,2
	lw	$2,32($fp)
	addu	$2,$3,$2
	lw	$3,0($2)
	lw	$2,8($fp)
	slt	$2,$2,$3
	bne	$2,$0,$L10
	lw	$2,12($fp)
	addiu	$2,$2,1
	sw	$2,12($fp)
	b	$L9
$L10:
	lw	$2,16($fp)
	sll	$3,$2,2
	lw	$2,32($fp)
	addu	$4,$3,$2
	lw	$2,12($fp)
	sll	$3,$2,2
	lw	$2,32($fp)
	addu	$2,$3,$2
	lw	$2,0($2)
	sw	$2,0($4)
	b	$L5
$L6:
	lw	$2,12($fp)
	sll	$3,$2,2
	lw	$2,32($fp)
	addu	$3,$3,$2
	lw	$2,8($fp)
	sw	$2,0($3)
	lw	$2,12($fp)
	move	$sp,$fp
	lw	$fp,24($sp)
	addiu	$sp,$sp,32
	j	$31
	.end	partition
	.rdata
	.align	2
$LC4:
	.ascii	"Please input 10 integers to be sorted.\n\000"
	.text
	.align	2
	.globl	readArray
	.ent	readArray
	.type	readArray, @function
readArray:
	.frame	$fp,40,$31		# vars= 8, regs= 2/0, args= 16, gp= 8
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	reorder
	addiu	$sp,$sp,-40
	sw	$31,36($sp)
	sw	$fp,32($sp)
	move	$fp,$sp
	.cprestore	16
	sw	$0,24($fp)
	la	$4,$LC4
	jal	printf
$L12:
	lw	$2,24($fp)
	slt	$2,$2,10
	beq	$2,$0,$L11
	lw	$2,24($fp)
	sll	$3,$2,2
	la	$2,data
	addu	$2,$3,$2
	la	$4,$LC2
	move	$5,$2
	jal	scanf
	lw	$2,24($fp)
	addiu	$2,$2,1
	sw	$2,24($fp)
	b	$L12
$L11:
	move	$sp,$fp
	lw	$31,36($sp)
	lw	$fp,32($sp)
	addiu	$sp,$sp,40
	j	$31
	.end	readArray
	.align	2
	.globl	qsort
	.ent	qsort
	.type	qsort, @function
qsort:
	.frame	$fp,40,$31		# vars= 8, regs= 2/0, args= 16, gp= 8
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	reorder
	addiu	$sp,$sp,-40
	sw	$31,36($sp)
	sw	$fp,32($sp)
	move	$fp,$sp
	.cprestore	16
	sw	$4,40($fp)
	sw	$5,44($fp)
	sw	$6,48($fp)
	lw	$2,44($fp)
	lw	$3,48($fp)
	slt	$2,$2,$3
	bne	$2,$0,$L15
	b	$L14
$L15:
	lw	$4,40($fp)
	lw	$5,44($fp)
	lw	$6,48($fp)
	jal	partition
	sw	$2,24($fp)
	lw	$2,24($fp)
	addiu	$2,$2,-1
	lw	$4,40($fp)
	lw	$5,44($fp)
	move	$6,$2
	jal	qsort
	lw	$2,24($fp)
	addiu	$2,$2,1
	lw	$4,40($fp)
	move	$5,$2
	lw	$6,48($fp)
	jal	qsort
$L14:
	move	$sp,$fp
	lw	$31,36($sp)
	lw	$fp,32($sp)
	addiu	$sp,$sp,40
	j	$31
	.end	qsort
	.rdata
	.align	2
$LC5:
	.ascii	"\n"
	.ascii	"Continue? 1-yes, 0-no: \000"
	.align	2
$LC6:
	.ascii	"\n"
	.ascii	"Executing No.\000"
	.align	2
$LC7:
	.ascii	" quicksort:\n"
	.ascii	"  Before sorting:\000"
	.align	2
$LC8:
	.ascii	"\n"
	.ascii	"  After sorting:\000"
	.text
	.align	2
	.globl	main
	.ent	main
	.type	main, @function
main:
	.frame	$fp,40,$31		# vars= 8, regs= 2/0, args= 16, gp= 8
	.mask	0xc0000000,-4
	.fmask	0x00000000,0
	.set	noreorder
	.cpload	$25
	.set	reorder
	addiu	$sp,$sp,-40
	sw	$31,36($sp)
	sw	$fp,32($sp)
	move	$fp,$sp
	.cprestore	16
$L17:
	la	$2,i
	lw	$2,0($2)
	slt	$2,$2,2
	bne	$2,$0,$L19
	la	$4,$LC5
	jal	printf
	la	$4,$LC2
	addiu	$5,$fp,24
	jal	scanf
	lw	$2,24($fp)
	bne	$2,$0,$L20
	b	$L16
$L20:
	lw	$3,24($fp)
	li	$2,1			# 0x1
	beq	$3,$2,$L21
	b	$L17
$L21:
	jal	readArray
$L19:
	la	$4,$LC6
	jal	printf
	la	$2,i
	la	$4,$LC2
	lw	$5,0($2)
	jal	printf
	la	$4,$LC7
	jal	printf
	la	$4,data
	jal	printArray
	la	$4,data
	move	$5,$0
	li	$6,9			# 0x9
	jal	qsort
	la	$4,$LC8
	jal	printf
	la	$4,data
	jal	printArray
	la	$3,i
	la	$2,i
	lw	$2,0($2)
	addiu	$2,$2,1
	sw	$2,0($3)
	b	$L17
$L16:
	move	$sp,$fp
	lw	$31,36($sp)
	lw	$fp,32($sp)
	addiu	$sp,$sp,40
	j	$31
	.end	main
	.ident	"GCC: (GNU) 3.4.6 ()"

⌨️ 快捷键说明

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