arm64函数参数

#include <execinfo.h>
#include <ucontext.h>
#include <dlfcn.h>
#include <signal.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
 
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include<sys/wait.h>
#include <string.h>
#include <errno.h>
#include <linux/ptp_clock.h>
#include <time.h>
#include<fcntl.h>
 
#include <pthread.h>
#include <semaphore.h>
 
 
int cc5(long long  a, long long b,long long c,long long d,long long e,long long f,long long c1,long long c2,long long c3,long long c4,long long c5,long long c6,long long c7,long long c8,long long c9,long long c10){
	printf("%lld %lld %d %d %d %d %d %d %d %d %d %d %d %lld %d %lld\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
	return 0;
}
 
int cc4(int a, int b,long long c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
	printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
	return 0;
}
 
int cc3(int a, int b,int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
	printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
	cc4(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
	return 0;
}
 
int cc2(int a, int b,	int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
	printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
	cc3(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
	return 0;
}
 
int cc1(int a, int b,int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
	printf("%lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
	cc2(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
	return 0;
}
 
 
int main(int argc, char **argv)
{
	printf("%s\n", __func__);
	cc5(0x11111111111111,0x22222222222222,0x33333333333333,0x4444444444444,0x55555555555555,0x66666666666666
	,0x77777777777777,0x88888888888888,0x99999999999999,0xaaaaaaaaaaaaa,0xbbbbbbbbbbbbb,0xccccccccccccccc,0xdddddddddddddd,0xeeeeeeeeeeeeee,0xffffffffffffff,0xeeeeeeeeeeeeee);
	cc1(1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10);
	
}

a.out:     file format elf64-littleaarch64


Disassembly of section .init:

0000000000400480 <_init>:
  400480:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400484:	910003fd 	mov	x29, sp
  400488:	94000033 	bl	400554 <call_weak_fn>
  40048c:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400490:	d65f03c0 	ret

Disassembly of section .plt:

00000000004004a0 <.plt>:
  4004a0:	a9bf7bf0 	stp	x16, x30, [sp, #-16]!
  4004a4:	b0000090 	adrp	x16, 411000 <__FRAME_END__+0x10090>
  4004a8:	f947fe11 	ldr	x17, [x16, #4088]
  4004ac:	913fe210 	add	x16, x16, #0xff8
  4004b0:	d61f0220 	br	x17
  4004b4:	d503201f 	nop
  4004b8:	d503201f 	nop
  4004bc:	d503201f 	nop

00000000004004c0 <__libc_start_main@plt>:
  4004c0:	d0000090 	adrp	x16, 412000 <__libc_start_main@GLIBC_2.17>
  4004c4:	f9400211 	ldr	x17, [x16]
  4004c8:	91000210 	add	x16, x16, #0x0
  4004cc:	d61f0220 	br	x17

00000000004004d0 <__gmon_start__@plt>:
  4004d0:	d0000090 	adrp	x16, 412000 <__libc_start_main@GLIBC_2.17>
  4004d4:	f9400611 	ldr	x17, [x16, #8]
  4004d8:	91002210 	add	x16, x16, #0x8
  4004dc:	d61f0220 	br	x17

00000000004004e0 <abort@plt>:
  4004e0:	d0000090 	adrp	x16, 412000 <__libc_start_main@GLIBC_2.17>
  4004e4:	f9400a11 	ldr	x17, [x16, #16]
  4004e8:	91004210 	add	x16, x16, #0x10
  4004ec:	d61f0220 	br	x17

00000000004004f0 <puts@plt>:
  4004f0:	d0000090 	adrp	x16, 412000 <__libc_start_main@GLIBC_2.17>
  4004f4:	f9400e11 	ldr	x17, [x16, #24]
  4004f8:	91006210 	add	x16, x16, #0x18
  4004fc:	d61f0220 	br	x17

0000000000400500 <printf@plt>:
  400500:	d0000090 	adrp	x16, 412000 <__libc_start_main@GLIBC_2.17>
  400504:	f9401211 	ldr	x17, [x16, #32]
  400508:	91008210 	add	x16, x16, #0x20
  40050c:	d61f0220 	br	x17

Disassembly of section .text:

0000000000400510 <_start>:
  400510:	d280001d 	mov	x29, #0x0                   	// #0
  400514:	d280001e 	mov	x30, #0x0                   	// #0
  400518:	aa0003e5 	mov	x5, x0
  40051c:	f94003e1 	ldr	x1, [sp]
  400520:	910023e2 	add	x2, sp, #0x8
  400524:	910003e6 	mov	x6, sp
  400528:	90000000 	adrp	x0, 400000 <_init-0x480>
  40052c:	91152000 	add	x0, x0, #0x548
  400530:	90000003 	adrp	x3, 400000 <_init-0x480>
  400534:	912f8063 	add	x3, x3, #0xbe0
  400538:	90000004 	adrp	x4, 400000 <_init-0x480>
  40053c:	91318084 	add	x4, x4, #0xc60
  400540:	97ffffe0 	bl	4004c0 <__libc_start_main@plt>
  400544:	97ffffe7 	bl	4004e0 <abort@plt>

0000000000400548 <__wrap_main>:
  400548:	14000156 	b	400aa0 <main>
  40054c:	d503201f 	nop

0000000000400550 <_dl_relocate_static_pie>:
  400550:	d65f03c0 	ret

0000000000400554 <call_weak_fn>:
  400554:	b0000080 	adrp	x0, 411000 <__FRAME_END__+0x10090>
  400558:	f947f000 	ldr	x0, [x0, #4064]
  40055c:	b4000040 	cbz	x0, 400564 <call_weak_fn+0x10>
  400560:	17ffffdc 	b	4004d0 <__gmon_start__@plt>
  400564:	d65f03c0 	ret
  400568:	d503201f 	nop
  40056c:	d503201f 	nop

0000000000400570 <deregister_tm_clones>:
  400570:	d0000080 	adrp	x0, 412000 <__libc_start_main@GLIBC_2.17>
  400574:	9100e000 	add	x0, x0, #0x38
  400578:	d0000081 	adrp	x1, 412000 <__libc_start_main@GLIBC_2.17>
  40057c:	9100e021 	add	x1, x1, #0x38
  400580:	eb00003f 	cmp	x1, x0
  400584:	540000c0 	b.eq	40059c <deregister_tm_clones+0x2c>  // b.none
  400588:	90000001 	adrp	x1, 400000 <_init-0x480>
  40058c:	f9464021 	ldr	x1, [x1, #3200]
  400590:	b4000061 	cbz	x1, 40059c <deregister_tm_clones+0x2c>
  400594:	aa0103f0 	mov	x16, x1
  400598:	d61f0200 	br	x16
  40059c:	d65f03c0 	ret

00000000004005a0 <register_tm_clones>:
  4005a0:	d0000080 	adrp	x0, 412000 <__libc_start_main@GLIBC_2.17>
  4005a4:	9100e000 	add	x0, x0, #0x38
  4005a8:	d0000081 	adrp	x1, 412000 <__libc_start_main@GLIBC_2.17>
  4005ac:	9100e021 	add	x1, x1, #0x38
  4005b0:	cb000021 	sub	x1, x1, x0
  4005b4:	d37ffc22 	lsr	x2, x1, #63
  4005b8:	8b810c41 	add	x1, x2, x1, asr #3
  4005bc:	9341fc21 	asr	x1, x1, #1
  4005c0:	b40000c1 	cbz	x1, 4005d8 <register_tm_clones+0x38>
  4005c4:	90000002 	adrp	x2, 400000 <_init-0x480>
  4005c8:	f9464442 	ldr	x2, [x2, #3208]
  4005cc:	b4000062 	cbz	x2, 4005d8 <register_tm_clones+0x38>
  4005d0:	aa0203f0 	mov	x16, x2
  4005d4:	d61f0200 	br	x16
  4005d8:	d65f03c0 	ret
  4005dc:	d503201f 	nop

00000000004005e0 <__do_global_dtors_aux>:
  4005e0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  4005e4:	910003fd 	mov	x29, sp
  4005e8:	f9000bf3 	str	x19, [sp, #16]
  4005ec:	d0000093 	adrp	x19, 412000 <__libc_start_main@GLIBC_2.17>
  4005f0:	3940e260 	ldrb	w0, [x19, #56]
  4005f4:	35000080 	cbnz	w0, 400604 <__do_global_dtors_aux+0x24>
  4005f8:	97ffffde 	bl	400570 <deregister_tm_clones>
  4005fc:	52800020 	mov	w0, #0x1                   	// #1
  400600:	3900e260 	strb	w0, [x19, #56]
  400604:	f9400bf3 	ldr	x19, [sp, #16]
  400608:	a8c27bfd 	ldp	x29, x30, [sp], #32
  40060c:	d65f03c0 	ret

0000000000400610 <frame_dummy>:
  400610:	17ffffe4 	b	4005a0 <register_tm_clones>

0000000000400614 <cc5>:
 
#include <pthread.h>
#include <semaphore.h>
 
 
int cc5(long long  a, long long b,long long c,long long d,long long e,long long f,long long c1,long long c2,long long c3,long long c4,long long c5,long long c6,long long c7,long long c8,long long c9,long long c10){
  400614:	d10283ff 	sub	sp, sp, #0xa0
  400618:	a9057bfd 	stp	x29, x30, [sp, #80]
  40061c:	910143fd 	add	x29, sp, #0x50
  400620:	f9004fe0 	str	x0, [sp, #152]
  400624:	f9004be1 	str	x1, [sp, #144]
  400628:	f90047e2 	str	x2, [sp, #136]
  40062c:	f90043e3 	str	x3, [sp, #128]
  400630:	f9003fe4 	str	x4, [sp, #120]
  400634:	f9003be5 	str	x5, [sp, #112]
  400638:	f90037e6 	str	x6, [sp, #104]
  40063c:	f90033e7 	str	x7, [sp, #96]
	printf("%lld %lld %d %d %d %d %d %d %d %d %d %d %d %lld %d %lld\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
  400640:	f9406fe0 	ldr	x0, [sp, #216]
  400644:	f90023e0 	str	x0, [sp, #64]
  400648:	f9406be0 	ldr	x0, [sp, #208]
  40064c:	f9001fe0 	str	x0, [sp, #56]
  400650:	f94067e0 	ldr	x0, [sp, #200]
  400654:	f9001be0 	str	x0, [sp, #48]
  400658:	f94063e0 	ldr	x0, [sp, #192]
  40065c:	f90017e0 	str	x0, [sp, #40]
  400660:	f9405fe0 	ldr	x0, [sp, #184]
  400664:	f90013e0 	str	x0, [sp, #32]
  400668:	f9405be0 	ldr	x0, [sp, #176]
  40066c:	f9000fe0 	str	x0, [sp, #24]
  400670:	f94057e0 	ldr	x0, [sp, #168]
  400674:	f9000be0 	str	x0, [sp, #16]
  400678:	f94053e0 	ldr	x0, [sp, #160]
  40067c:	f90007e0 	str	x0, [sp, #8]
  400680:	f94033e0 	ldr	x0, [sp, #96]
  400684:	f90003e0 	str	x0, [sp]
  400688:	f94037e7 	ldr	x7, [sp, #104]
  40068c:	f9403be6 	ldr	x6, [sp, #112]
  400690:	f9403fe5 	ldr	x5, [sp, #120]
  400694:	f94043e4 	ldr	x4, [sp, #128]
  400698:	f94047e3 	ldr	x3, [sp, #136]
  40069c:	f9404be2 	ldr	x2, [sp, #144]
  4006a0:	f9404fe1 	ldr	x1, [sp, #152]
  4006a4:	90000000 	adrp	x0, 400000 <_init-0x480>
  4006a8:	91324000 	add	x0, x0, #0xc90
  4006ac:	97ffff95 	bl	400500 <printf@plt>
	return 0;
  4006b0:	52800000 	mov	w0, #0x0                   	// #0
}
  4006b4:	a9457bfd 	ldp	x29, x30, [sp, #80]
  4006b8:	910283ff 	add	sp, sp, #0xa0
  4006bc:	d65f03c0 	ret

00000000004006c0 <cc4>:
 
int cc4(int a, int b,long long c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
  4006c0:	d10243ff 	sub	sp, sp, #0x90
  4006c4:	a9057bfd 	stp	x29, x30, [sp, #80]
  4006c8:	910143fd 	add	x29, sp, #0x50
  4006cc:	b9008fe0 	str	w0, [sp, #140]
  4006d0:	b9008be1 	str	w1, [sp, #136]
  4006d4:	f90043e2 	str	x2, [sp, #128]
  4006d8:	b9007fe3 	str	w3, [sp, #124]
  4006dc:	b9007be4 	str	w4, [sp, #120]
  4006e0:	b90077e5 	str	w5, [sp, #116]
  4006e4:	b90073e6 	str	w6, [sp, #112]
  4006e8:	b9006fe7 	str	w7, [sp, #108]
	printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
  4006ec:	b940cbe0 	ldr	w0, [sp, #200]
  4006f0:	b90043e0 	str	w0, [sp, #64]
  4006f4:	b940c3e0 	ldr	w0, [sp, #192]
  4006f8:	b9003be0 	str	w0, [sp, #56]
  4006fc:	b940bbe0 	ldr	w0, [sp, #184]
  400700:	b90033e0 	str	w0, [sp, #48]
  400704:	b940b3e0 	ldr	w0, [sp, #176]
  400708:	b9002be0 	str	w0, [sp, #40]
  40070c:	b940abe0 	ldr	w0, [sp, #168]
  400710:	b90023e0 	str	w0, [sp, #32]
  400714:	b940a3e0 	ldr	w0, [sp, #160]
  400718:	b9001be0 	str	w0, [sp, #24]
  40071c:	b9409be0 	ldr	w0, [sp, #152]
  400720:	b90013e0 	str	w0, [sp, #16]
  400724:	b94093e0 	ldr	w0, [sp, #144]
  400728:	b9000be0 	str	w0, [sp, #8]
  40072c:	b9406fe0 	ldr	w0, [sp, #108]
  400730:	b90003e0 	str	w0, [sp]
  400734:	b94073e7 	ldr	w7, [sp, #112]
  400738:	b94077e6 	ldr	w6, [sp, #116]
  40073c:	b9407be5 	ldr	w5, [sp, #120]
  400740:	b9407fe4 	ldr	w4, [sp, #124]
  400744:	f94043e3 	ldr	x3, [sp, #128]
  400748:	b9408be2 	ldr	w2, [sp, #136]
  40074c:	b9408fe1 	ldr	w1, [sp, #140]
  400750:	90000000 	adrp	x0, 400000 <_init-0x480>
  400754:	91334000 	add	x0, x0, #0xcd0
  400758:	97ffff6a 	bl	400500 <printf@plt>
	return 0;
  40075c:	52800000 	mov	w0, #0x0                   	// #0
}
  400760:	a9457bfd 	ldp	x29, x30, [sp, #80]
  400764:	910243ff 	add	sp, sp, #0x90
  400768:	d65f03c0 	ret

000000000040076c <cc3>:
 
int cc3(int a, int b,int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
  40076c:	d10203ff 	sub	sp, sp, #0x80
  400770:	a9057bfd 	stp	x29, x30, [sp, #80]
  400774:	910143fd 	add	x29, sp, #0x50
  400778:	b9007fe0 	str	w0, [sp, #124]
  40077c:	b9007be1 	str	w1, [sp, #120]
  400780:	b90077e2 	str	w2, [sp, #116]
  400784:	b90073e3 	str	w3, [sp, #112]
  400788:	b9006fe4 	str	w4, [sp, #108]
  40078c:	b9006be5 	str	w5, [sp, #104]
  400790:	b90067e6 	str	w6, [sp, #100]
  400794:	b90063e7 	str	w7, [sp, #96]
	printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
  400798:	b940bbe0 	ldr	w0, [sp, #184]
  40079c:	b90043e0 	str	w0, [sp, #64]
  4007a0:	b940b3e0 	ldr	w0, [sp, #176]
  4007a4:	b9003be0 	str	w0, [sp, #56]
  4007a8:	b940abe0 	ldr	w0, [sp, #168]
  4007ac:	b90033e0 	str	w0, [sp, #48]
  4007b0:	b940a3e0 	ldr	w0, [sp, #160]
  4007b4:	b9002be0 	str	w0, [sp, #40]
  4007b8:	b9409be0 	ldr	w0, [sp, #152]
  4007bc:	b90023e0 	str	w0, [sp, #32]
  4007c0:	b94093e0 	ldr	w0, [sp, #144]
  4007c4:	b9001be0 	str	w0, [sp, #24]
  4007c8:	b9408be0 	ldr	w0, [sp, #136]
  4007cc:	b90013e0 	str	w0, [sp, #16]
  4007d0:	b94083e0 	ldr	w0, [sp, #128]
  4007d4:	b9000be0 	str	w0, [sp, #8]
  4007d8:	b94063e0 	ldr	w0, [sp, #96]
  4007dc:	b90003e0 	str	w0, [sp]
  4007e0:	b94067e7 	ldr	w7, [sp, #100]
  4007e4:	b9406be6 	ldr	w6, [sp, #104]
  4007e8:	b9406fe5 	ldr	w5, [sp, #108]
  4007ec:	b94073e4 	ldr	w4, [sp, #112]
  4007f0:	b94077e3 	ldr	w3, [sp, #116]
  4007f4:	b9407be2 	ldr	w2, [sp, #120]
  4007f8:	b9407fe1 	ldr	w1, [sp, #124]
  4007fc:	90000000 	adrp	x0, 400000 <_init-0x480>
  400800:	91334000 	add	x0, x0, #0xcd0
  400804:	97ffff3f 	bl	400500 <printf@plt>
	cc4(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
  400808:	b98077e1 	ldrsw	x1, [sp, #116]
  40080c:	b940bbe0 	ldr	w0, [sp, #184]
  400810:	b9003be0 	str	w0, [sp, #56]
  400814:	b940b3e0 	ldr	w0, [sp, #176]
  400818:	b90033e0 	str	w0, [sp, #48]
  40081c:	b940abe0 	ldr	w0, [sp, #168]
  400820:	b9002be0 	str	w0, [sp, #40]
  400824:	b940a3e0 	ldr	w0, [sp, #160]
  400828:	b90023e0 	str	w0, [sp, #32]
  40082c:	b9409be0 	ldr	w0, [sp, #152]
  400830:	b9001be0 	str	w0, [sp, #24]
  400834:	b94093e0 	ldr	w0, [sp, #144]
  400838:	b90013e0 	str	w0, [sp, #16]
  40083c:	b9408be0 	ldr	w0, [sp, #136]
  400840:	b9000be0 	str	w0, [sp, #8]
  400844:	b94083e0 	ldr	w0, [sp, #128]
  400848:	b90003e0 	str	w0, [sp]
  40084c:	b94063e7 	ldr	w7, [sp, #96]
  400850:	b94067e6 	ldr	w6, [sp, #100]
  400854:	b9406be5 	ldr	w5, [sp, #104]
  400858:	b9406fe4 	ldr	w4, [sp, #108]
  40085c:	b94073e3 	ldr	w3, [sp, #112]
  400860:	aa0103e2 	mov	x2, x1
  400864:	b9407be1 	ldr	w1, [sp, #120]
  400868:	b9407fe0 	ldr	w0, [sp, #124]
  40086c:	97ffff95 	bl	4006c0 <cc4>
	return 0;
  400870:	52800000 	mov	w0, #0x0                   	// #0
}
  400874:	a9457bfd 	ldp	x29, x30, [sp, #80]
  400878:	910203ff 	add	sp, sp, #0x80
  40087c:	d65f03c0 	ret

0000000000400880 <cc2>:
 
int cc2(int a, int b,	int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
  400880:	d10203ff 	sub	sp, sp, #0x80
  400884:	a9057bfd 	stp	x29, x30, [sp, #80]
  400888:	910143fd 	add	x29, sp, #0x50
  40088c:	b9007fe0 	str	w0, [sp, #124]
  400890:	b9007be1 	str	w1, [sp, #120]
  400894:	b90077e2 	str	w2, [sp, #116]
  400898:	b90073e3 	str	w3, [sp, #112]
  40089c:	b9006fe4 	str	w4, [sp, #108]
  4008a0:	b9006be5 	str	w5, [sp, #104]
  4008a4:	b90067e6 	str	w6, [sp, #100]
  4008a8:	b90063e7 	str	w7, [sp, #96]
	printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
  4008ac:	b940bbe0 	ldr	w0, [sp, #184]
  4008b0:	b90043e0 	str	w0, [sp, #64]
  4008b4:	b940b3e0 	ldr	w0, [sp, #176]
  4008b8:	b9003be0 	str	w0, [sp, #56]
  4008bc:	b940abe0 	ldr	w0, [sp, #168]
  4008c0:	b90033e0 	str	w0, [sp, #48]
  4008c4:	b940a3e0 	ldr	w0, [sp, #160]
  4008c8:	b9002be0 	str	w0, [sp, #40]
  4008cc:	b9409be0 	ldr	w0, [sp, #152]
  4008d0:	b90023e0 	str	w0, [sp, #32]
  4008d4:	b94093e0 	ldr	w0, [sp, #144]
  4008d8:	b9001be0 	str	w0, [sp, #24]
  4008dc:	b9408be0 	ldr	w0, [sp, #136]
  4008e0:	b90013e0 	str	w0, [sp, #16]
  4008e4:	b94083e0 	ldr	w0, [sp, #128]
  4008e8:	b9000be0 	str	w0, [sp, #8]
  4008ec:	b94063e0 	ldr	w0, [sp, #96]
  4008f0:	b90003e0 	str	w0, [sp]
  4008f4:	b94067e7 	ldr	w7, [sp, #100]
  4008f8:	b9406be6 	ldr	w6, [sp, #104]
  4008fc:	b9406fe5 	ldr	w5, [sp, #108]
  400900:	b94073e4 	ldr	w4, [sp, #112]
  400904:	b94077e3 	ldr	w3, [sp, #116]
  400908:	b9407be2 	ldr	w2, [sp, #120]
  40090c:	b9407fe1 	ldr	w1, [sp, #124]
  400910:	90000000 	adrp	x0, 400000 <_init-0x480>
  400914:	91334000 	add	x0, x0, #0xcd0
  400918:	97fffefa 	bl	400500 <printf@plt>
	cc3(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
  40091c:	b940bbe0 	ldr	w0, [sp, #184]
  400920:	b9003be0 	str	w0, [sp, #56]
  400924:	b940b3e0 	ldr	w0, [sp, #176]
  400928:	b90033e0 	str	w0, [sp, #48]
  40092c:	b940abe0 	ldr	w0, [sp, #168]
  400930:	b9002be0 	str	w0, [sp, #40]
  400934:	b940a3e0 	ldr	w0, [sp, #160]
  400938:	b90023e0 	str	w0, [sp, #32]
  40093c:	b9409be0 	ldr	w0, [sp, #152]
  400940:	b9001be0 	str	w0, [sp, #24]
  400944:	b94093e0 	ldr	w0, [sp, #144]
  400948:	b90013e0 	str	w0, [sp, #16]
  40094c:	b9408be0 	ldr	w0, [sp, #136]
  400950:	b9000be0 	str	w0, [sp, #8]
  400954:	b94083e0 	ldr	w0, [sp, #128]
  400958:	b90003e0 	str	w0, [sp]
  40095c:	b94063e7 	ldr	w7, [sp, #96]
  400960:	b94067e6 	ldr	w6, [sp, #100]
  400964:	b9406be5 	ldr	w5, [sp, #104]
  400968:	b9406fe4 	ldr	w4, [sp, #108]
  40096c:	b94073e3 	ldr	w3, [sp, #112]
  400970:	b94077e2 	ldr	w2, [sp, #116]
  400974:	b9407be1 	ldr	w1, [sp, #120]
  400978:	b9407fe0 	ldr	w0, [sp, #124]
  40097c:	97ffff7c 	bl	40076c <cc3>
	return 0;
  400980:	52800000 	mov	w0, #0x0                   	// #0
}
  400984:	a9457bfd 	ldp	x29, x30, [sp, #80]
  400988:	910203ff 	add	sp, sp, #0x80
  40098c:	d65f03c0 	ret

0000000000400990 <cc1>:
 
int cc1(int a, int b,int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
  400990:	d10203ff 	sub	sp, sp, #0x80
  400994:	a9057bfd 	stp	x29, x30, [sp, #80]
  400998:	910143fd 	add	x29, sp, #0x50
  40099c:	b9007fe0 	str	w0, [sp, #124]
  4009a0:	b9007be1 	str	w1, [sp, #120]
  4009a4:	b90077e2 	str	w2, [sp, #116]
  4009a8:	b90073e3 	str	w3, [sp, #112]
  4009ac:	b9006fe4 	str	w4, [sp, #108]
  4009b0:	b9006be5 	str	w5, [sp, #104]
  4009b4:	b90067e6 	str	w6, [sp, #100]
  4009b8:	b90063e7 	str	w7, [sp, #96]
	printf("%lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
  4009bc:	b940bbe0 	ldr	w0, [sp, #184]
  4009c0:	b90043e0 	str	w0, [sp, #64]
  4009c4:	b940b3e0 	ldr	w0, [sp, #176]
  4009c8:	b9003be0 	str	w0, [sp, #56]
  4009cc:	b940abe0 	ldr	w0, [sp, #168]
  4009d0:	b90033e0 	str	w0, [sp, #48]
  4009d4:	b940a3e0 	ldr	w0, [sp, #160]
  4009d8:	b9002be0 	str	w0, [sp, #40]
  4009dc:	b9409be0 	ldr	w0, [sp, #152]
  4009e0:	b90023e0 	str	w0, [sp, #32]
  4009e4:	b94093e0 	ldr	w0, [sp, #144]
  4009e8:	b9001be0 	str	w0, [sp, #24]
  4009ec:	b9408be0 	ldr	w0, [sp, #136]
  4009f0:	b90013e0 	str	w0, [sp, #16]
  4009f4:	b94083e0 	ldr	w0, [sp, #128]
  4009f8:	b9000be0 	str	w0, [sp, #8]
  4009fc:	b94063e0 	ldr	w0, [sp, #96]
  400a00:	b90003e0 	str	w0, [sp]
  400a04:	b94067e7 	ldr	w7, [sp, #100]
  400a08:	b9406be6 	ldr	w6, [sp, #104]
  400a0c:	b9406fe5 	ldr	w5, [sp, #108]
  400a10:	b94073e4 	ldr	w4, [sp, #112]
  400a14:	b94077e3 	ldr	w3, [sp, #116]
  400a18:	b9407be2 	ldr	w2, [sp, #120]
  400a1c:	b9407fe1 	ldr	w1, [sp, #124]
  400a20:	90000000 	adrp	x0, 400000 <_init-0x480>
  400a24:	91342000 	add	x0, x0, #0xd08
  400a28:	97fffeb6 	bl	400500 <printf@plt>
	cc2(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
  400a2c:	b940bbe0 	ldr	w0, [sp, #184]
  400a30:	b9003be0 	str	w0, [sp, #56]
  400a34:	b940b3e0 	ldr	w0, [sp, #176]
  400a38:	b90033e0 	str	w0, [sp, #48]
  400a3c:	b940abe0 	ldr	w0, [sp, #168]
  400a40:	b9002be0 	str	w0, [sp, #40]
  400a44:	b940a3e0 	ldr	w0, [sp, #160]
  400a48:	b90023e0 	str	w0, [sp, #32]
  400a4c:	b9409be0 	ldr	w0, [sp, #152]
  400a50:	b9001be0 	str	w0, [sp, #24]
  400a54:	b94093e0 	ldr	w0, [sp, #144]
  400a58:	b90013e0 	str	w0, [sp, #16]
  400a5c:	b9408be0 	ldr	w0, [sp, #136]
  400a60:	b9000be0 	str	w0, [sp, #8]
  400a64:	b94083e0 	ldr	w0, [sp, #128]
  400a68:	b90003e0 	str	w0, [sp]
  400a6c:	b94063e7 	ldr	w7, [sp, #96]
  400a70:	b94067e6 	ldr	w6, [sp, #100]
  400a74:	b9406be5 	ldr	w5, [sp, #104]
  400a78:	b9406fe4 	ldr	w4, [sp, #108]
  400a7c:	b94073e3 	ldr	w3, [sp, #112]
  400a80:	b94077e2 	ldr	w2, [sp, #116]
  400a84:	b9407be1 	ldr	w1, [sp, #120]
  400a88:	b9407fe0 	ldr	w0, [sp, #124]
  400a8c:	97ffff7d 	bl	400880 <cc2>
	return 0;
  400a90:	52800000 	mov	w0, #0x0                   	// #0
}
  400a94:	a9457bfd 	ldp	x29, x30, [sp, #80]
  400a98:	910203ff 	add	sp, sp, #0x80
  400a9c:	d65f03c0 	ret

0000000000400aa0 <main>:
 
 
int main(int argc, char **argv)
{
  400aa0:	d10183ff 	sub	sp, sp, #0x60
  400aa4:	a9047bfd 	stp	x29, x30, [sp, #64]
  400aa8:	910103fd 	add	x29, sp, #0x40
  400aac:	b9005fe0 	str	w0, [sp, #92]
  400ab0:	f9002be1 	str	x1, [sp, #80]
	printf("%s\n", __func__);
  400ab4:	90000000 	adrp	x0, 400000 <_init-0x480>
  400ab8:	91358000 	add	x0, x0, #0xd60
  400abc:	97fffe8d 	bl	4004f0 <puts@plt>
	cc5(0x11111111111111,0x22222222222222,0x33333333333333,0x4444444444444,0x55555555555555,0x66666666666666
  400ac0:	b203ebe0 	mov	x0, #0xeeeeeeeeeeeeeeee    	// #-1229782938247303442
  400ac4:	f2e01dc0 	movk	x0, #0xee, lsl #48
  400ac8:	f9001fe0 	str	x0, [sp, #56]
  400acc:	92ffe000 	mov	x0, #0xffffffffffffff      	// #72057594037927935
  400ad0:	f9001be0 	str	x0, [sp, #48]
  400ad4:	b203ebe0 	mov	x0, #0xeeeeeeeeeeeeeeee    	// #-1229782938247303442
  400ad8:	f2e01dc0 	movk	x0, #0xee, lsl #48
  400adc:	f90017e0 	str	x0, [sp, #40]
  400ae0:	b202ebe0 	mov	x0, #0xdddddddddddddddd    	// #-2459565876494606883
  400ae4:	f2e01ba0 	movk	x0, #0xdd, lsl #48
  400ae8:	f90013e0 	str	x0, [sp, #32]
  400aec:	b202e7e0 	mov	x0, #0xcccccccccccccccc    	// #-3689348814741910324
  400af0:	f2e19980 	movk	x0, #0xccc, lsl #48
  400af4:	f9000fe0 	str	x0, [sp, #24]
  400af8:	b201ebe0 	mov	x0, #0xbbbbbbbbbbbbbbbb    	// #-4919131752989213765
  400afc:	f2e00160 	movk	x0, #0xb, lsl #48
  400b00:	f9000be0 	str	x0, [sp, #16]
  400b04:	b201f3e0 	mov	x0, #0xaaaaaaaaaaaaaaaa    	// #-6148914691236517206
  400b08:	f2e00140 	movk	x0, #0xa, lsl #48
  400b0c:	f90007e0 	str	x0, [sp, #8]
  400b10:	b201e7e0 	mov	x0, #0x9999999999999999    	// #-7378697629483820647
  400b14:	f2e01320 	movk	x0, #0x99, lsl #48
  400b18:	f90003e0 	str	x0, [sp]
  400b1c:	b201e3e7 	mov	x7, #0x8888888888888888    	// #-8608480567731124088
  400b20:	f2e01107 	movk	x7, #0x88, lsl #48
  400b24:	b200ebe6 	mov	x6, #0x7777777777777777    	// #8608480567731124087
  400b28:	f2e00ee6 	movk	x6, #0x77, lsl #48
  400b2c:	b203e7e5 	mov	x5, #0x6666666666666666    	// #7378697629483820646
  400b30:	f2e00cc5 	movk	x5, #0x66, lsl #48
  400b34:	b200f3e4 	mov	x4, #0x5555555555555555    	// #6148914691236517205
  400b38:	f2e00aa4 	movk	x4, #0x55, lsl #48
  400b3c:	b202e3e3 	mov	x3, #0x4444444444444444    	// #4919131752989213764
  400b40:	f2e00083 	movk	x3, #0x4, lsl #48
  400b44:	b200e7e2 	mov	x2, #0x3333333333333333    	// #3689348814741910323
  400b48:	f2e00662 	movk	x2, #0x33, lsl #48
  400b4c:	b203e3e1 	mov	x1, #0x2222222222222222    	// #2459565876494606882
  400b50:	f2e00441 	movk	x1, #0x22, lsl #48
  400b54:	b200e3e0 	mov	x0, #0x1111111111111111    	// #1229782938247303441
  400b58:	f2e00220 	movk	x0, #0x11, lsl #48
  400b5c:	97fffeae 	bl	400614 <cc5>
	,0x77777777777777,0x88888888888888,0x99999999999999,0xaaaaaaaaaaaaa,0xbbbbbbbbbbbbb,0xccccccccccccccc,0xdddddddddddddd,0xeeeeeeeeeeeeee,0xffffffffffffff,0xeeeeeeeeeeeeee);
	cc1(1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10);
  400b60:	52800140 	mov	w0, #0xa                   	// #10
  400b64:	b9003be0 	str	w0, [sp, #56]
  400b68:	52800120 	mov	w0, #0x9                   	// #9
  400b6c:	b90033e0 	str	w0, [sp, #48]
  400b70:	52800100 	mov	w0, #0x8                   	// #8
  400b74:	b9002be0 	str	w0, [sp, #40]
  400b78:	528000e0 	mov	w0, #0x7                   	// #7
  400b7c:	b90023e0 	str	w0, [sp, #32]
  400b80:	528000c0 	mov	w0, #0x6                   	// #6
  400b84:	b9001be0 	str	w0, [sp, #24]
  400b88:	528000a0 	mov	w0, #0x5                   	// #5
  400b8c:	b90013e0 	str	w0, [sp, #16]
  400b90:	52800080 	mov	w0, #0x4                   	// #4
  400b94:	b9000be0 	str	w0, [sp, #8]
  400b98:	52800060 	mov	w0, #0x3                   	// #3
  400b9c:	b90003e0 	str	w0, [sp]
  400ba0:	52800047 	mov	w7, #0x2                   	// #2
  400ba4:	52800026 	mov	w6, #0x1                   	// #1
  400ba8:	528000c5 	mov	w5, #0x6                   	// #6
  400bac:	528000a4 	mov	w4, #0x5                   	// #5
  400bb0:	52800083 	mov	w3, #0x4                   	// #4
  400bb4:	52800062 	mov	w2, #0x3                   	// #3
  400bb8:	52800041 	mov	w1, #0x2                   	// #2
  400bbc:	52800020 	mov	w0, #0x1                   	// #1
  400bc0:	97ffff74 	bl	400990 <cc1>
  400bc4:	52800000 	mov	w0, #0x0                   	// #0
	
}
  400bc8:	a9447bfd 	ldp	x29, x30, [sp, #64]
  400bcc:	910183ff 	add	sp, sp, #0x60
  400bd0:	d65f03c0 	ret
  400bd4:	d503201f 	nop
  400bd8:	d503201f 	nop
  400bdc:	d503201f 	nop

0000000000400be0 <__libc_csu_init>:
  400be0:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
  400be4:	910003fd 	mov	x29, sp
  400be8:	a90153f3 	stp	x19, x20, [sp, #16]
  400bec:	b0000094 	adrp	x20, 411000 <__FRAME_END__+0x10090>
  400bf0:	9137c294 	add	x20, x20, #0xdf0
  400bf4:	a9025bf5 	stp	x21, x22, [sp, #32]
  400bf8:	b0000095 	adrp	x21, 411000 <__FRAME_END__+0x10090>
  400bfc:	9137a2b5 	add	x21, x21, #0xde8
  400c00:	cb150294 	sub	x20, x20, x21
  400c04:	2a0003f6 	mov	w22, w0
  400c08:	a90363f7 	stp	x23, x24, [sp, #48]
  400c0c:	aa0103f7 	mov	x23, x1
  400c10:	aa0203f8 	mov	x24, x2
  400c14:	9343fe94 	asr	x20, x20, #3
  400c18:	97fffe1a 	bl	400480 <_init>
  400c1c:	b4000174 	cbz	x20, 400c48 <__libc_csu_init+0x68>
  400c20:	d2800013 	mov	x19, #0x0                   	// #0
  400c24:	d503201f 	nop
  400c28:	f8737aa3 	ldr	x3, [x21, x19, lsl #3]
  400c2c:	aa1803e2 	mov	x2, x24
  400c30:	91000673 	add	x19, x19, #0x1
  400c34:	aa1703e1 	mov	x1, x23
  400c38:	2a1603e0 	mov	w0, w22
  400c3c:	d63f0060 	blr	x3
  400c40:	eb13029f 	cmp	x20, x19
  400c44:	54ffff21 	b.ne	400c28 <__libc_csu_init+0x48>  // b.any
  400c48:	a94153f3 	ldp	x19, x20, [sp, #16]
  400c4c:	a9425bf5 	ldp	x21, x22, [sp, #32]
  400c50:	a94363f7 	ldp	x23, x24, [sp, #48]
  400c54:	a8c47bfd 	ldp	x29, x30, [sp], #64
  400c58:	d65f03c0 	ret
  400c5c:	d503201f 	nop

0000000000400c60 <__libc_csu_fini>:
  400c60:	d65f03c0 	ret

Disassembly of section .fini:

0000000000400c64 <_fini>:
  400c64:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400c68:	910003fd 	mov	x29, sp
  400c6c:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400c70:	d65f03c0 	ret

x0-x7与栈传递参数

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值