10.5.2.4. CALL
10.5.2.4. CALL
설명 | 지정한 서브 프로그램을 호출합니다. END문을 만나면 호출한 CALL문의 다음 행으로 복귀합니다. 복귀없이 최대 10번의 호출이 가능합니다. (최대 호출 깊이는 10) | |||
문법 | CALL <프로그램번호>[<주석>] [(<실 매개변수>,< 실 매개변수>,......)] | |||
파라미터 | 프로그램번호 | 산술 식. 호출할 서브 프로그램 번호 | 1~9999 | |
주석 | 프로그램번호가 상수일 때만 허용됩니다. 가독성을 위해 영숫자와 밑줄로 구성된 설명을 붙일 수 있습니다. 실행 시엔 주석은 무시됩니다. 프로그램번호와 주석을 합해 18자를 초과하면 안됩니다. |
| ||
실 매개변수 | 서브 프로그램으로 전달할 값. 좌측 괄호 앞에는 공백이 있어야 합니다. (10.4.4.4 매개변수 참조) | 최대 10개 | ||
사용 예 | ‘P4, P7간의 거리 계산 P300=P4 P301=P7 CALL 902 ‘결과 출력
PRINT #0, "Dist = "; V300! |
REM --- subprog. 902 ------------------- REM V300! = <P300, P301 간의 거리> REM ------------------------------------ V300! = (P300.X-P301.X)^2 + (P300.Y-P301.Y)^2 + (P300.Z-P301.Z)^2 V300! = SQR(V300!) | ||
ø 매개변수는 Hi5 이하 제어기에서는 사용 불가합니다.
작업파일의 이름은 점(period)와 확장자(JOB)를 제외하고 최대 18자까지 허용됩니다. 파일이름 앞부분은 프로그램 번호(1~9999)로 시작하고, 그 뒤에는 가독성을 위해 주석 문자열을 붙일 수 있습니다. 실제로 제어기가 JMPP문이나 CALL문, 혹은 외부프로그램 선택 등을 수행할 때는 JOB 파일명 중 프로그램 번호만을 사용할 뿐 그 뒤의 문자열은 무시합니다.
아래와 같은 상황일 때, 예시한 모든 JMPP문은 적법하게 20번 JOB으로 분기합니다.
파일목록 | 0001.JOB 0020_SUBFUNC.JOB |
0001.JOB 내용 | V5%=20 CALL 20 CALL 0020 CALL V5% CALL (10+10) CALL 20_SUBFUNC |