· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Про кодинг под винду, а вернее вопросы

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Май 12, 2004 19:25:36

изучаю кодинг асма под винду и возникает куча
вопросов.

1.Прав ли я, если в tasm вместо kernel32.lib,
user32.lib подрублю import32.lib?
2.есть функция ExitProcess proto :dword, скажу
так чтобы было видно тип, что она берет? Код
выхода?
3.Как мне самому создать свою lib?
4.Как происходит, хотя бы примерно, процесс нас-
тройки адресов, то бишь линковки, что и куда и
какого хрена пишется? и как это будет при выпол-
нении кода?

и какого фига на ключ /kh32000 tasm может ругать-
ся?

Буду рад ответам, но если кинут русскоязычные
линки(толковые), то буду тоже рад.


Дата: Май 12, 2004 19:36:21 · Поправил: Funbit

2.есть функция ExitProcess proto :dword, скажу
так чтобы было видно тип, что она берет?
Код
выхода?

прочитай выделенное жирным шрифтом, все понятно ?

если ты спрашиваешь, что это за параметр такой, то в MSDN гляди
VOID ExitProcess(
  UINT uExitCode   // exit code for all threads
);
Parameters
uExitCode 
[in] Exit code for the process and all threads terminated as a result of this call. 
Use the GetExitCodeProcess function to retrieve the process's exit value. 
Use the GetExitCodeThread function to retrieve a thread's exit value.


3.Как мне самому создать свою lib?
можешь юзать LIB.EXE (в msvs входит), из .obj получишь .lib

Как происходит, хотя бы примерно, процесс нас-
тройки адресов, то бишь линковки, что и куда и
какого хрена пишется? и как это будет при выпол-
нении кода?

3 раза прочитал, ну нихрена не понятно!


Дата: Май 12, 2004 19:41:06

А вот то, что ты три раза читал, он мог бы и не спрашивать, если бы взял "Linkers and loaders" из раздела доков. Меня его вопросы вообще умиляют.


Дата: Май 12, 2004 19:44:42

volodya
Прости пожалуйста, но не все такие умные сразу.А смысл ты понял как и я эту статью, читал три раза до пива и один после него и не шиша не понял!
А про ключ я так и не разобрался!


Дата: Май 12, 2004 19:48:58

> А про ключ я так и не разобрался!

Забей.. Юзай masm.


Дата: Май 12, 2004 19:51:19

Asterix
Забить не получается, знать охота!


Дата: Май 12, 2004 22:05:09 · Поправил: S_T_A_S_

[offtop]

EvilsInterrupt

IMHO, забей на TASM. Столько времени по-пусту потеряешь.
Читай доку по PE и юзай FASM.

Никаких либ, линкеров и прочая.
Вот простой пример - для компиляции нужен только FASM.EXE (конечно так обычно не делают, а подключают инклуды)


============================================
format	PE GUI	4.0 at 400000h

data	import
	dd	RVA ExitProcess, 0, 0, RVA k32, RVA ExitProcess
	dd	RVA MessageBox, 0, 0, RVA u32, RVA MessageBox
	dd	0, 0, 0, 0, 0		;;  end of directory
k32	db	'kernel32',0
u32	db	'user32',0
EP	db	0,0, 'ExitProcess',0
MB	db	0,0, 'MessageBoxA',0
align 4
ExitProcess 	dd	RVA EP, 0
MessageBox 	dd	RVA MB, 0
end data


entry	$
	
	push	64
	push	caption
	push	text
	push	0	
	call	[MessageBox]

	push	0
	call	[ExitProcess]

text:		db 'Hello, World!!',0
caption:	db 'My first prog',0


Дата: Май 13, 2004 00:13:00

S_T_A_S_
Забить говоришь, а вот если хоть в чем то забьешь пойдет поедить и не хрена знать не буду!
Вот например взял из Iczelion`а 2пример про MessageBox сделал исполнитель запустил с помощью Лоадера в SICE, а он возьми да не с первой команды мне, что делать я еще этого незнаю, а ты забей говоришь, откуда я знаю что мне в будущем пригодится, а вот по САЙСУ инфу буду просто рад получить, Доков много накачал, но везде заумно и либо чуть ли не детское, либу супер-пупур докоторого мне далеко, а вот нормальное призмленное, упс и нету!


Дата: Май 13, 2004 00:16:02

то забьешь пойдет поедить и не хрена знать не буду

"Многих я знал на своем веку, что были доведены до полной глупости своей неуемной жаждой знания"
(с) забыл :(


Дата: Май 13, 2004 00:17:04

volodya
Ты знаешь лучше способ?


Дата: Май 13, 2004 00:24:09

В своей жизни я тасмом пользовался дважды. Что-то там надо было скомпилить когда только-только начинал. И серьезный DOS полностью мимо меня прошел. Всякие детства с int 21/10/13 - не в счет. А вот DPMI/VCPI/unreal mode мне полностью неизвестны, никогда не пробовал и не работал. И не буду. И не надо. И 95/98 мимо пролетела. Я очень слабо себе представляю как работает 9х. И отнюдь не плачу по этому поводу.
Это я к тому, дорогой, что нельзя знать всего. Тебе не плохо от того, что ты и слухом не слыхивал об XSLT/JAXB/JSP/Java Beans и других идиотских словах? А принцип работы stored procedures в DB2 знаешь? Это я к тому, еще раз, что нельзя знать всего. Просто нельзя. Можно лишь быть чем-то неплохим в некоторых областях и флибустьером в других. Вот и все.
А у тебя разброс. Из вопросов видно, что просто каша в голове. Клочки какие-то. Обрывки. На Украине говорят "чув звiн, да не знае де вiн".
Твой дос неактуален. Не трать время жизни на мертвые системы. Тебе посоветовали фасм - вот его и учи. Ты не знаешь принципов линковки - вот и читай Linkers and Loaders. Вкуривай в новые технологии.


Дата: Май 13, 2004 00:25:45

volodya
Учту,а сейчас баиньки пора! НО ответы все еще принимаю! Да и путные слова тоже тема!


Дата: Май 13, 2004 00:27:40

а он возьми да не с первой команды мне, что делать я еще этого незнаю

А он возьми да не с первой команды тебе ЧТО? КАК ТАК МОЖНО СПРАШИВАТЬ? За такие вопросы банить надо. Ой, блин, тяжело с тобой...


Дата: Май 13, 2004 00:30:59 · Поправил: PavPS

Книжек если маловато, или просто лень читать
Если МАСМ на первой строчке посылает х.. с..ть,
Не сдавайся тме незнаний - время даст Тебе урок,
Все мученья в это время непременно станут впрок.
(С) ППС
А вообще "метот тыка" рулит :))


Дата: Май 13, 2004 00:47:35

EvilsInterrupt

Мне кажеться ты больше времени уделяешь теоретическому обучению .
Лично мне тяжело понять написанное в книгах или прочитанное в форуме если это не подтверждать практически самому .

откуда я знаю что мне в будущем пригодится

Так ты и будешь мыкаться ... Будущее надо планировать .
Думаю может тебе стоит начать кодить своё app , и при возникнувших вопросах обращаться к теории .

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.066