Ассемблирование без секретов

ассемблерная программа подготовленная к трансляции MASM'ом


Программа нормально транслируется и даже работает, но не дает ответа на вопрос — почему же ее создатель не выполнил все эти действия заранее?! Да потому, что программа предназначалась для TASM'а, библиотекарь которого именует функции так, как написано, а не так, как диктует соглашение о stdcall-вызовах. Но почему бы тогда не транслировать программу TASM'ом?! Тому есть свои причины. Во-первых, TASM заброшен и уже не развивается (впрочем, MASM ни хуя не развивается тоже), во-вторых, объектные файлы, сгенерированные TASM'ом трудно интегрировать в другие проекты. В-третьих, мыщъх'и испытывают к багдаду стойкую антипатию, непреодолимую даже пивом. Но если кому-то нравится TASM, то, пожалуйста! Компилируйте программу так:

rem ассемблируем

tasm32 /ml h2.asm

rem

готовим библиотеки из dll

implib -c  user32.lib C:\WINNT\system32\user32.dll

implib -c  kernel32.lib C:\WINNT\system32\kernel32.dll

rem линкуем

tlink32 h2.obj -Tpe -aa -L user32.lib -L kernel32.lib



Содержание раздела