Power PC ABI zcbm 4321gmail com Example 1
Power. PC ABI zcbm 4321@gmail. com 김종화
Example 1 do_add : li li add stw blr sum: ds. w r 3, r 4, r 5, 1 10 20 r 4, r 3 sum(rtoc)
Example 2 entry : lwz r 3, fluffy_string(rtoc) blr *******data******* fluffy_string dc. b “Fluffy loves socks” align 020 ca 238 020 ca 23 c 020 ca 240 *dc. l lwz blr 0 x 7 c 22192 a | 7 c 22192 a r 3, 0 x 0004(rtoc) | 80620004 | 4 e 800020
함수 호출 my_code: my_function: bl my_function 1 add r 3, r 4, r 5 blr mflr r 29 your processing code mtlr r 29 blr 함수 호출 시 link register를 저장해야한다. ã 어떤 명령어로 인하여 link register의 값을 잃어버리는 경우가 있다. ã
IBM Power. PC 970 FX Processor ã 32 bit
64 bit
Stack
Stack frame
Object File Format Power. PC 64 -bit ELF 포맷은 일반 포맷과 다르다. ã 새로운 색션이 추가되어 있다. (. glink, . got, . tocbase, . plt, . opd) ã 새로운 relocation entries를 가진다. ã
Function Prolog and Epilog ã 어셈블리 언어에서 함수의 prolog와 epilog 코드를 정의해야한다. (32 bit Power. PC ABI 를 64 bit ABI에 포팅 할 경우)
Assembler Data Objects
- Slides: 31