Консультация № 140223
18.07.2008, 19:26
0.00 руб.
0 7 1
Добрый вечер =)
подскажите пожалуйста а где можно достать видео курс по ассемблеру? на русском языке :)

и еще такой мини вопрос...почему флат ассемблер у меня всегда ругаеться на 1йу строку? вроде вставил код , нажал Ран а он пишет что ошибка на 1 строке...Хотя ее там в упор нету пишет "illegal instruction" и указывает на CSEG segment
Зарание большое спасибо =)

Обсуждение

давно
Старший Модератор
31795
6196
18.07.2008, 19:50
общий
это ответ
Здравствуйте, Герасимов Виталий Владиславови!

О видеокурсе ничего не скажу т.к. не встречал таког всё учил по книгам.

FAMS ругается т.к. действительно такой инструкции в этом компиляторе нет. Синтаксис компилятора отличается от того который используют MASM и TASM. Пример кода для FAMS-16721 смотрите в приложении.
Посмотрите Help in Russian by Paranoik и Вы увидете отличия.
Вопросы задавайте в минифорум.
Удачи!


Приложение:
; Beer - example of tiny (one section) Win32 programformat PE GUI 4.0include ‘win32a.inc‘; no section defined - fasm will automatically create .flat section for both; code and data, and set entry point at the beginning of this section invoke MessageBoxA,0,_message,_caption,MB_ICONQUESTION+MB_YESNO cmp eax,IDYES jne exit invoke mciSendString,_cmd_open,0,0,0 invoke mciSendString,_cmd_eject,0,0,0 invoke mciSendString,_cmd_close,0,0,0exit: invoke ExitProcess,0_message db ‘Do you need additional place for the beer?‘,0_caption db ‘Desktop configuration‘,0_cmd_open db ‘open cdaudio‘,0_cmd_eject db ‘set cdaudio door open‘,0_cmd_close db ‘close cdaudio‘,0; import data in the same sectiondata import library kernel32,‘KERNEL32.DLL‘,\ user32,‘USER32.DLL‘,\ winmm,‘WINMM.DLL‘ import kernel32,\ ExitProcess,‘ExitProcess‘ import user32,\ MessageBoxA,‘MessageBoxA‘ import winmm,\ mciSendString,‘mciSendStringA‘end data
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
18.07.2008, 22:56
общий
Спасибо =) однако я не понимаю как подключаются эти модули..вернее где и при каких условиях...я просто учу assembler по книге Калашникова Олега Александровича "Ассемблер это просто! когда есть удобный компилятор >_<" просто у него в таком виде исходники

Код:
 
format CSEG

org 100h

_beg:
mov ax,0B800h
mov es,ax
mov di,0

mov ah,31
mov al,1
mov es:[di],ax

mov ah,10h
int 16h

int 20h

CSEG ends
end _beg



ну покрайней мере день назад так было =) брал с его сайта. Кстате интересный языкХотя в моментах и сложноват..однако поднимаясь выше я понимал что мне было не понятно в начале =) я вот прилично с шестнадцатиричным кодом парился, долго пытался понять как из 21h получилось 33 =) потом понял когда почитал дальше.ММ скажите а что легче Си++ или всетаки ассемблер?

p/s спасибо за ответ =)
давно
Старший Модератор
31795
6196
19.07.2008, 06:25
общий
1) если Вы заметили О.Калашников советует пользовватся MASM, ну или вдруг не повезет TASM, а FASM совсем недавно появился, тогда(когда писалась книга) его не было.
2) у Fasm смнтаксис отличается от стандарта ассембера MASM|TASM - Intel.
3) Ассемблер это язык программирования, который МАКСИМАЛЬНО приближен к ЯЗЫКУ ПРОЦЕССРА, все компиляторы вначале переводят в ассеблер(сама процедура очень сложная), а потом компилируют в исполняемый код, ассемблер это когда как Вы напишете - так оно(Ваше произведение) будет испонятся. Если использовать другие компиляторы, то за качество перевода отвечает как бы фирма-производитель, но внимательно прочитав лицензию Вы обнаружите, что это не так, только плати деньги, а все претензии- лицензия перекрывает. КАК ВЫ НЕ ЧИТАЛИ!????, а почему?
4) Программист С++ не думает как располженны переменные в памяти (всё это делает компилятоор).
Прогаммист ассемблера всё считает в уме (сколько байт на одну переменную, на один элемент массива).
Для изучения оба языка тяжёлые. Вопрос в другом, ЧТО ВЫ ХОТИТЕ ОТ ЭТИХ ЗНАНИЙ ПОЛУЧИТЬ
Если Вы захотите занятся Ассемблером - Вам это пригодтся - при анлизе другого ПО
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
19.07.2008, 11:44
общий
ММ...а можете поделиться бач файлами? для Масм у меня вот так он выглядит..но не пашет должным образом =(
Код:
 
c:masmmasm32inml.exe /c /coff Prog02.asm
c:masmmasm32inlink.exe /subsystem:windows Prog02.obj
pause


Для изучения оба языка тяжёлые. Вопрос в другом, ЧТО ВЫ ХОТИТЕ ОТ ЭТИХ ЗНАНИЙ ПОЛУЧИТЬ
Если Вы захотите занятся Ассемблером - Вам это пригодится - при анлизе другого ПО
а не вредно знать Си++ и ассемблер? вы не подскажите сколько примерно месяцев уйдет на освоение языка до высокого уровня, учитывая практику?

Спасибо за ответы
Неизвестный
18.08.2008, 09:43
общий
Если мне не изменяет память и Москва от вас не очень далеко, то в ТД Библио-глобус среди прочих книжек по хакерству полке эдак на третьей-четвёртой (без лестницы не увидеть) лежит одна именно такая книга - Ассемблер для хакеров (или кого-то там ещё) + видеокурс.
Неизвестный
18.08.2008, 10:18
общий
:P не...нету желания ехать 8 часов в МСК ради книгия бы и в СПб посмотрел...да не уерен что поблизости продаюта так спасибо за ответ ) теперь буду знать что есть всетаки видео по ассемблеру
Неизвестный
18.08.2008, 15:43
общий
Я б сказал, как она называется, да только уже уехал из Москвы, а на их сайте - тоже не нашёл, но визуально у них там не все книги, какие есть на полках.
Форма ответа