0

I have referred the Intel 8085 manual, it says that the HLT instruction requires 1 machine cycle and 5 or more T states, but my textbook and some internet sources say that it requires 2 machines cycles and the number of T states can vary depending on if there are any pending interrupts or not. Clarify this please

I guess since it is a 1 byte instruction, the only bus operation it performs is the opcode fetch,thus 1 M cycle but am not sure about how many T states it should require.....

  • The textbook I am reading is: Microprocessor Architecture, Programming and applications with the 8085 by Ramesh Gaonkar – Ayush Kumar Shukla Jun 10 '23 at 14:16
  • 1
    Just curious why you care? It seems odd to be concerned about the exact number of cycles needed by `hlt`, given that its whole point is to wait for a potentially very long time. You would only execute it if your code has nothing else useful to be doing. – Nate Eldredge Jun 10 '23 at 17:31
  • 1
    Disagreement in timings information may be caused by different interpretation of "instruction requires" meaning. Since `hlt` waits for external interrupt, it requires some number of cycles to put CPU into halt state and some other number of cycles to wake up CPU after interrupt occured. – dimich Jun 10 '23 at 20:18
  • So that means there is no definite number of M cycles for the HLT instruction? should I just go by the manual and write 1 M cycle in all the assembly program documentation that I have to do for college? – Ayush Kumar Shukla Jun 16 '23 at 12:17

0 Answers0