Author |
Message |
petrenko
Doomed
Joined: 10 Mar 2012 16:21 Posts: 598 Location: РФ
|
Уточним : сие справедливо только для данного процессора. ( В том же VAX-е команда может прерваться и возврат произойдёт в ту же фазу изполнения команды, где она прервалась. )
Да и то - не совсем уверен в случае команды с префиксом REP ... Кто уточнит ?
|
24 Feb 2015 13:11 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я пишу в ветку " Запустить 8086 в минимальной обвязке?"...
Тут где-либо написано " Запустить VAX в минимальной обвязке?".
Это я тоже уточнил...
Не надо оффтопить не по делу - откройте веточку про VAX и проявите
свою эрудицию - возможно, сие будет нам интересным.
_________________ iLavr
|
24 Feb 2015 13:19 |
|
|
petrenko
Doomed
Joined: 10 Mar 2012 16:21 Posts: 598 Location: РФ
|
Вакс упомянут для примера и в скобочках.
А так я строго по теме - прошу уточнить насчёт команд с префиксом REP - прерываются они или пока всю цепочку ( хоть до 65535 байт ) не обработают - не прервутся ?
В том числе "в минимальной обвязке".
|
24 Feb 2015 13:26 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
Встретив HLT, процессор переходит в состояние останова. После возникновения прерывания выполняется ПП его обработки, а после IRET восстанавливается CS:IP, но процессор должен и далее стоять, а не продолжить работу с команды после HLT. Может, наш коллега newold86 в конце прерывания поставил RET вместо IRET? Или я всё же неправильно понимаю работу проца?
|
25 Feb 2015 11:07 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
НЕ ДОЛЖЕН! Уже 2 раза написали я и newold86, что процессор после IRET начинает работу с восстановленного из стека CS:IP, указывающего на команду, следующую за HLT. Т.е. продолжить работу с команды после HLT. Во всех мануалах написано, что RESET, NMI, INTR выводят процессор из состояния HLT! Если снова нужен HLT, делают:
_________________ iLavr
|
25 Feb 2015 14:07 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
Но какой смысл в таком поведении процессора? Получается, что полноценный HLT - это HLT + JMP назад на HLT? Я никогда не пользовался этой командой, но почему-то всегда считал, что после HLT возможно выполнение только ПП прерываний, но не продолжение выполнения кода основной программы.
А ВМ80 тоже так себя ведёт?
|
26 Feb 2015 10:05 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да - ВМ80 тоже так себя ведёт. HLT для нас непривычная команда, т.к. мы привыкли к возвратам в Монитор.
HLT раньше активно юзали во всяких ранних компьютерах - когда программу надо завершить,
а передать управление некуда.
Ты просто сложил для себя неправильный имидж "полноценного HLT", а настоящий HLT - вот таков,
каков он есть. Я же сказал уже ранее - это не "вечный HLT".
И - да: после HLT возможно продолжение выполнения кода основной программы.
Просто команда HLT работает в общей логике процессора: прерывание, возникшее во время
исполнения команды корректно вернет управление на адрес, следующий за этой командой.
И для команды HLT исключения из этого правила не сделали.
_________________ iLavr
|
26 Feb 2015 10:16 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
Не скажу, опять же, за интел, но в z80 это объясняется просто - HALT помимо самого ожидания выставляет сигнал на ногу, типа "я готов, можете меня прерывать". Есть стойкое подозрение, что у интелов также. Особенно с учётом того, что часть команды разрабов "8080" и делала z80
|
26 Feb 2015 11:25 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну так для того они и совместимы! z80 просто идеологически не может поступать иначе!
В плане идентичности i8080 у z80 есть совсем маленькое отличие, по которому его можно
определить программно.
Но об этом писАли и в "Радио", в цикле статей про "Орион-128", и мы обсуждали в рамках
этого форума. И это отличие вовсе не в HALT...
_________________ iLavr
|
26 Feb 2015 12:31 |
|
|
aviator
Senior
Joined: 10 Dec 2008 08:39 Posts: 155 Location: Стокгольм, Швеция
|
_________________ С уважением, Сергей.
|
27 Feb 2015 05:54 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну это будет тогда, как в анекдоте про слона и зайца:
_________________ iLavr
|
27 Feb 2015 07:04 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
1. RESET ("слонобойка" 12,7мм)
2. NMI (принудительное оттягивание хобота )
|
27 Feb 2015 07:55 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
---задублировалось---
|
27 Feb 2015 07:56 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А у ВМ80 уже таки есть NMI? Я, видимо, что-то пропустил в этой жизни...
_________________ iLavr
|
27 Feb 2015 08:16 |
|
|
jdigreze
God
Joined: 02 Jan 2006 02:28 Posts: 1390 Location: Abakan
|
Простите! Зарапортовался
|
27 Feb 2015 09:21 |
|
|