[Arm프로세서] AAPCS: Armv8: 함수를 호출할 때 쓰이는 X0-X7 레지스터와 명령어 분석

Guillermo Austin Kim|2021년 8월 30일
Posts

[Arm프로세서] AAPCS: Armv8: 함수를 호출할 때 쓰이는 X0-X7 레지스터와 명령어 분석

Guillermo Austin Kim|2021년 8월 30일

SP 레지스터, X30 레지스터와 더불어 눈여겨봐야 할 레지스터가 X0-X7 레지스터입니다.함수를 호출할 때 전달되는 인자는 X0-X7 레지스터에 저장되고, 함수가 반환하는 값은 X0 레지스터로 저장되기 때문입니다. X0-X7 레지스터의 역할: 함수에 전달된 인자 저장 01 0x10000 :02 {03 0x10000: f81e0ffe str x30, [sp, #-32]!04 int res = add_func(x, y);05 0x10004: 52800061 mov w1, #0x3 // #306 0x10008: 52800040 mov w0, #0x2 // #207 0x1000c: 97ffffef bl 20000 0