в твоем случае: создаешь файл rsrc.rc кладется в туже папку где и сама среда . далее сам исходник проги открываешь в среде,жмешь компилировать-масм-rc если бинарник не создался нажимаешь треугольничек вылезет окошко которое покажет ошибки если таковые имеются. в rsrc.rc пишешь Code: #define IDM_TEST 1 #define IDM_HELLO 2 #define IDM_GOODBYE 3 #define IDM_EXIT 4 FirstMenu MENU { POPUP "&PopUp" { MENUITEM "&Say hello", IDM_HELLO MENUITEM "Say &goodbye", IDM_GOODBYE MENUITEM SEPARATOR MENUITEM "E&xit", IDM_TEST } MENUITEM "&Test", IDM_TEST }
короче.облегчил тебе совсем задачу.вот тебе сорцы компилятор линковщик,ресурсо-создатель.запускаешь батник make появится бинарник(srcfile.exe).разбирайся что не так у тебя в коде.и попробуй поюзать мою IDE/ для начала тебе очень поможет.если нехочешь мучатся со всякими батниками и т.п.все сделано специально для облегчения программирования на ассемблере. http://zalil.ru/30673114 сдесь все что тебе надо. еще советую почитать зубкова.начни хотя бы с чего то проще раз ето трудно дается.
Друзья, давайте вместе изучать ассемблер, я имею ввиду онлайн конференции устраивать. Ведь так мы повысим эффективность обучения в разы. Я понимаю, что можно и так, но только подумайте каких результатов мы могли бы достичь вместе. Ведь не зря даже у короля артура был круглый стол Подумайте над моим предложением 602566434 - догадайтесь что это
вам мало темы в болталке? здесь люди имеющие опыт им делятся, а ваше предложение не для этого раздела.
Есть следующий код Code: j:= 1; for i:= n-shift+1 to n do begin temp_mas[j]:= mas[i]; inc(j); end; помогите пожалуйста заменить тело цикла на ассемблерную вставку
пожалуйста помогите решить пару задач на nasm....могу скинуть их в ПМ,тут выкладывать не хочу,а то препод увидит...пожлста оч надо!
#andrew#, а ты их не выкладывай, а, раз тебе нужна помощь, спрашивай то, чего не знаешь. Если не знаешь ничего, тут можно рассмотреть другие варианты(кушать хотят все).
emnm, я с сопроцессором не особо знаком, но некоторыми познаниями все таки располагаю. Как вариант можно вот так (результат - дробное число, округленное до сотых): Code: .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\fpu.inc include \masm32\include\user32.inc includelib \masm32\lib\fpu.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib .data [COLOR=YellowGreen]result1 TBYTE ? result2 dd ?[/COLOR] db 0 .code [COLOR=YellowGreen]calculate proc a1:DWORD,b1:DWORD,c1:DWORD local temp:DWORD,increment:DWORD mov increment,1 mov eax,c1 shl eax,1d add eax,a1 sub eax,21d mov temp,eax finit fild temp fild c1 fild a1 fdiv fild b1 fmul fild increment fadd fdiv fstp result1 mov eax,SRC1_REAL or eax,SRC2_DIMM push eax push offset result2 push 2 push offset result1 call FpuFLtoA ret calculate endp[/COLOR] start: push 10d [COLOR=DarkOrange][B]; значение c[/B][/COLOR] push 20d [COLOR=DarkOrange][B]; значение b[/B][/COLOR] push 30d [COLOR=DarkOrange][B]; значение a[/B][/COLOR] [COLOR=YellowGreen]call calculate[/COLOR] push 0 push offset result2 push offset result2 push 0 call MessageBoxA push 0 call ExitProcess end start
Всем здравствовать!!! Вообщем вопрос такой! где найти листинг всех ошибок при ассемблирование?(желательно под MАSM611) p.s. можно конечно и под другие ассемблеры....
Хм опять не правильно задал вопрос... Мне нужны все ошибки с их пояснением! что то типа еррор такая то и возможные неполадки при ассемблирование...
Так masm611 так и выдает. Пишет код ошибки; строка, в которой допущена ошибка; краткое содержание - суть самой ошибки.
только начинаю писать на асемблере, компилирую в fasm... как записать такую конструкцию ... _password db 'qwerty', 0 ... чтобы после кмпиляции, после открытия исходного кода в блокноте, невозможно было найти значение переменной _password
Konfuz™, Только зашифровать строку, а затем в ходе выполнения программы её расшифровывать. Самое элементарное использовать логическое побитовое исключающее ИЛИ - xor. Вот недавно обсуждалась тема. Алгоритм и рабочую процедуру я предоставил _http://forum.antichat.ru/showthread.php?p=2576359#post2576359 P.S. вместо этой фразы всегда подставляй "в HEX-редакторе". Так солиднее
Konfuz™, Увы, FASM не люблю, потому могу предоставить на MASM. Вначале шифруем строку "qwerty" алгоритмом, что я давал выше. Ключ возьмем к примеру 10. В итоге получается такая последовательность байт: Code: 7Bh,7Dh,6Fh,78h,7Eh,73h Теперь вместо Code: _password 'qwerty',0 нужно подставить зашифрованную строку Code: _password db 7Bh,7Dh,6Fh,78h,7Eh,73h,0 Для того, что бы использовать строку _password в дальнейшем, в начале программы её нужно расшифровать опять всё тем же алгоритмом с ключом 10. Code: .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib .data _password db 7Bh,7Dh,6Fh,78h,7Eh,73h,0 .code start: mov esi,offset _password mov edi,offset _password mov ecx,sizeof _password dec ecx m1: lodsb xor al,[COLOR=DarkOrange]10d[/COLOR] [COLOR=Lime];ключ шифрования[/COLOR] stosb loop m1 [COLOR=Lime];все, строка расшифрована и имеет вид 'qwerty' ;можно нормально с ней работать[/COLOR] push 0 call ExitProcess end start