Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

8 address lines for I/O mapped I/O

Status
Not open for further replies.

rameshrai

Member
hi,

1. can anybody tell me why 8 address lines are used for I/O mapped I/O in 8085 microprocessor?
2. 8085 has 16 address lines, and either upper A15 to A8 or A7 to A0 can be used for I/O mapped I/O, so if I used A7 to A0 for I/O mapped I/O what is the values of A15 to A8?
3. where are opcodes stored in 8085?

thanks
 
Last edited:
First off!!! The 8085 is not a micro controller so the post is in the wrong section...
Second..... Why are you working with such an old microprocessor??

The 8085 is a slightly newer chip than the 8080 and has the same functionality as the Z80 so the IN and OUT commands control the address of the I/O according to the manual....

The opcodes (commands) are normally stored in code space... Usually an Eeprom attached to the data and address buses...

I haven't studied the 8085 so I don't know why you can use the high address byte ( I didn't think you could )...
 
It has been a long time! My memory ..............
Most 8085 boards only had 1,2 or three I/O addresses in use. (serial, parallel) I cannot think of a case where any one would need all 256 addresses. It takes MORE parts to decode 64000 addresses. (money) If you made memory mapped (16 bit I/O addressing) then there will be a hole in the memory addressing.
ALSO
Instructions: The CPU is 8 bit. So thinking 'do something at I/O at 5' is simple. If you need to do a 16 bit address for every I/O the CPU has a hard time: Get the high 1/2 of a address and put it in a register pair, get the lower 1/2 of a address and put it in a register pair, now do a I/O using the register pair as a pointer.

The CPU is 8 bit. If you want fast math you do it in 8 bits. Math in 16 bit is (much + much, test for carry, add the carry) slower.

I know my examples are bad/funny but don't do anything in 16 bits if you can find a 8 bit way. (hardware and software)
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top