Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для начинающих > Среда разработки


Автор: DragonFire 15.6.2006, 18:39
Итак, вот вопрос: попытался я написать прожку на аасемблере, написал как в книжке было написано. Решал скомпилировать, скачал всякие масмы часа 4 парился, наконец скомпилировал все же, но как-то криво - прога скомпилированая отчет предлагает отправить. 
Второй мой шаг - поставил какую то среду под DOS а там при компиляции какие то ошибки, типо чето в среде не связано...
короче, есть ли нормальная среда под Windows чтобы можно было писать код и запускать одной кнопкой а не тыкать по клаве в консоли??????? 

Автор: Akina 15.6.2006, 22:51
Судя по описанию тебе пока никакие среды не помогут. Я, например, 90% АСМ-кода пишу в блокноте - и ничего. 

Учи лучше матчасть. 

Автор: ds29 15.6.2006, 23:03
пиши на бейсике

ps ищи по форуму, неоднократно обговаривали. 

Автор: oleg1973 16.6.2006, 02:44
1 кнопкой это FASM 

Автор: DragonFire 16.6.2006, 07:55
FASM? А можно линк на рабочий)) 

Автор: ds29 16.6.2006, 10:50
oleg1973, Фасм такой же как и все, просто в нём встроеная IDE, хотя именно это он и ищет.


DragonFire, 
как я понял по форуму ты не поискал, а перед тем как cпрашиваешь стоит поискать, так что читай правила форума,

p.s. а самому фасм найти трудно? 

Автор: DragonFire 16.6.2006, 12:04
Короче ясно все... придется поискать всеже) 

Автор: DragonFire 16.6.2006, 13:08
Так, скачал FASM набрал текст из книжки по ассемблеру - пример первый:
Код

TITLE PRIMER11
CODSEG SEGMENT
       assume CS:codseg,DS:codseg,SS:codseg,ES:codseg
       ORG 100H
Begin:
        JMP Beg_code
TEXT DB 'Text. $'
Beg_code:
        MOV AX,CS
        MOV DS,AX
        LEA DX,TEXT
        MOV AH,9
        INT 21H
        MOV AH,4CH
        INT 21H
END BEGIN        
            
И он мне на первой же строчке выдает ошибку... Вообщем скомпилировал он только такой вариант:
Код

       ORG 100H
Begin:
        JMP Beg_code
Beg_code:
        MOV AX,CS
        MOV DS,AX
        MOV AH,9
        INT 21H
        MOV AH,4CH
        INT 21H

Что делать то?

  

Автор: oleg1973 16.6.2006, 14:59
почитать мануал от ФАСМ
там есть опция для компиления ехешников format MZ 

Автор: DragonFire 16.6.2006, 16:49
Вот все что я нашел там про формат MZ (или мож я че не так ищу?)
Код

MZ executable
To select the MZ output format, use format MZ directive. The default code
setting for this format is 16–bit.
segment directive defines a new segment, it should be followed by label,
which value will be the number of defined segment, optionally use16 or use32
word can follow to specify whether code in this segment should be 16–bit or
32–bit. The origin of segment is aligned to paragraph (16 bytes). All the
labels defined then will have values relative to the beginning of this segment.
entry directive sets the entry point for MZ executable, it should be followed
by the far address (name of segment, colon and the offset inside segment)
of desired entry point.
stack directive sets up the stack for MZ executable. It can be followed by
numerical expression specifying the size of stack to be created automatically
or by the far address of initial stack frame when you want to set up the stack
manually. When no stack is defined, the stack of default size 4096 bytes will
be created.
heap directive should be followed by a 16–bit value defining maximum
size of additional heap in paragraphs (this is heap in addition to stack and
undefined data). Use heap 0 to always allocate only memory program really
needs. Default size of heap is 65535.

И что-то ниче не понял  smile  

Автор: BUGOR 16.6.2006, 16:58
Код

use16
      ORG 100H    
Begin:    
        JMP Beg_code    
TEXT DB 'Text. $'  
Beg_code:    
        MOV AX,CS    
        MOV DS,AX    
        LEA DX,TEXT    
        MOV AH,9    
        INT 21H    
        MOV AH,4CH    
        INT 21H    
END BEGIN       
    

Автор: DragonFire 16.6.2006, 18:45
Пишет что не понимает строки
LEA DX,TEXT    
END BEGIN    
При запуске такого кода:
Код

use16
       ORG 100H
Begin:
        JMP Beg_code
TEXT DB 'Text. $'
Beg_code:
        MOV AX,CS
        MOV DS,AX
        MOV AH,9
        INT 21H
        MOV AH,4CH
        INT 21H

результат тотже - открывается окно в нем рисуется много много непонятных символов, после чего оно закрывается) 

Автор: ds29 16.6.2006, 21:13
тут приводил примеры :
http://forum.vingrad.ru/index.php?showtopic=99243&view=findpost&p=754042

там дальше и описание форматов 

Автор: DragonFire 16.6.2006, 22:51
Спасибо, ща нет времени, чуть попоже прочту))  

Автор: DragonFire 17.6.2006, 21:32
Я понял одно - нужно покупать учебник по FASM, иначе из MASMa сложно код переводить в FASM... 

Автор: ds29 17.6.2006, 22:52
так вместе в ФАСМ'ом и поставляется учебник.

а настоящей "книги" я не видел, а так , в нете, много. 

Автор: DragonFire 17.6.2006, 23:23
Не кинешь линк хотя бы на одну, плиз, торлько на русском?
Бумажных нету, сегодня был в доме книги большом в Москве и библио сфере - нету  smile  

Автор: ds29 18.6.2006, 01:01
это и не странно, 
вот про FASM: http://sysbin.com/files/articles/fasm.html 

Автор: Oleg_Ci 18.6.2006, 09:28
Цитата
короче, есть ли нормальная среда под Windows чтобы можно было писать код и запускать одной кнопкой а не тыкать по клаве в консоли???????
Да ведь полным полно редакторов разных. Я диск DVD с языками программирования покупал, вот сейчас насчитал там 4 разных редактора кодов, вот копирую что написано хотябы про Code Edit Studio 2.0:

Текстовый редактор с подсветкой синтаксиса для 40 языков. Code Edit Studio - это интегрированая среда разработки приложений на платформе Win32. Code Edit Studio поддерживает Windows 98, NT, ME, 2000 & XP платформы.

Да ведь и с MASM32  идёт редактор  QEDITOR !! там тоже мышкой кликать на копиляцию можно.
Cам пробовал на ассемблере писать в ASM editor2.2c, Text Page, и вот такой процесс там:
для ASM editor ничего настраивать ненадо, просто пишешь программу и кликаеш на кнопки. Настроен по умолчанию для комилятора masm32. Русские менюшки, подсветка есть (в отличии от QEDITOR).
а для Text pag ещё настроить надо пути до компилятора, сдесь помучиться пришлось мне (в первый раз ставил).
Так-что за FASM наверно и незачем гонятся(я его в глаза невидел) , лучше редактор кода взять нормальный да и только-то, и кликай на кнопочки - 'скомпилировать' ,  да на - 'запрустить программу'. 

Автор: DragonFire 18.6.2006, 10:45
ds29
А учебников электронных каких-нибудь по нему нету? Хотя и так СПАСИБО)

Олег4
Скачал ASM editor и настроел его под MASM (там пути изменил), написал прогу из ученика (я ее уже приводил) и тыкнул run program - он его скомпелировал, но при запуске окошко открывается и сразу закрывается (а вроде так не должно быть), потом я че то там потыкал и больше run program уже не работает  smile  

Автор: ds29 18.6.2006, 12:25
DragonFire, есль DOS программа, то и должна закрываться (типо hallo w.) , так что либо консоль настрой, либо в уже открытой консоли запускай откомпиленый exe'шник.

Олег4, за фасмом далеко не из за встроеной IDE гоняются, кстати она давольно примитивна, и все сразу переходят на FreshWork или подобные для FASM. 

Автор: DragonFire 18.6.2006, 12:51
У меня он теперь вообще ниче не делает когда я тыкаю на ран програм... переустановка ничего не дала, вообще бред полдный. Это после того как я тыкнул на кнопку "Bild ALL" а потом на "Link OBJ File" ... 
Пишет что фатал ерор возникает:
PR11.obj: Fatal Error LNK1190: invalid fixup found, type 0x001 

Автор: Oleg_Ci 18.6.2006, 15:21
А ты DragonFire вижу хочеш программы запускать из ASM editor. Вот я сейчас скачал Fasm и настроил его(ASM editor) немного. Кстати редактор без русских менюшек, я давно его не запускал, и почему-то запомнилось что он на русском.
Я так понял работу Fasm   и   ASM editor:
1 В  Asm edit. входим в меню servise->properties->project и в конце списка, колонки comand, добавляю FASM build, а напротив путь указал c:\fasm {be}
2 Записал программу в Asm edit.
Код

org     100h                    ; code starts at offset 100h    
use16                           ; use 16-bit code    
    mov     ah,9    
    mov     dx,Message    
    int     21h    
    int     20h    
Message db 'Hello world!$'
3 File->Save as сохранил под назван. aa  на диске С
4 Скопировал на диск С файл FASM.exe
5 Жму в меню Project->FASM build
Теперь на диске С файл появился аа.сом, чтоб его запустить из Asm edit. помойму надо также путь в настройках указать до dos`а и передать ему файл аа.сом, не знаю как это сделать, и где виндуосовский dos`овец лежит тоже незнаю.
Короче файл запускаю из уже запущеного dos`а (командной строки):
1 cd c:\    //   2 C:>aa     
в ответ программа выводит "Hello World!!!"
Вот такие пироги получились.
К стати ещё можно так сделать servise->properties->buttons->V->FASM build  и теперь для компиляции можно на 'V' нажимать в, панели инструментов.
И вообще каким ты компилятором пользоваться решил?. Я вот не-то не-сё, там поклацал, тут поклацал, вот щас на fasm поклацать ещё осталось. А вообще ассемблер я проктически и не знаю. 

Автор: DragonFire 18.6.2006, 16:47
ДА НЕТ
Я пытаюсь именно MASM запустить из ASM editorа... FASM и так нормально запускается... а вот MASM у меня не пашет... 

Автор: ds29 18.6.2006, 20:04
я , например, первый год программирования на ассемблере компилировал из командной строки или из FAR медежера.

чего и тебе желаю 

Автор: DragonFire 19.6.2006, 11:21
Ага я тоже пытался - ко мне пришел друг с 4 курса и мы с ним 4ЧАСА (!) пытались скомпелировать этот долбаный пример, он понаписал кучу разных каких то фичей после самой команды после чего (после 4 часов) наконец это дело скомпелировалось, но только вот при запуске виндоус мой любимый отчет предлагает отправить  smile  

Автор: sgi1981 30.6.2006, 23:27
http://forum.vingrad.ru/index.php?showtopic=98249 

Автор: setty 1.7.2006, 23:41
DragonFire твой случай просто клинический
могбы просто батник состряпать типа такого
echo off
ml /c /nologo /coff %1.asm
link /subsystem:console %1.obj

и все
патом чтоб скомпилить прогу просто пишу run r1 кпримеру и все...
а еще того лучьше - стрелку вниз (предыдушая команда) и энтер...

и иде есть - RADASM тотже кпримеру, довольно симпатично и удобно..
и он неодин, полно альтернатив...
в инэте все можно найти, но раз тебе так трудно даётся поиск вот могу посоветовать изучить это
http://www.asmcommunity.net/board/index.php?board=24.0
5 иде, тамже есть ссылки на скачку, как правило они неплохо документированы + частенько встречаются доки для полных нубов, помимо того на каждый своя ветка форума, где зачастую можно задать вопросы непосредственно авторам 

 

Автор: rsm 2.7.2006, 16:18
setty, не торопись с IDE. Это позже можно ставить любую IDE для повышения производительности труда. А по началу очень важно научиться работать с компилятором и линкером.

DragonFire, три совета:
1. Пользуйся только тем компилятором, о котором написано в твоей книге. Иначе запутаешься в мелких отличиях синтаксиса разных компиляторов и сам себе не рад будешь.
2. Помни, что в книге тоже могут быть ошибки и опечатки, из-за которых пример не работает. Сейчас почти с каждой книгой идет диск или дискета - бери код оттуда.
3. Прочитай все же эту книгу smile Наверняка там есть указания о том, как компилировать примеры.
Если ничего не помогло, пиши сюда, дальше разбираться будем smile 

Автор: SergeCpp 3.7.2006, 08:08
http://fresh.flatassembler.net/download.php

http://board.flatassembler.net/topic.php?t=4990 (in English) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)