На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Помогите начинающему
    Начал изучать asm, но столкнулся с такой проблемой: ни одна программа написанная мной не компилируется, я не соблюдаю какие-то правила со стеком связанные или другие. Нашел на сайте www.assembler.ru код простейшей программы, которая даже ничего не делает, а просто начинает свою работу и заканчивает, но даже при ее компиляции в Masm501 выдал около 7! ошибок.
    Может у кого-нибудь есть другой вариант элементарного кода, используя который я мог бы вводить свои первые инструкции и исполнять их?
      Ты бы поподробнее написал: какой код, какие ошибки, какие параметры задаёшь при компилировании.
        Код такой:
        .386
        .model flat,stdcall
        ExitProcess PROTO :DWORD
        .code
        WinMain PROC PUBLIC hinst,prev_hinst,command_line,cmd_show
        ;...
        invoke ExitProcess,0
        WinMain ENDP
        end
        Честно говоря, я здесь ничего практически не понимаю(пока), но там (http://www.assembler.ru/11_arts/11000200.htm) написано, что прога заработает и без ошибок завершится, а мне оно и нужно, чтобы в середине вписывать свои мини-программки, учиться потихоньку, короче. Я раньше ведь свободно на asm-e под Z-80 писал, а недавно писюк появился и здесь все более замороченно.
        Если кто помнит ZX-Spectrum, он меня поймет 8).
        А компилирую я в Masm51 без параметров, просто
        >...\masm51.exe "name.asm"
        Спасибо за помощь.
          Ну, во-первых, там написано, что компилируется это с помощью ML. Во-вторых, нужно подключить kernel32.lib .
          Мне лично кажется, что сначала нужно научиться писать проги под ДОС, а потом уже под Windows (а у тебя здесь как раз пример под Windows). Если честно, я всегда пользуюсь TASM'ом, а под Win на асме никогда не писал :) . Так что могу привести тебе пример для TASM'а...
          Программа COM:
          --------------[ Резать тут! :]---------------
          .MODEL Tiny
          .286
          .CODE
          ORG 100h
          Start:
          ;---- Здесь твой код ----;
          int 20h
          END Start
          -------------[ Кончать тут! :]---------------
          Программа EXE:
          --------------[ Резать тут! :]---------------
          .MODEL Small
          .286
          .STACK 100h
          .DATA
          ;---- Данные ----;
          .CODE
          Start:
          ;---- Здесь твой код ----;
          mov ah,4Ch
          int 21h
          END Start
          -------------[ Кончать тут! :]---------------
          COM компилируется так:
          TASM proga.asm /m9
          TLINK proga.obj /x /t
          EXE компилируется так:
          TASM proga.asm /m9
          TLINK proga.obj /x
            Спасибо 7in. прога запускается, работает, я почти счастлив! А почти - потому что она отработав, сразу захлопывает окошко и о результатах работы можно только догадываться.
            Кстати, компилится она в Tasm-e без проблем, а вот Microsoft Assembler сообщил, что мол "operand expected", ну да и хрен с ним, все равно Борман симпатичнее мне.
              Не знаю, почему захлопывается :(
                У меня есть типовые заготовки на асме, на основе которых я пишу программки следующих форматов:
                COM, MZ EXE, NE, PE
                Могу на почту скинуть для изучения
                  А окошко схлопывается из-за настроек виндов...
                  У меня есть кое-что интересное на асме, если надо - скину, только для начала разберись в нем получше... Сам помню, как с Zilogа перелазил...
                  З.Ы. Z80 is cool
                    Тоже парился после Z80, но есть пара класных
                    книг Ассемблер -язык без границ (www.dmk.ru)
                    ну и Питер Абель тебе поможет:).Кстати там
                    диск с исходниками от книжки и масм какой то.
                    Есть своя подборка из инета и FIDO.
                    удачной ловли багов,isFish
                    p.s. поимей какой нить отладчик типа td.exe
                    для начала хватит и избавит от кучи проблем
                    ну и дизасемблер не помешает (IDA).
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0244 ]   [ 15 queries used ]   [ Generated: 30.04.24, 15:55 GMT ]