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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2008, 23:28   #1
eyeofthedemon
Заблокирован
 
Регистрация: 09.09.2008
Сообщений: 8
Вопрос Подскажите есть ошибка ? (если да то где)

WinMain.asm
Код:
.486
.model flat,stdcall
option casemap :none
;/////////////////////////////////////////////////////////////////////////////
	include \MASM32\INCLUDE\Windows.inc
	include \MASM32\INCLUDE\User32.inc
	include \MASM32\INCLUDE\Kernel32.inc
;/////////////////////////////////////////////////////////////////////////////
	includeLib \MASM32\LIB\User32.lib
	includeLib \MASM32\LIB\Kernel32.lib
;/////////////////////////////////////////////////////////////////////////////
.const
;/////////////////////////////////////////////////////////////////////////////
.data
	lpCaption db "Caption",0
;/////////////////////////////////////////////////////////////////////////////
.data?
;/////////////////////////////////////////////////////////////////////////////
.code

_start:
;/////////////////////////////////////////////////////////////////////////////

	CALL 	GetCommandLineA 	;Kernel32.dll

	CALL 	_wincmdln 		;WinMain.asm

	PUSH 	NULL 			;lpModuleName
	CALL 	GetModuleHandleA 	;Kernel32.dll

	PUSH 	ESI 			;lpCmdLine
	PUSH 	EAX 			;hInstance
	CALL 	WinMain 		;WinMain.asm

	PUSH 	NULL 			;uExitCode
	CALL 	ExitProcess 		;Kernel32.dll

;/////////////////////////////////////////////////////////////////////////////
_wincmdln Proc

	MOV 	ESI,EAX
	MOV 	AL,BYTE PTR DS:[ESI]
	CMP 	AL,34 			;ASCII (") 22h
	JNZ 	_exit 			;переход, если флаг Z неактивен
	INC 	ESI 			;удаляем символ ASCII (") 22h
_loop:
	MOV 	AL,BYTE PTR DS:[ESI]
	INC 	ESI 			;удаляем первый символ
	CMP 	AL,34 			;ASCII (") 22h
	JE 	_finish 		;переход, когда активен флаг Z
	JMP 	_loop 			;безусловный переход
_finish:
	INC 	ESI 			;удаляем символ ASCII (") 22h
	MOV 	AL,BYTE PTR DS:[ESI]
	CMP 	AL,32 			;ASCII ( ) 20h
	JE 	_space 			;переход, когда активен флаг Z
	JMP 	_exit 			;безусловный переход
_space:
	INC 	ESI 			;удаляем пробел
_exit:
	RET

_wincmdln Endp
;/////////////////////////////////////////////////////////////////////////////
WinMain Proc hInstance :HINSTANCE,lpCmdLine :LPSTR

	PUSH 	MB_OK 			;uType
	PUSH 	offset lpCaption 	;lpCaption
	PUSH 	lpCmdLine		;lpText
	PUSH 	NULL 			;hWnd
	CALL 	MessageBox 		;User32.dll

	RET

WinMain Endp
;/////////////////////////////////////////////////////////////////////////////
end _start
Прикреплённые файлы: WinMain.zip, Размер: 7,156 b
eyeofthedemon вне форума Ответить с цитированием
Старый 19.09.2008, 09:35   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

А в чём собственно должна состоять ошибка? Вроде должно быть всё правильно.
P.S. в принципе можно было и без функции WinMain, это всего лишь дань С/С++ стилю. А если нет функции WinMain, то значит нет мороки для подготовления к ней параметров.
rpy3uH вне форума Ответить с цитированием
Старый 19.09.2008, 10:41   #3
eyeofthedemon
Заблокирован
 
Регистрация: 09.09.2008
Сообщений: 8
По умолчанию

Строку под _finish: нада убрать.. уже получил ответ на другом форуме..
Код:
INC 	ESI 			;удаляем символ ASCII (") 22h
eyeofthedemon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуста! есть ли переменная для обозначения дисковода? Medyankin Помощь студентам 4 27.07.2008 15:58
Подскажите что делать если в екселе пропали буквы столбцов ivkoa Microsoft Office Excel 2 22.07.2008 16:55
если есть.... то.... -=$V=- Компоненты Delphi 2 17.06.2008 13:02
Подскажите есть ли возможность saags Microsoft Office Excel 2 20.11.2007 15:29