Решения задачи #18.
Запустить программу, имя которой указано в командной строке.
;by Shur |
Комментарий: Как просто и гениально! А я расписался на 63 байта: сделал проверку на неправильный ввод, сделал освобождение памяти, заполнение структуры, еще там кое-чего, а оказывается все можно сделать так просто.
Идея кода: Здесь в принципе все понятно: выделяется память для запуска файла (по-другому нельзя - того требует DOS), затем осуществляется запуск файла с помощью int 2eh (кстати ее описание приведено ниже), и программа завершается. Строка shr si, 1 нужна для того, чтобы в si оказалось смещение командной строки (при старте SI=100h; 100h/2=80h).
;Task #18 |
Комментарий: Идея кода у G3 такая же как и у Shur, но метод вычисления смещения командной строки другой: G3 выделяет 80h байт памяти (BL=80h), а затем использует BX=80h для перемещения в SI.