| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > Задачка |
| Автор: shlyuz 27.7.2006, 01:30 | ||
Автор предлагает предлагает выкрутиться(CX, использованный в качестве "счетчика" циклов, "перебивает" тот же CX, но используемый как "координаты верхнего левого угла окна".) из сложившейся ситтуации с использованием стека. Задача взята с http://wasm.ru/article.php?article=1022001#p1_10 пункт 4 как |
| Автор: S.A.G. 27.7.2006, 02:39 |
| шарил бы асму - помог бы P.S. Голова кругом от рекурсии |
| Автор: ds29 27.7.2006, 10:59 |
| shlyuz, что именно не понятно? p.s. логичней обсуждать это на их форуме |
| Автор: Akina 27.7.2006, 13:17 | ||
При помощи стека? да нафига?
|
| Автор: rsm 27.7.2006, 13:19 |
Где это ты там рекурсию усмотрел? shlyuz, непонятно как со стеком этот код сделать что ли? |
| Автор: shlyuz 27.7.2006, 20:18 |
| rsm дорогой, не понятно, ну хоть намекни а уж дальше я сам |
| Автор: rsm 27.7.2006, 20:40 | ||
Прямоугольнички разноцветные рисует - забавная штука |
| Автор: S.A.G. 28.7.2006, 00:23 | ||
Нигде. |
| Автор: shlyuz 28.7.2006, 04:51 | ||||||
Прошу прощения, вот первоночальный код программы:
Надо замениить CALL'ы на LOOP. Типа четыре цикла, и должно получиться окошко в окошке, а у тебя какой-то каскад получается! 0110 MOV CX,0004(смотри свой код) сколько циклов надо выполнить команде LOOP, а ты к нему координаты левого верхнего угла прибавляешь. Тут какое-то другое решение Добавлено @ 05:03
А вот поставлено условие через стек. Кстати что делает эта команда - XCHG SI,CX? |
| Автор: rsm 28.7.2006, 16:51 | ||
Если что не так, поправьте plz. Для меня DOS умер еще 9 лет назад, так что пишу чисто по интуиции. Вообще, на подобный вопрос следовало бы ответить "RTFM!" Команда xchg производит обмен значений регистра с регистром или регистра с переменной. Например, после выполнения команды xchg si,cx в si будет значение, содержавшееся в cx; а в cx будет значение, содержавшееся в si. |
| Автор: Akina 28.7.2006, 19:00 | ||
Ну стек так стек...
Теперь видишь бредоватость использования стека в данном случае? |
| Автор: rsm 28.7.2006, 21:01 |
| Akina, маленькая поправка: не [BP-6], а [BP+4] |
| Автор: Akina 28.7.2006, 23:15 |
| rsm, ну да... на коленке же пишу... |