.tocof 의사 연산
용도
로컬 기호를 표현식에 사용할 수 있도록 로컬 기호를 외부 기호의 목차로 정의할 수 있도록 허용합니다.
구문
설명
.tocof 의사 연산은 Name2 매개 변수를 전역 심볼로 선언하고 Name1 심볼을 Name2 심볼이 포함된 다른 모듈의 목차(TOC)로 표시합니다. 결과적으로 로컬 심볼을 외부 심볼의 TOC로 정의하여 표현식에서 로컬 심볼을 사용하거나 일반적으로 .tc 문에서 호출된 모듈의 TOC를 참조할 수 있습니다. 이 의사 작업은 이 데이터가 TOC 외부 심볼의 주소로 초기화되도록 하는 재배치 사전 항목(RLD)을 생성합니다. .tocof 의사 연산은 호출자가 제어권을 전송하기 전에 먼저 호출된 모듈의 TOC 주소를 로드해야 하는 모듈 간 호출에 사용할 수 있습니다.
매개변수
| 항목 | 설명 |
|---|---|
| Name1 | Name2 값을 포함하는 모듈의 TOC 역할을 하는 로컬 심볼을 지정합니다. Name1 기호는 .tc 문에 나타나야 합니다. |
| Name2 | TOC가 포함된 모듈 내에 존재하는 전역 심볼을 지정합니다. |
예
다음 예는 .tocof 의사 옵의 사용법을 보여줍니다:
tocbeg: .toc
apb: .tc [tc],pb,tpb
# This is an unnamed TOC entry
# that contains two addresses:
# the address of pb and
# the address of the TOC
# containing pb.
.tocof tpb,pb
.set always,0x14
.csect [PR]
.using tocbeg,rtoc
l 14,apb
# Load R14 with the address
# of pb.
l rtoc,apb+4
# Load the TOC register with the
# address pb's TOC.
mtspr lr,14
# Move to Link Register.
bcr always,0
# Branch Conditional Register branch
# address is contained in the Link
# register.