Господа, помогите ответить на вопрос: "Почему в IP лежит адрес следующей команды?"
на лабе по архитектуре ЭВМ, а точне после сдачи отчета, был задан доп. вопрос, что лежит в IP, ну понятно ответили, что лежит адрес команды. уточнили, что следующей исполняемой команды. после чего всех добили вопросом "почему?". на предложение уточнить вопрос было отвечено отказом и пожеланием почитать книжки по архитектуре. Щаз. почитали. ессно, никто и нигде об этом не пишет. и мне не в чем обвинить авторов - вы же не задаетесь вопросом почему солнце встает с одной стороны, а не с другой.
вобщем совершенно непонятно как отвечать на такой вопрос. пока единственное что приходит в голову - потому что так придумали инженеры Intel.
я очень надеюсь, что кто-нибудь поможет разрешить дурацкую ситуацию. Были уже мысли написать в Интел и спросить у них. и принести их ответ, какой бы он ни был...
ПОМОГИТЕЕЕЕЕ!!!!
Операция call сохраняет IP в стек, а операция ret осуществляет переход по смещению, сохраненному в стеке. Но после завершения подпрограммы выполнение должно продолжаться со следующей команды, иначе подпрограмма будет вызываться бесконечно.
Цитата:
Originally posted by Smagen
Операция call сохраняет IP в стек, а операция ret осуществляет переход по смещению, сохраненному в стеке. Но после завершения подпрограммы выполнение должно продолжаться со следующей команды, иначе подпрограмма будет вызываться бесконечно.
Операция call сохраняет IP в стек, а операция ret осуществляет переход по смещению, сохраненному в стеке. Но после завершения подпрограммы выполнение должно продолжаться со следующей команды, иначе подпрограмма будет вызываться бесконечно.
На самом деле, первопричиной является не это. А совсем простой факт:
IP инкрементируется при выборке команды из памяти и при выборке данных (если требуется), ещё до выполнения данной комманды. Таким образом на момент выполнения IP уже указывает фактически на следующую комманду.
Машинный чикл состоит из следующих основных частей:
выборка комманды из памяти
выборка данных
и выполнение команды
второй ответ, мне кажется, это то, что нужно преподу - мы его дружно неправильно поняли.
ОгРоМнОЕ спАСибО отклиКнувшимсЯ!!!!!!!