в языке Ассемблера процессора 8086
многие создатели микропроцессоров строят соответствующим образом
свои ассемблеры. Однако в языке Ассемблера процессора 8086 фирма
Intel использовала другой подход, поэтому для нас эта строка оз-
начает "поместить BX в AX", что иногда приводит к путанице.
Программист забывает о стеке или резервирует маленький стек
-----------------------------------------------------------------
В большинстве случаев не выделять явно пространство для сте-
ка, это все равно, что ходить по тонкому льду. Иногда программы,
TDeb 3.0 #2-3 = 140 =
в которых не выделяется пространство для стека, будут работать,
поскольку может оказаться так, что назначенный по умолчанию стек
попадет в неиспользуемую область памяти. Но нет никакой гарантии,
что такие программы будут работать при любых обстоятельствах,
поскольку нет гарантии, что для стека будет доступен по крайней
мере один байт. В большинстве программ для резервирования прост-
ранства для стека должна присутствовать директива .STACK, и для
любой программы эта директива должна резервировать достаточное
пространство, чтобы его хватило для максимальных потребностей в
программе.
Вызов подпрограммы, которая портит содержимое нужных регистров
-----------------------------------------------------------------
При разработке программы на Ассемблере регистры удобно расс-
матривать, как локальные переменные, выделенные для использования
в процедуре, с которой вы в данный момент работаете. В частности,
нередко подразумевают, что при обращении к другим процедурам ре-
гистры остаются неизмененными. На самом деле это не всегда так.
Регистры - это глобальные переменные, и каждая процедура может
сохранить или уничтожить содержимое любого из регистров.
Ошибки при использовании условных переходов