скачал я масм 8.2,сервиспак, 9-бета,тасм,ресм и всё что можно+кучу теоретического материала НО неодин пример приведённый для самого начала неработает,везде какието ошибки выводит ----- пример который тут приведён в статье Win32ASM: Минимальное приложение,автар вроде Serrgio / HI-TECH. делал в масм 8.2 в OBJ переводит,а в ЕХЕ уже нет,пишит типо неможет открыть кернел32.длл ,а фар,блокнот и hiew эту дллку легко откупоривают у мя стоит ХП домашний+СП2 p4 3GHz при переводе форматов использовал фару 1,705 p.s. в поиске ненашол,да и в FAQ нет ответа в чём трабл может винду 95 поставить ?
пути где ? воту тут всё номуль c:\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:c:\masm32\lib minimal.obj да и он находит,но открыть неможет туториалов для самого начала прочитал почти с десяток,везде траблы возникают фасм тоже качал разници между языками особой невижу,хоть на какомто начать....
отцы,ну помогите напишите чё куда надо тыркнуть чтобы заработало или через дос совсем надо этим делом заниматься ? или винду убировать? хотябы напишите сами вы на сервиспаке2 проверяли работоспособность новых версий ? а если отключены файлы подкачики,то неможет иззаэтого трабл быть?
если прально понял проекта нет.есть тока ASM 1 в 1 как в примере тут в фаре удобная командная строка есть,я им делаю в 2 захода а чё бат надо делать полюбому? тут asm,OBJ который получился и lib,которую прочестьнеможет _643845007__minimal.rar
Вот смотри. Это нормально работает. За путями следи. Stanli а чё бат надо делать полюбому? Нет, но это очень удобно, попробуй. И ХР не причём, всё там нормально 1784753873__proba.rar
Вот тебе ещё пример, сравни как указаны инклюды, либы. Посмотри, что в .bat'е прописано. Либы должны лежать в папке \masm32\lib, инклюды соответственно в \masm32\include 1249542497__minimal.zip
благадарю,трабл действительно был в путях у мя масм стоит прям на С в масм32 когда устанавливал,можнобыло выбрать тока диск,а терь он там прижился...кроме винды там всеравно ничё нет,немешает Спасибо огромное за помощь
asd Это будет нормально работать, если переменные среды указаны. У меня например они не указаны, поэтому не работает. В таком случае нужно указывать путь к компилятору, линкеру, инклюдам и либам примерно так: Код (Text): \masm32\bin\ml <параметры> \masm32\bin\Link <параметры> include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib
инклюдами я и неполюзуюсь..пока непользуюсь,я с самым первым примером немог разобраться вот пример. здравствуй мир DOSSEG .MODEL SMALL .STACK 100h .DATA Message DB 'Привет!',13,10,'$' Message_Length EQO $ - Message .CODE mov ax,@Data mov dx,ax ; установить регистр DS таким ; образом, чтобы он указывал mov ah,40h ; функция DOS вывода строки ; на устройство mov bx,4 ; описатель принтера mov cx,Message_Length ; число печатаемых символов mov dx,OFFSET Message ; ссылка на "Привет!" int 21h ; вывести "Привет!" принтер mov ah,4ch ; функция DOS завершения ; программы int 21h ; завершить программу END при cоздании obj выдал 4 ошибки неподскажите чё тут нетак ?? 1545940566__proba.asm
елки метелки, а где ты такой пример нашел? про зраствуй мир тут почитай: http://www.wasm.ru/article.php?article=1022006 и в окрестностях тоже много статей хороших и доступных
Вот глянь такую штуку, недавно доки собирал и вот оно! "Самокомпилирующиеся" исходники, мне оч. понравились! Код (Text): <font color="red];@echo off ;goto make</font><!--color--> ..... Здесь текст исходника ..... <font color="red] :make set mdir=D:\masm32\bin\ set name=window %mdir%ml.exe /c /Fl /coff /Cp %name%.bat if errorlevel 1 goto errasm %mdir%link.exe /subsystem:windows %name%.obj if errorlevel 1 goto errlink del %name%.lst del %name%.obj echo _ echo OK!!! goto TheEnd :errasm echo _ echo Assembly Error goto TheEnd :errlink echo _ echo Link error :TheEnd pause>null del null </font><!--color--> и есь текстовик обзывается *.bat
пользоваться, а там хочешь-нехочешь запомнишь хотя как по мне, синтакисис и параметры помнить в точности не обязательно, ддя этого есть хелп. знать нужно, что эта ф-ция делает и как примерно пишется
у меня проще и универсальнее Код (Text): ;@echo off ;goto make .486 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib kernel32.lib .CODE ALIGN DWORD start: invoke ExitProcess, 0 end start :make SET PROJECTNAME=test if exist %PROJECTNAME%.res del %PROJECTNAME%.res if exist %PROJECTNAME%.obj del %PROJECTNAME%.obj if exist %PROJECTNAME%.exe del %PROJECTNAME%.exe if exist *.rc goto rc \masm32\bin\ml /nologo /c /coff /Cp %PROJECTNAME%.bat \masm32\bin\link /nologo /MERGE:.rdata=.text /SECTION:.text,ER /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib %PROJECTNAME%.obj goto exit :rc \masm32\bin\ml /nologo /c /coff /Cp %PROJECTNAME%.bat \masm32\bin\rc %PROJECTNAME%.rc \masm32\bin\link /nologo /MERGE:.rdata=.text /SECTION:.text,ER /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib %PROJECTNAME%.obj %PROJECTNAME%.res del %PROJECTNAME%.res :exit del %PROJECTNAME%.obj echo. pause cls
Товарищи как запомнить все это многообразие функций Win32API? MSDN тебе в помошь Уходи на рынок и купи диск.