Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
PL/M
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Overview== The language incorporated ideas from PL/I and XPL,<ref name="Shustek_2016"/><ref name="Kildall_1993"/> and had an integrated [[Macro (computer science)|macro processor]]. As a graduate of the [[University of Washington]] Kildall had used their [[Burroughs B5500]] computer,<ref name="Kildall_1970_UW"/> and as such was aware of the potential of high-level languages such as [[Executive Systems Problem Oriented Language|ESPOL]] for systems programming. Unlike other contemporary languages such as [[Pascal (programming language)|Pascal]] or [[BASIC]], PL/M had no standard input or output routines. It included features targeted at the low-level hardware specific to the target microprocessors, and as such, it could support direct access to any location in memory, I/O ports and the processor interrupt flags in a very efficient manner. PL/M was the first higher level programming language for microprocessor-based computers and was the original implementation language for those parts of the [[CP/M]] operating system which were not written in assembler. Many Intel and [[Zilog Z80]]-based [[embedded system]]s were programmed in PL/M during the 1970s and 1980s. For instance, the [[firmware]] of the Service Processor component of CISC [[IBM AS/400]] was written in PL/M. The original PL/M [[compiler]] targeted the [[Intel 8008]].<ref name="Kildall_1974"/> An updated version (PL/M-80) generated code for the [[Intel 8080|8080]] processor, which would also run on the newer [[Intel 8085]] as well as on the Zilog Z80 family (as it is [[backward-compatible]] with the 8080). Later followed compilers for the [[Intel 8048]] and [[Intel 8051]]-microcontroller family (PL/M-51) as well as for the [[Intel 8086|8086 (8088)]] (PL/M-86), [[Intel 80186|80186 (80188)]] and subsequent 8086-based processors, including the advanced [[Intel 80286|80286]] and the 32-bit [[Intel 80386|80386]]. There were also PL/M compilers developed for later microcontrollers, such as the [[Intel 8061]] and 8096 / [[Intel MCS-96|MCS-96]] architecture family (PL/M-96).<ref name="Intel_1983_SH"/> 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)|ISIS]] operating system, there were also [[cross compiler]]s, for instance [[PLMX]], which ran on other operating environments such as [[Digital Research]] CP/M, [[Microsoft]]'s [[DOS]], and [[Digital Equipment Corporation]]'s [[OpenVMS|VAX/VMS]]. '''PL/M''' is no longer supported by Intel, but aftermarket tools like PL/M-to-C [[source-code translator]]s exist.{{citation needed|date=January 2024}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)