EI:HALT © AlCo Люди! Наболело! Да простят меня реальщики, но на время отсутствия у меня здорового компа я просто вынужден пользоваться эмуляторами.Да,в них я иногда пишу программы...Не сидеть же мне без дела, пока Tot ставит SIMM? Вот... В некоторых программах я использую об- работчик прерываний,состоящий из одной ко- манды RET.Прерывания соответственно выклю- чаются,так что вызывать их нужно так: EI HALT Пишу я,бывало,такую программу,никого не трогаю. Ассемблирую,запускаю.Тестирую.Вис- нет,сволочь! Ищу глюк - не вижу. Надо сказать, что если уж я чего и пишу на эмуляторе, то,как правило,этим эмулято- ром оказывается zx_emul v0.33 by Lion 17. И вот сегодня я снова наткнулся на та- кой глюк. Снапшот на месте сделать не уда- лось (v0.33,однако!- см. ZG#3 ), поэтому я постарался подвесить прогу в том же месте, но под zx_emul 0.34, и уже там отгрузился. Z80 Stealth 4.50, загрузив снапшот,вис- нуть не захотел 8]. Но в R80 v0.30 удалось обнаружить,что program counter отдыхает на команде HALT,а прерывания в это время отк- лючены! Z80S этого не показал,поскольку по загрузке снапшота их зачем-то включил, а его встроенный монитор по неизвестной при- чине всегда указывает на обработчик преры- вания :) Значит, прерывание пришло между EI и HALT. Всего-то ;) А теперь,мальчики и девочки,возьмите со своих дальних полок покрытый пылью фолиант под названием "ZX Spectrum для пользовате- лей и программистов" by Ларченко&Родионов, откройте его в районе 93-94 страницы - там,где написано про команду EI,- и прочи- тайте сноску с двумя звёздочками: **) Следует отметить, что при выполнении команды EI запрещаются маскируемые преры- вания на время между этой и следующей ко- мандами. Короткое тестирование разделило эмуля- торы на 2 группы: - Буржуйские: R80, RealSpeccy - которые соответствуют книжке и не виснут на EI: HALT; - Наши советские: Углеков, Шалаев, Юдин и Колпаков, которые, по-видимому, эту кни- жку не читали. (P.S.: Недавно обнаружил,что тем же глюком страдает прекрасный во всех других отноше- ниях эмулятор Unreal Speccy by SMT ;( ) Грустно... Если кому интересно,ту тестирующую про- граммку можно найти в барахле. Она выпол- няет цепочку EI. Если ваш муль (процессор вряд ли ;)) сможет в этих условиях играть музыку, то это повод заподозрить его в жу- льничестве. Музыки быть не должно! Хочу особо отметить, что мне не в кайф подгонять РАБОТАЮЩИЕ программы так, чтобы они удовлетворяли ещё и глюкам эмуляторов. Несмотря даже на то, что 33-й Лион не рас- паковывает картинки,упакованные Laser Com- pact 5.2,как это можно было видеть в ZG#3.