PL/M

PL/M
PL/M
개발자Microcomputer Applications AssociatesGary Kildall[1]
첫 등장1973 (1973)[2][3]
영향을 받은
알골, PL/I, XPL

PL/M 프로그래밍 언어(Microcomputers용[2][3] Programming Language for Microcomputers의 약어)는 1973년 게리 킬달(Gary[2][3][4][1] Kildall)이[2][3] 마이크로프로세서를 위해 인텔의 행크 스미스(Hank Smith[2][3])를 위해 구상하고 개발한 고급 언어다.

개요

그 언어는 PL/I, ALGOL[citation needed], XPL의 아이디어를 통합했고 통합된 매크로 프로세서를 가지고 있었다.[2][3]워싱턴 대학교를 졸업한 킬달은 Burroughs B5500 컴퓨터를 사용했으며,[5] 이와 같이 시스템 프로그래밍을 위한 ESPOL과 같은 고급 언어의 잠재력을 알고 있었다.

Pascal, C 또는 BASIC과 같은 다른 현대 언어와 달리 PL/M은 표준 입력이나 출력 루틴이 없었다.그것은 대상 마이크로프로세서에 특정한 낮은 수준의 하드웨어를 목표로 하는 특징을 포함하였고, 따라서 메모리, I/O 포트 및 프로세서 인터럽트 플래그에 매우 효율적인 방법으로 직접 접근을 지원할 수 있다.PL/M은 마이크로프로세서 기반 컴퓨터의 첫 번째 상위 레벨 프로그래밍 언어였으며, 조립자로 작성되지 않은 CP/M 운영 체제의 해당 부분에 대한 원래 구현 언어였다.1970년대와 1980년대에 많은 인텔과 질로그 Z80 기반의 임베디드 시스템이 PL/M에 프로그래밍되었다.예를 들어, CICS IBM AS/400의 서비스 프로세서 구성요소의 펌웨어는 PL/M으로 작성되었다.

기존의 PL/M 컴파일러인텔 8008을 타깃으로 삼았다.업데이트된 버전(PL/M-80)은 8080 프로세서에 대한 코드를 생성했으며, Zilog Z80 제품군뿐만 아니라 최신 Intel 8085에서도 실행될 수 있다(8080과 역호환 가능).이후 Intel 8048Intel 8051 마이크로컨트롤러 제품군(PL/M-51)의 컴파일러뿐만 아니라 8086(8088)(PL/M-86), 80186(80188) 및 후속 8086 기반 프로세서(고급 80286 및 32비트 80386)의 컴파일러를 따랐다.인텔 8061 및 8096 / MCS-96 아키텍처 제품군(PL/M-96)과 같은 후기 마이크로컨트롤러용으로 개발된 PL/M 컴파일러도 있었다.[6]

While some PL/M compilers were "native", meaning that they ran on systems using that same microprocessor, e.g. for the Intel ISIS operating system, there were also cross compilers, for instance PLMX, which ran on other operating environments such as Digital Research CP/M, Microsoft's DOS, and Digital Equipment Corporation's VAX/VMS.

PL/M은 더 이상 인텔이 지원하지 않지만 PL/M-to-C 소스 코드 변환기와 같은 애프터마켓 툴이 존재한다.

PL/M 샘플 코드

FIND:PROCEDURE(PA,PB)BYTE, DECLARE(PA,PB)BYTE, /* SCRATCH의 1939년에 ATANDPB*/DECLARE JADRESS,(K, 자녀)BYTE ATENDING한 독자 THESTRING FIND, J)뒤로;MATCH를 거짓, DO이 및(MAXM>J)MATCH지 않은 것;LAST,J)J+1;/* 시작 SCAN J*/ K=이 펜실베니아 랑카스터 AT, /* ATTEMPT STRING KATDOWHILE SCRATCH(K))MEMORY(LAST)및지 않은 것(*/ MATCH.매트.CH := K = PB); /* 일치하는 문자 */ K = K + 1; LAST = LAST + 1, End; 일치하면 /* 저장소이동 */ DOWN, LAST = MOVER; LAST = 1; Call Mover; 종료; 반환; 엔드 찾기;

참조

  1. ^ a b Swaine, Michael (2001-06-22). "Gary Kildall and Collegial Entrepreneurship". Dr. Dobb's Journal. Archived from the original on 2019-07-26. Retrieved 2006-11-20.
  2. ^ a b c d e f Shustek, Len (2016-08-02). "In His Own Words: Gary Kildall". Remarkable People. Computer History Museum. Archived from the original on 2019-10-03. Retrieved 2020-02-02.
  3. ^ a b c d e f Kildall, Gary Arlen (2016-08-02) [1993]. Kildall, Scott; Kildall, Kristin (eds.). Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry (Manuscript, part 1). Kildall Family. Retrieved 2016-11-17.
  4. ^ Johnson, Herb (2019-07-21). "ISIS, Intellec, PL/M, iRMX, and Intel - 20th century". Retrotechnology. Archived from the original on 2019-10-02. Retrieved 2020-01-29.
  5. ^ Kildall, Gary Arlen (September 1970). "APL\B5500 - The Language And Its Implementation" (PDF). University of Washington, Computer Science Group. Technical Report 70-09-04. Archived (PDF) from the original on 2019-12-20. Retrieved 2020-01-29.
  6. ^ "Translators And Utilities For Program Development". Software Handbook (PDF). Intel Corporation. 1984 [1983]. p. 3-1. 230786-001. Archived (PDF) from the original on 2020-01-29. Retrieved 2020-01-29. […] A LANGUAGE FOR EVERY NEED […] PL/M is the most popular 8086 language for systems programming and provides the best of both optimal code and high level language capabilities. […] PL/M-51 was the first high level language ever to be introduced for a microcontroller. The 8096 is similarly supported with PL/M-96. […]

추가 읽기