Masm, nasm, fasm, hla, краткий ликбез?

Тема в разделе "WASM.BEGINNERS", создана пользователем xlinuks, 18 авг 2006.

  1. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Ну, ассемблерный код и так видно. Что ещё нужно? Имена меток... Может, с ними комфортнее в Olly...

    IMHO, если бы фича была необходима, то её бы реализовали, хотя о той версии, что упоминает Asterix, мне не известно.

    ЗЫ: Забыл сказать, что я не против добавления данного итема в список минусов.
     
  2. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    локальные переменные, процедуры - с ними гораздо комфортнее в олли, ес-но если кода много

    насколько я знаю, это не так просто, но кого это волнует :)
     
  3. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    зато, пока на текущей версии в фасме нет отладочной информации.
     
  4. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Вобщем, как выяснилось, существует аддон к фасму позволяющий генерить листинг
    http://board.flatassembler.net/topic.php?t=3908
    из листинга S_T_A_S_ с помощью жаба скрипта генерил pdb
     
  5. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    Asterix
    Quantum
    :))
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Asterix
    Не только. Была попытка версии с отладочной инфой.
     
  7. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    мне тоже так казалось, но найти на форуме фасма не смог
     
  8. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    есть версия фасма, генерящая код к ассемблеру, после предпроцессинга.
    могу выложить, весьма интересная. Или на форуме фасма где-то был мой топик, там есть тоже.
     
  9. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    dead_body
    Ну и что? использовать фасм как фронт-энд к масму? :)
     
  10. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    IceStudent
    нет, просто может будет интересно посмотреть, что да, как внутри фасма.
     
  11. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    Скачал и установил фасм, нашел туториал по OpenGL (с примерами на фасм) и ради интереса копировал и скомпилировал пару примеров, короче я в шоке, екзешка получается по размеру меньше чем исходник, .exe всего в ДВА кб (1.833 байта) такооое вытворяет (смайлик во в fullscreen mode сияет как солнце и вертится во все стороны и от него исходят лучи переливаясь разными цветами, кароче, ляпота..).. я бы низачто не поверил бы если бы сам не увидел.., еще одно доказательство что ассемблер (и OpenGL) по многим параметрам превосходит другие не только как язык программирования но и как искусство, самый короткий код, самая быстрая скорость и.. нет ничего ничего что для него не возможно, ведь.. байт он и в африке байт! :)
     
  12. Темыч

    Темыч New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2006
    Сообщения:
    3
    Всем здрасте!
    У меня вот практический вопрос по теме! Как преобразовать вот такой простенький алгоритм из Tasm в Masm:
    TITLE my.asm
    ASSUME CS:CodeSegment
    CodeSegment SEGMENT PARA
    ORG(100h)
    Start:
    MainProcedure Proc Near
    pushf
    push cs
    mov bx, offset after_int
    push bx
    mov ah,0eh
    mov al,61h
    xor dx,dx
    mov ds,dx
    jmp dword ptr ds:[40h]
    after_int:
    RET
    MainProcedure ENDP
    CodeSegment ENDS
    END Start
    У меня странные вещи происходят в силу неопытности!!! Помогите!
     
  13. CrazyFun

    CrazyFun New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2005
    Сообщения:
    129
    вроде должно работать
    Код (Text):
    1. .model tiny
    2. code segment para public 'code'
    3. assume cs:code,ds:code,ss:code
    4. org 100h
    5.         MainProcedure Proc Near
    6.             pushf
    7.             push cs
    8.             mov bx, offset after_int
    9.             push bx
    10.             mov ah,0eh
    11.             mov al,61h
    12.             xor dx,dx
    13.             mov ds,dx
    14.             jmp dword ptr ds:[40h]
    15.   after_int:
    16.             RET
    17. MainProcedure ENDP
    18. CodeSegment ENDS
    19. END MainProcedure
     
  14. Lightning

    Lightning New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2006
    Сообщения:
    24
    IMHO
    FASM - самый рульный ассемблер.
    Когда я впервые его увидел, я был приятно удивлен.
    Отсутствие lib для линковки, импорт задается только макросами, мощный препроцессор, открытые исходники, возможность делать бинарники. По-моему просто супер!
     
  15. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    Я полностью поддерживаю Lightning :)
     
  16. Темыч

    Темыч New Member

    Публикаций:
    0
    Регистрация:
    22 авг 2006
    Сообщения:
    3
    А вообще говоря разница между асмами большая(Tasm,Masm,Fasm,Nasm).
    Я начал с Masm'а, но не хочу им ограничиваться! Киньте ссылки на компиляторы и толковую литературу по ним (особенно Tasm и Fasm)! Заранее благодарен!
     
  17. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    xlinuks

    Уважаемый, мне просто интересно, а как вы получили файл размером 1.833 байта?
     
  18. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    Зайди сюда и скачай туториал по OpenGL, написано под FASM:
    http://tylerdurden.planet-d.net/tutorials.php

    Сам туториал написан доступно, в нем еть и исходники и готовые екзешки, удачи.

    хехе т.е. я использовал американскую систему счисления, по нашему будет 1833 байта, они после каждых трех цифр справа ставят точку, у меня тож появилась эта вредная привычка ( просто я пару лет как программирую на Java а вся документация и сам форум на их сайте естественно на анг, и я привык к анг больше чем к русскому, хоть это и может показатся странным, а ассемблер начал сравнительно недавно изучать - благодаря этому сайту - здесь есть для этого буквально все )
     
  19. SiruS

    SiruS Алекс

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    145
    Адрес:
    Львов
    xlinuks

    Это я понял, что файл размером 1833 байта, но почему не 2048? Компилятор же должен выравнивать по 512 байт...
     
  20. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    По FileAlignment выравниваются секции. Предположим их две - 1024. Плюс заголовки MZ, PE, Section headers...