This article is rated C-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | |||||||||||
|
Programming software
edithow can we program in 8085 microprocessors.
In the good-old-days you would start with 8085 datasheet, and paper and pencil.
Today the easiest way is to use some of the many 8085 simulators/emulators available on the net.
Take a look: type "8085 emulator" on Google. 8085 emulators/simulators are still quite popular as a teaching tool, so there are many (commercial) simulators/emulators available.
Here's couple of free emulators available:
Virtual 8085 —Preceding unsigned comment added by 117.198.89.125 (talk) 04:24, 20 April 2011 (UTC)
And if you want to use just an assembler:
ftp://ftp.simtel.net/pub/simtelnet/msdos/crossasm/ps85a12.zip
ftp://ftp.simtel.net/pub/simtelnet/msdos/crossasm/as80_130.zip
If you want to use some higher level language (eg. basic, pascal, c, java, ..) instead of assembler, someone else may give you more hints of free/cheap software.
Agreed, this should probably be separately provided in the form of a corresponding software section that provides lists of simulators and emulators for various platforms, preferably freely available stuff (open source and freeware).
BTW: the 8085 is also generally considered a spaceborne processor: http://klabs.org/DEI/Processor/index.htm —Preceding unsigned comment added by Parallelized (talk • contribs) 20:58, 28 January 2008 (UTC)
The ACK compiler supports 8080/5 and is free software. Under CP/M BDS C is free but old so can be used for compiling on the 8085 system itself if running CP/M 82.70.14.226 (talk) 15:58, 18 February 2019 (UTC)
Using INTR signal
editIn reference to Nazli's correction "Comprehensive use of INTR requires..." which is commented "rudimentary use of INTR is possible even without an external Programmable Interrupt Controller".
I guess this refers eg. to using pullup resistors in AD0..AD7. Using this configuration, activating INTR causes the INTR recognition cycle to read FFh, which is the opcode of RST 7 instruction. So, with minimal components, you have created a system in which INTR signal is serviced as RST 7 instruction.
All this is interesting, but I fail to see if this clarification is worth the effort in short and generalized discussion of almost antique processor. Comments anyone?
- I see your point - however the previous sentence:
- "Use of the INTR requires an external Programmable Interrupt Controller such as an Intel 8259"
- was factually incorrect. Maybe the whole discussion on interrupts needs to be abbreviated?
- You are right: facts are facts, and the use of "requires" is incorrect.
- And reading the paragraph containing interrupts, I agree:
- the discussion on interrupts should be abbreviated.
- Perhaps, if we dump the references to pins, and condense the discussion
- into one sentence?
- All in all, I think the article is quite good.
- It puts the 8085 in historical context, discusses historical facts, and
- references details which have modern equivalents.
- Maybe the article should be rewritten, but it isn't very long to begin with.
- Omniwriter 14:52, 25 May 2006 (UTC)
Overall the article seems ok. The section on interrupts could possibly be shortened. One suggestion:
Old section:
"The microprocessor has three hardware based interrupt operations which are found in pins 7 through 9, these are called RST 7.5, RST 6.5, and RST 5.5 respectively. The 8085 has a TRAP interrupt which cannot be disabled (that is, TRAP is a Non-Maskable interrupt or NMI) and an INTR interrupt. Comprehensive use of the INTR requires an external Programmable Interrupt Controller such as an Intel 8259."
Proposed new section:
"The microprocessor has three hardware based interrupt operations as well as a TRAP interrupt which cannot be disabled (that is, a Non-Maskable interrupt or NMI) and an INTR interrupt."
Nazli 11:08, 26 May 2006 (UTC)
- Your proposal is ok. Or how about this:
- "The microprocessor has three maskable hardware interrupts (RST), one Non-Maskable hardware interrupt (TRAP), and
- one externally serviced hardware interrupt (INTR)."
- BTW, the articles on Non-Maskable Interrupts and 8259 are a way longer than this on 8085.
- So, maybe this article could be longer and contain more details?
- There are no details on opcodes of 8085.. What other aspects of 8085 are still missing?
- Omniwriter 20:52, 26 May 2006 (UTC)
Clock Frequency
edit"The 8085 runs on a 6.14 MHz crystal, connected to X1 and X2 (pins 1 and 2)"
This is not strictly necessary is it? Only the max frequency is 6.14 MHz I believe? --Gingerjoos 03:35, 17 December 2006 (UTC)
CPU Architecture
editThe 8085 Architecture follows the von Neumann architecture, with a 16bit address bus, and a 8bit data bus. But it is actually based on harvard concept This abruptly ending sentence is confusing. What makes it based on Harvard-concept? Svofski 07:05, 9 July 2007 (UTC)
- The simple answer is that it is not a Harvard architecture, that claim is wrong. The program memory and the working memory share the same address space and word size. It is a von Neuman machine. Contrast this with a PIC microcontroller, which is a Harvard machine. --AJim (talk) 02:33, 1 July 2013 (UTC)
Commercial 8085 Simulators
editI didn't add commercial/shareware simulators, because doing so might be disputable and be considered advertising, however maybe some folks are still interested, thus I put it here:
Shareware
edit- http://www.angelfire.com/electronic2/8085simulator/ (Shareware with free license)
- http://www.freewebs.com/vikasenterprises/
- http://www.angelfire.com/in3/myweb/mic8085.html
- http://www.manurastogi.com/home/projects/8085-simulator —Preceding unsigned comment added by 128.227.11.74 (talk) 10:44, 27 September 2010 (UTC)
Commercial
editextending 8085's memory
editCan 8085's memory be extended from 64K to 16MB? —Preceding unsigned comment added by 77.28.34.97 (talk) 20:34, 7 April 2009 (UTC)
- The chip can only directly address 16 bits (64K). You could use a bank-switching scheme in external hardware to extend this, but you can do that with pretty much any CPU. Kaleja (talk) 22:30, 1 November 2011 (UTC)
- I had the misfortune to use a Northern Telecom 585 computer which used an 8085 and bank switching to manage 1 megabyte of memory, and which supported a half-dozen users at a time. In retrospect, this was a Bad Thing and NT should have used a 68000 or a 80286 or something else instead - the machine was a dinosaur, with 8 inch hard drives storing 20 megabytes each. The CPU that once served the entire stores inventory system of a steel mill is now living a life of quiet retirement as the brains in my EPROM burner. --Wtshymanski (talk) 14:13, 2 November 2011 (UTC)
expansion of terms in microprocessor 8085
editexpansion of terms in microprocessor 8085 eg:SIM,RIM,OLE —Preceding unsigned comment added by 122.164.161.108 (talk) 16:33, 16 April 2010 (UTC)
Useless Google Books
editI thought the usual 5 minutes with Google Books would turn up a half-dozen high-quality references for this article. I've never seen so many illiterate texts before in my life! If you flip between a half-dozen pages in 45 seconds and find a spelling or grammar error every time your eye lands on a page, there's a severe problem. Evidently the editorial standards to get an 8085 textbook published are very low...not that this doesn't stop Google Books from scanning them all in. Think I'll apply to some of these publishing houses...looks like they'll print any old thing, no questions asked. --Wtshymanski (talk) 13:28, 7 July 2010 (UTC)
extended instructions
editLong ago, in the 1970's, when I was building some new industrial products that incorporated the 8085, I came across an article in, as I remember, Electronics magazine, which described a small set, a half dozen or so, of undocumented op codes that the authors had discovered. I do not have a reference for the article at present. After I studied these new op codes, I became quite excited, because they were very useful extensions of the instruction set, with for instance, really useful indexing capabilities. These new instructions were far more useful that the horde of new op codes introduced with the Z80, most of which made code simultaneously longer and slower if used; we avoided all but a couple of the Zilog opcodes, even when the target machine was a Z80 and not an 8080. I asked management if I could use these 8085 op codes, the decision was not to. Our inquiry, through the grapevine, was that Intel, for marketing reasons, disowned them, because they were not compatible with the upcoming 8086/88, for which they had bright hopes, correctly as we see now. Anyway, anyone interested in the 8085 today, especially in an emulator, could benefit from these extensions. --AJim (talk) 18:43, 25 March 2013 (UTC)
- I had a different experience. I designed Western Digital's first disk controller that could sustain 1:1 interleave, the WD1003-SCS. I was pretty excited about the undocumented 16 bit right arithmetic shift instruction as it would help speed up the 24b x 8b divide routines. I demonstrated to management that all second sourced 8085s had these instructions. They approved using the undocumented instructions. To make sure there were no mishaps, the power-on test verified that all the undocumented instructions that I used were functional. RastaKins (talk) 14:37, 12 October 2021 (UTC)
- List of 12 macros used for Pertec PCC 2000 8085 based CP/M system for the extended instructions, using | as a line separator:
ARHL MACRO ;ARITH RIGHT SHIFT HL | DB 10H | ENDM DSUB MACRO ;HL=HL-BC | DB 08H | ENDM JNXC MACRO ADR ;JMP IF NOT X CARRY (INX, DCX) | DB 0DDH | DW ADR | ENDM JXC MACRO ADR ;JMP IF X CARRY | DB 0FDH | DW ADR | ENDM LDHI MACRO IMM ;DE=HL+IMM | DB 28H | DB IMM | ENDM LDSI MACRO IMM ;DE=SP+IMM | DB 38H | DB IMM | ENDM LHLX MACRO ;HL=(DE) | DB 0EDH | ENDM RDEL MACRO ;ROTATE DE,CY LEFT | DB 18H | ENDM RIM MACRO ;RESET INT MASK | DB 20H | ENDM RSTV MACRO ;RST IF V SET TO 40H | DB 0C8H | ENDM SHLX MACRO ;(DE)=HL | DB 0D9H | ENDM SIM MACRO ;SET INT MASK | DB 30H | ENDM
There was a project to convert the PCC2000 from 8085 | CP/M to 8088 | CP/M86 (with 256KB to 1MB of ram), using an Intel provided translator to convert 8080 source code to 8088 source code. The extended instructions had to be converted manually, but it wasn't that much additional effort. Although a few systems were made, the project was abandoned when IBM announced the PC, and Pertec switched to making 68000 based systems. Rcgldr (talk) 07:41, 16 October 2021 (UTC)
Release date ?
editIn article there's written that the Intel 8085 was introduced in 1977. On the image there's 1976 written. Is it ok? --Filipadamer (talk) 16:57, 21 May 2013 (UTC)
- The 1976 is the publishing date for copyright purposes. It is quite possible that pre production samples of the chip were released in 1976 (hence the date on the chip) even though the production chips were introduced in 1977. 86.151.114.31 (talk) 13:12, 7 March 2014 (UTC)
- I have to agree with Filipadamer. Most reliable sources give March 1976 as the release date. Softlavender (talk) 23:23, 21 October 2014 (UTC)
History
editMight want to add a history section, mostly about "home" or CP/M computers based on the 8085, such as the Pertec PCC 2000 . Rcgldr (talk) 15:32, 12 February 2018 (UTC)
microcontroller
editThere seems to be some interest in what is, and isn't, a microcontroller, as opposed to a microprocessor. First, it seems to me that all micro controllers are also microprocessors, though not all are used in general purpose computing. Some have features that make them less than ideal for general computing, such as the small stack in the 6502. That the 6502 became popular for computers like the Apple II, when more usable processors weren't so much more expensive, seems strange now. In any case, the 8085 was popular for embedded (microcontroller) use, and less for general use computing. It was plenty powerful compared to, for example, the 6502. Gah4 (talk) 20:18, 11 May 2018 (UTC)
- In the English and German Wikipedia, microcontrollers are defined as containing a CPU along with memory and I/O devices on a single chip. In that sense, a microcontroller contains a microprocessor. So there is a distinction, if somewhat fuzzy. Drahtlos (talk) 20:27, 11 May 2018 (UTC)
- I suppose. But with the 8085 multiplexed address/data bus, Intel made devices with demultiplexing latch, RAM/ROM/EPROM, and I/O ports, so a two chip system wasn't hard. I have taken embedded devices apart, and extracted the 8085 (or maybe 80C85) to play with, so I know it was often used that way. It is a little more capable than the 8x48 series. Gah4 (talk) 20:48, 11 May 2018 (UTC)
- From Microcontroller: Microcontrollers are designed for embedded applications Gah4 (talk) 21:59, 11 May 2018 (UTC)
- In general, a microcontroller is regarded as a complete system on a single chip requiring just a crystal for the clock (or an external clock signal). By complete, I mean: incorporating the processor, ROM and RAM and usually some form of input/output and is thus able to function autonomously. The 8085 fails in this respect in almost the worst way because it lacks everything except the processor. 86.168.83.226 (talk) 17:04, 12 May 2018 (UTC)
- Yes, but that is somewhat more recent. For many years, the 8085 was used in embedded applications that might have been too complicated for a single chip solution. Also, the 8085 was rarely used for non-embedded systems. The 80C85 was used for some portable systems that needed the lower power demand. Gah4 (talk) 22:09, 12 May 2018 (UTC)
- The 1980 Intel "Component Data Catalog" calls the 8085 "Single Chip 8-Bit N-Channel Microprocessor". In the same catalog, Intel calls their 8048 family "Single Component 8-Bit Microcomputer" - a microcontroller, or at least a different class of product than the 8085. --Wtshymanski (talk) 22:50, 12 May 2018 (UTC)
- Yes, but that is somewhat more recent. For many years, the 8085 was used in embedded applications that might have been too complicated for a single chip solution. Also, the 8085 was rarely used for non-embedded systems. The 80C85 was used for some portable systems that needed the lower power demand. Gah4 (talk) 22:09, 12 May 2018 (UTC)
- In that case, the application was not a microcontroller one precisely because the 8085 required at least a ROM and a RAM chip to support it, and most likely some additional form of I/O to supplement the 8085's primitive serial capability. The Osborne 4 & 8-bit Microprocessor handbook,[1] like Intel, describes what most people would describe as microcontrollers as microcomputers [on a chip]. The 8048 and 8078 series parts (with the exception of the 8035 and 8039 which lack inbuilt ROM and RAM) are described as microcomputers. The 8085 is described as a 'microprocessor' and not a 'microcomputer. 86.168.83.226 (talk) 12:32, 13 May 2018 (UTC)
- If you use the 8085 with the 8155 and 8355 (or 8755), you have a three chip solution with RAM and ROM (or EPROM) and lots of I/O ports. The 8155, 8355, and 8755 have the address bus latch built-in. You can also add extra chips for extra I/O to an 8x48, if you need more I/O. The 8085 instruction set is nicer than the 8x48, too. So, yes, it isn't a one chip solution, but some embedded problems are too big for the usual single chip controllers. Gah4 (talk) 04:36, 14 May 2018 (UTC)
References
- ^ Osborne, Adam; Kane, Gerry. The Osborne 4 & 8-bit Microprocessor Handbook. Osborne McGraw-Hill. ISBN 0-931988-42-X.