Если у меня нет начальных сегментов стека, что произойдет?BIOS int 13H, AH = 02 (для чтения дискеты) и сегмент стека
Будет ли в некоторых случаях причиной ошибок чтения?
Спасибо ~ зарегистрировать
Если у меня нет начальных сегментов стека, что произойдет?BIOS int 13H, AH = 02 (для чтения дискеты) и сегмент стека
Будет ли в некоторых случаях причиной ошибок чтения?
Спасибо ~ зарегистрировать
Ваш сегмент стека лучше иметь действительное значение, когда вы вызываете программное прерывание (или сделать какой-либо вызов,), так как int
(или call
) инструкция необходим действительный стек, в котором хранится обратный адрес вашего кода. Кроме того, вызываемая подпрограмма обычно ожидает, что существует действительный стек, в котором он может push
некоторых регистров для выполнения своей работы.
На самом деле, ваш регистр сегментов стека лучше имеет действительное значение во все времена, иначе все сработает и сгорит, как только произойдет первое периодическое прерывание.
Спасибо ~ Я понимаю важность инициализации сегмента стека. И что такое «первое периодическое прерывание»? – sam
Если у меня нет начального сегмента стека, сколько я могу использовать стек? Сколько я могу установить для сегмента стека? – sam
IBM PC имеет микросхему периодического прерывания, которая периодически генерирует аппаратные прерывания. (Около 50 раз в секунду.) Когда происходит один из этих прерываний, должен быть допустимый стек, иначе у вас есть сбой. Вот почему мы всегда отключаем прерывания ('cli'), прежде чем манипулируем регистром сегмента стека или регистром указателя стека и снова включаем их (' sti'). –