0

I am actually writing code for 8086 processor, and need to output one of the registers. I think I can use the OUT instruction, but will the data bus lose that data after clock cycle completed?

I actually didn't tried on actual microprocessor

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
Hari
  • 11
  • 3
  • 1
    The device attached to the port you're writing to with your `OUT` instruction is responsible for safely reading the information from that port. Common sense would indicate that the output value would be latched at least long enough for the receiving device to read it. But then you're getting into things like hardware handshakes, data protocols, parity bits, etc. – Robert Harvey Jul 26 '23 at 13:38
  • 1
    Just to be clear, this is a genuine physical 8086 we are talking about? Late 1970s design? 40-pin DIP package and all that? – Nate Eldredge Jul 26 '23 at 15:00
  • 3
    Do you have the 8086 Family User's Manual? Chapter 4 has the hardware details. It shows that the data is on the bus for two of the four clock cycles that constitute one bus cycle. This appears to be the same for I/O as for memory. If this is not enough for your hardware, it can add wait states as described on page 4-10 (requires an external 8284 chip). But as soon as the bus cycle is over, a new one could be starting right away, at which point the data pins will have the address of the next access (address and data are multiplexed). – Nate Eldredge Jul 26 '23 at 15:06

0 Answers0