![]() |
|
|
![]()
|
|
| Baton2007 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 29.11.2007 Репутация: нет Всего: нет |
По заданию надо написать родительский и дочерний процессы . Родительский получает имя дочернего из командной строки :
C:\MASM_1\PA.EXE ''C:\MASM_1\CP.exe'' Дочерний процесс должен прочитать из окружения имя файла который ему надо открыть. Пишу в командной строке так C:\MASM_1\СP.exe SET WORKFILE=FILE39.txt Правильно ли я параметры передаю а то пишет что переменной нет , хотя если просмотреть все окружение то переменная добавлена. Родитель
Дочерний
|
||||
|
|||||
| bugmenot1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 8.5.2008 Репутация: нет Всего: 0 |
Baton2007 задание параметров окружения и запуск программы я бы разделил.
SET WORKFILE=FILE39.txt C:\MASM_1\СP.exe А если бы условия задания было немного другим, задавал бы прямо параметром коммандной строки C:\MASM_1\СP.exe FILE39.txt Про чтения параметров рекомендую тему ASM -> Asm: Общие вопросы -> GetCommandLine, непонятки А насчёт чтения параметров окружения, рекомендую обратить внимание на GetEnvironmentVariable (см. kernel32.inc) |
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 4 Всего: 16 |
Вы неправвильно добавляете переменную в окружение, bugmenot1 - прав.
bugmenot1, в ДОС нет никаких kernel32. -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| bugmenot1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 8.5.2008 Репутация: нет Всего: 0 |
iff пользуясь случаем, публично благодарю за решение в теме ASM -> Asm: Общие вопросы - > Работа со структурами данных и функциями, Вывести на экран.
Сейчас загрузил FreeDos на VirtualBox, действительно SET есть там (а значит есть и в MS-DOS). Я почему-то решил что это только в Win32, по этому посоветовал копать в направлении Kernel32.inc С поправкой согласен. Это сообщение отредактировал(а) bugmenot1 - 18.4.2010, 14:40 |
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 4 Всего: 16 |
Подожди, но в виндовс есть эмулятор MS-DOS (командная строка COMMAND.COM, а в XP есть ещё CMD.EXE, правда CMD.EXE - это консольное приложение виндовс.)
Нажимай в Windows XP пуск->все программы->стандартные->командная строка (а в ивндовс более младших пуск->сеанс MS-DOS) и будет тебе MS-DOS.
У меня кстате не работает тот код во фридосе. Потому что там некоторая заминка с переводом строки, строка не переводится ниже, ОС печатает приглашение (приглашение - это в ДОСе C:\>_) на той же строчке, где печатала программа. надо чтобы строка для вывода заканчивалась символами 0D0A, тогда всё нормально. Я изменил 6-ую строчку и всё стало нормально. Это сообщение отредактировал(а) iff - 18.4.2010, 20:14 -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| bugmenot1 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 8.5.2008 Репутация: нет Всего: 0 |
iff будет, но он то для совместимости оставлен, а в х64 системах (XP+) ещё больше отошли от этого.
По этому на современный лад считаю что стоит искать решение через ВинАпи, или же через современные аналоги, которые впрочем не очень то и документированны. Например ASM альтернатива тому же GetTickCount()
Спасибо за инфу, но я использовал TASM и под "MS-DOS" в Windows XP. Это сообщение отредактировал(а) bugmenot1 - 20.4.2010, 13:20 |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |