Инструкция CALL
требует 5 машинных циклов, а именно OPCODE-FETCH, MEMORY READ, MEMORY READ, MEMORY WRITE, MEMORY WRITE
. Цикл CALL OPCODE-FETCH имеет 6 T-состояний , чтобы заботиться о уменьшениях указателя стека .
RET
требуется инструкция , 3 машинных цикла , OPCODE-FETCH, MEMORY READ, MEMORY READ
, даже здесь, микропроцессор должен увеличить указатель стека дважды, как и прежде , для всплытия. Но цикл OPCODE-FETCH имеет только 4 Т-состояния. Почему это так?
У меня есть смутное представление о том, почему;в CALL
и PUSH
сначала нужно уменьшить SP, в отличие от RET
или POP
. Этот первый декремент позаботился в двух последних T-состояниях цикла FETCH
. Но почему это потребует двух Т-состояний. Опять же, я действительно не уверен в этом. Пожалуйста, помогите.