Асм (ассемблер) Помогите разобраться плиз

fxnext

New member
Регистрация
9 Май 2008
Сообщения
8
Реакции
0
Баллы
0
Привет) Хочу изучить язык Ассемблера, скачал кучу книг не в одной толком не понял самого начала как пользоваться МASM ( ну я на ней решил начать) и вообще не понял как асамблировать и компилировать(.
Как же писать на этой звирюге подскажите плиз:confused:
 

j2me

Заблокирован
Регистрация
23 Апр 2009
Сообщения
24,449
Реакции
26
Баллы
0
Адрес
Архангельская область: доска, треска и тоска
последний раз пользовался masm лет 15 назад. сейчас fasm - flat assembler
bf99395f11c1.png

"fasmw168.zip" - http://arkhangelsk.data.cod.ru/453132 - 0.829 Мбайт
работать до безумия просто:
-file open ".asm"
-f9
в архиве есть примерчики.
 

TestPoints

Супермодератор
Регистрация
18 Авг 2008
Сообщения
1,287
Реакции
2
Баллы
0
Адрес
Северодвинск
j2me в своём стиле. Ответ есть - но никому он не понятен:gg:

Прилагаю архив с компилятором и средой разработки (см ниже).
Сначала ставим прогу из папки MASM613 в каталог по умолчанию.
Затем из папки Irvine тоже в каталог по умолчанию.

В итоге на диске С:\ будет две папки. В МАСМ613 заходить не понадобится, а вот в папке Irvine будет оболочка и набор примеров.

Рассмотрю как с этим работать, на примере компиляции сэмпла из папки ch01 файла HELLO.ASM

1шаг. Заходим в папку Irvine и запускаем файл masm.bat. Появится оболочка


2шаг. Выберем пример HELLO.ASM из папки ch01. Через меню File->Open.


3шаг. Компиляция. Сначала жмём в меню Run пункт Assemble, если ошибок нет, вылезет следующее окно:

тыкаем любую клавишу и возвращаемся обратно. Теперь жмём в меню Run пункт Link и жмём на Ok. Вылезёт чёрное окно. Просто жмём Enter. Если всё круто, вылезет окно:


4шаг. Проверка что получилось: Меню Run->Run

--------

fxnext, правда у нас в институте преподают TASM, но они похожи.
Файлы и приложения были скопированы с диска к книге
"Язык ассемблера для процессоров Intel" автора Кипа Р. Ирвина.

http://depositfiles.com/files/gazz5qw2e
 

j2me

Заблокирован
Регистрация
23 Апр 2009
Сообщения
24,449
Реакции
26
Баллы
0
Адрес
Архангельская область: доска, треска и тоска
TestPoints, человеку желающему изучить asm, должно быть понятно все с полпинка, иначе BASIC only :)
открыв архив сразу бросается в глаза:
FASM.EXE - компилятор из командной строки
FASMW.EXE - логично предположить, что это с GUI
запустив последний увидим редактор не скажу чего и найдем до боли знакомое меню File-Open и в новинку Run-Run, которое должно что-то запустить...
TestPoints, в какой из 2-х быстрее будет? ;)
 

fxnext

New member
Регистрация
9 Май 2008
Сообщения
8
Реакции
0
Баллы
0
Огромное спасибо))
 

ЙАДИБИЛ

New member
Регистрация
21 Фев 2010
Сообщения
9
Реакции
0
Баллы
0
TestPoints , который в программировании ничего не шарит, разговаривать пытаеться на равных, смешно=)
Супермодератор, хаха=)
 

Man In Black

Заблокирован
Регистрация
29 Сен 2010
Сообщения
147
Реакции
0
Баллы
0
Чтоб не убить комп проще всего основы ассемблера поизучать на каком-нибудь мелком проце типа Microchip PIC16F84 (самый простой вариант). Смотрите сайт производителя http://www.microchip.com Заодно и архитектуру процессора сразу изучите (хотя она и отличается от Intel x86).
А то я давно (лет 15-ть назад) что-то ломал на ассемблере - у меня полвинта снесло, пришлось ещё FAT32 изучать :)
 

Man In Black

Заблокирован
Регистрация
29 Сен 2010
Сообщения
147
Реакции
0
Баллы
0
j2me, понятно, просто я давно на асме ничего не писал, а вот вмварь для PHP проектов юзаю постоянно :)
 

Stiff

New member
Регистрация
12 Июл 2008
Сообщения
271
Реакции
0
Баллы
0
Адрес
Архангельск
Любой современный компилятор высокоуровневнего языка поддерживает ассемблерные вставки. И вовсе необязательно ставить masm
 

j2me

Заблокирован
Регистрация
23 Апр 2009
Сообщения
24,449
Реакции
26
Баллы
0
Адрес
Архангельская область: доска, треска и тоска
Код:
{$IFDEF MSWINDOWS}
function ThreadWrapper(Parameter: Pointer): Integer; stdcall;
{$ELSE}
function ThreadWrapper(Parameter: Pointer): Pointer; cdecl;
{$ENDIF}
asm
{$IFDEF PC_MAPPED_EXCEPTIONS}
        { Mark the top of the stack with a signature }
        PUSH    UNWINDFI_TOPOFSTACK
{$ENDIF}
        CALL    _FpuInit
        PUSH    EBP
{$IFNDEF PC_MAPPED_EXCEPTIONS}
        XOR     ECX,ECX
        PUSH    offset _ExceptionHandler
        MOV     EDX,FS:[ECX]
        PUSH    EDX
        MOV     FS:[ECX],ESP
{$ENDIF}
        MOV     EAX,Parameter

        MOV     ECX,[EAX].TThreadRec.Parameter
        MOV     EDX,[EAX].TThreadRec.Func
        PUSH    ECX
        PUSH    EDX
        CALL    _FreeMem
        POP     EDX
        POP     EAX
        CALL    EDX

{$IFNDEF PC_MAPPED_EXCEPTIONS}
        XOR     EDX,EDX
        POP     ECX
        MOV     FS:[EDX],ECX
        POP     ECX
{$ENDIF}
        POP     EBP
{$IFDEF PC_MAPPED_EXCEPTIONS}
        { Ditch our TOS marker }
        ADD     ESP, 4
{$ENDIF}
end;


{$IFDEF MSWINDOWS}
function BeginThread(SecurityAttributes: Pointer; StackSize: LongWord;
  ThreadFunc: TThreadFunc; Parameter: Pointer; CreationFlags: LongWord;
  var ThreadId: LongWord): Integer;
var
  P: PThreadRec;
begin
  New(P);
  P.Func := ThreadFunc;
  P.Parameter := Parameter;
  IsMultiThread := TRUE;
  Result := CreateThread(SecurityAttributes, StackSize, @ThreadWrapper, P,
    CreationFlags, ThreadID);
end;


procedure EndThread(ExitCode: Integer);
begin
  ExitThread(ExitCode);
end;
{$ENDIF}
:)
 

Tolik2

New member
Регистрация
25 Июн 2009
Сообщения
19
Реакции
0
Баллы
0
Адрес
Северодвинск
Льете Воду, Просили просто посоветовать, как освоить Ассемблер, а вы сразу точите его под Windows! Есть хорошая литература В.Юров С.Хорошенко Assembler(учебный курс)
Лучше распечатать, и осваивать потихоньку, сам начинал с этого - после Спектрума. Если очень большое желание и ты из Северодвинска, дам оригинал (на время!)
 

And_77

New member
Регистрация
16 Янв 2009
Сообщения
1,137
Реакции
1
Баллы
0
Адрес
Венесуелла, Каракас
fxnext, если ты из Северодвинска, то могу предложить (бесплатно) эти книжки, сам по ним асм осваивал, там есть именно про masm:

 
Последнее редактирование:

Tolik2

New member
Регистрация
25 Июн 2009
Сообщения
19
Реакции
0
Баллы
0
Адрес
Северодвинск
And_77
Tasm более лёгкий для изучения, в этой книге упор делается на него, но примеры даны и под masm.
 
Последнее редактирование:

j2me

Заблокирован
Регистрация
23 Апр 2009
Сообщения
24,449
Реакции
26
Баллы
0
Адрес
Архангельская область: доска, треска и тоска
Сверху