Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2010, 15:28   #1
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию аргумент командной строки

Здраствуйте, только начал изучать ассемблер и столкнулся с проблемкой.
Написал код который работает не так как надо, причем в отладчике все нормально работает. Программа должна считывать аргумент командной строки и выводить его на экран, в противном случае должно выводиться сообщение об его отсутствии. Но выводится оба сообщения.

Код:
call GetCommandLine
	
	Arg_1:
	inc EAX
	cmp byte ptr ds:[EAX], 22h
	jne Arg_1
	
	inc EAX
	cmp byte ptr ds:[EAX], 0
	je NO	
	
	inc EAX
	push MB_OK
	push offset MsgBoxCaption
	push EAX
	push 0
	call MessageBox
	
	push 0
	call ExitProcess
	
	NO:
	push MB_OK
	push offset MsgBoxCaption
	push offset MsgBoxText
	push 0
	call MessageBox
	
	push 0
	call ExitProcess
DeFace вне форума Ответить с цитированием
Старый 06.09.2010, 16:03   #2
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

Вобщем я полазил в отладчике, зашел в функцию MessageBox, а там вызывается :
Код:
MessageBoxTimeOutW(HWND, PWideChar, lPWideCha, UINT, WORD, DWORD)
вот она помоему и выводит сообщение, если я не ошибаюсь.
Но как это убрать?
DeFace вне форума Ответить с цитированием
Старый 06.09.2010, 16:33   #3
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Насколько я помню, ковычки в строке передаются только из под отладчика...
Цитата:
общем я полазил в отладчике, зашел в функцию MessageBox, а там вызывается :
Код:

MessageBoxTimeOutW(HWND, PWideChar, lPWideCha, UINT, WORD, DWORD)

вот она помоему и выводит сообщение, если я не ошибаюсь.
Но как это убрать?
Вообще-то обычный MessageBox это только обертка для этой функции.
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 06.09.2010, 18:46   #4
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

Цитата:
Сообщение от Goodwin98 Посмотреть сообщение
Насколько я помню, ковычки в строке передаются только из под отладчика...
Если я правильно понял при запуске программы не из под отладчика кавычки не передаются. тогда как проверить есть ли аргумент? Может поможете ссылочкой где можно почитать.
DeFace вне форума Ответить с цитированием
Старый 06.09.2010, 18:57   #5
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Может это поможет ?
http://forum.vingrad.ru/forum/topic-10951.html
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 06.09.2010, 22:10   #6
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

в двух словах, потому что под отладчиком функа работает малость не так как нужно
можете глянуть есчо тут
http://www.wasm.ru/forum/viewtopic.php?pid=369330
Нет, ну правда..
yuran666666 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка командной строки Dasharnb777 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 07.02.2010 18:24
параметры командной строки. nazavrik Общие вопросы C/C++ 4 20.11.2009 20:15
Выполнение командной строки z3rg Общие вопросы C/C++ 4 17.04.2009 22:26
Параметры из командной строки ProGg Паскаль, Turbo Pascal, PascalABC.NET 5 13.02.2009 00:17