Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2010, 17:20   #1
Studik
Пользователь
 
Аватар для Studik
 
Регистрация: 07.05.2010
Сообщений: 34
По умолчанию Компиляция на MASM

Только разбираюсь с MASM, пользуюсь программой "MASM 32 Editor".
Суть проблемы: не могу создать непосредственно, готовый, исполняемый файл.
Произвожу действия: сохраняю Верный код в формате *.asm в программе следующие действия "Project -> Build all" для проверки на ошибки, "Project -> Run program" для создания исполняемого файла, но не получается.
И какую программу можете посоветовать, для начинающих?
Если бы все люди были идеальны, то любого человека можно было бы заменить любым другим...
Studik вне форума Ответить с цитированием
Старый 17.05.2010, 22:58   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

покажите код
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 18.05.2010, 12:25   #3
Studik
Пользователь
 
Аватар для Studik
 
Регистрация: 07.05.2010
Сообщений: 34
По умолчанию

Этот код я взял из учебника, правда программа MASM32 editor там упоминается мимолетно и все действия описываются через дос, но мой дос почемуто не знает некоторые команды как например "link"
Код:
TITLE   EX_PROG - ПРИМЕР ПРОГРАММЫ
        PAGE    ,132
STACK   SEGMENT PARA STACK  'STACK'
        DB      64 DUP('STACK ')
STACK   ENDS
DSEG    SEGMENT PARA PUBLIC 'DATA'
SOURCE  DB  10,20,30,40 ;ЭТА ТАБЛИЦА БУДЕТ СКОПИРОВАНИА В
DEST    DB  4 DUP(?)    ;ЭТУ ТАБЛИЦУ, НО В ОБРАТНОМ ПОРЯДКЕ
DSEG    ENDS
SUBTTL  ОСНОВНАЯ ПРОГРАММА
        PAGE
CSEG    SEGMENT PARA PUBLIC 'CODE'
OUR_PROG PROC   FAR
        ASSUME  CS:CSEG,DS:DSEG,SS:STACK
;
;ЗАНЕСТИ В СТЕК ТАКИЕ НАЧАЛЬНЫЕ ЗНАЧЕНИЯ, ЧТО БЫ ПРОГРАММА
;МОГЛА ВОЗРАТИТЬ УПРАВЛЕНИЕ ОТЛАДЧИКУ DEBUG
;
        PUSH    DS          ;ПОМЕСТИТЬ В СТЕК НОМЕР БЛОКА АДРЕСА ВОЗРАТА
        MOV     AX,0        ;ОБНУЛИТЬ РЕГИСТР
        PUSH    AX          ;ПОМЕСТИТБ В СЕТК НУЛЕВОЕ СМЕЩЕНИЕ АДРЕС ВОЗРАТА
;
;
;ИНИЦИИРОВАТЬ АДРЕС СЕГМЕНТА ДАННЫХ
;
        MOV     AX,DSEG     ;ИНИЦИИРОВАТЬ DS
        MOV     DS,AX
;
;ПРИСВОИТЬ ЭЛЕМЕНТАМ ТАБЛИЦЫ DEST НУЛЕВЫЕ НАЧАЛЬНЫЕ ЗНАЧЕНИЯ
;
        MOV     DEST,0      ;ПЕРВЫЙ БАЙТ
        MOV     DEST+1,0    ;ВТОРОЙ БАЙТ
        MOV     DEST+2,0    ;ТРЕТИЙ БАЙТ
        MOV     DEST+3,0    ;ЧЕТВЕРТЫЙ БАЙТ
;
;СКОМПИЛИРОВАТЬ ТАБЛИЦУ SOURCE В ТАБЛИЦУ DEST, В ОБРАТНОМ ПОРЯДКЕ
;
        MOV     AL,SOURCE   ;СКОПИРОВАТЬ ПЕРВЫЙ БАЙТ
        MOV     DEST+3,AL
        MOV     AL,SOURCE   ;СКОПИРОВАТЬ ВТОРОЙ БАЙТ
        MOV     DEST+2,AL
        MOV     AL,SOURCE   ;СКОПИРОВАТЬ ТРЕТИЙ БАЙТ
        MOV     DEST+1,AL
        MOV     AL,SOURCE   ;СКОПИРОВАТЬ ЧЕТВЕРТЫЙ БАЙТ
        MOV     DEST,AL
        RET                 ;ВОЗРАТИТЬ УРАВЛЕНИЕ ОТЛАДЧИКУ DEBUG
OUR_PROG ENDP
CSEG    ENDS
        END OUR_PROG
Если бы все люди были идеальны, то любого человека можно было бы заменить любым другим...

Последний раз редактировалось Studik; 18.05.2010 в 12:35.
Studik вне форума Ответить с цитированием
Старый 18.05.2010, 13:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

link это по-моему не команда а программа.
Ты запускешь ее и в параметрах передаеш файл с прогой, а она уже создает бинарный код.
Так что ты скорее всего неверно запускаешь
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2010, 14:34   #5
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Дело не в этом. Вы пытаетесь собрать 16 битный проект (под дос, как вы говорите) используя при этом 32 битный компилятор. Судя по всему, вы скачали себе совсем не тот ассемблер. Скачайте себе компилятор отсуда: http://vetusware.com/download/MASM%2...06.11/?id=4711 или ищите в гугле MASM 6.11. А у вас скорее всего Хатчевский пакет, слитый с http://www.masm32.com/.

По поводу программы для начинающих... Если вы говорите про редактор, то подойдёт любой, с подсветкой кода. Я например, пользуюсь notepad++, или FAR manager c плагином colorer.

Вы так же можете скачать ассемблер FASM (flatassembler.net), он так же позволяет собирать 16 битные проекты. Отличия от синтаксиса минимальны с MASM. Хороший ассемблер - советую.

Будут вопросы, задавайте их на этом форуме. Здесь хорошие люди, они всегда вам помогут.
r9m вне форума Ответить с цитированием
Старый 18.05.2010, 14:43   #6
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

уже все ответели, берите masm 6.11, 6.13, 6.15 это для dos
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 18.05.2010, 18:47   #7
Studik
Пользователь
 
Аватар для Studik
 
Регистрация: 07.05.2010
Сообщений: 34
По умолчанию

Всем спасибо огромное.))
Если бы все люди были идеальны, то любого человека можно было бы заменить любым другим...
Studik вне форума Ответить с цитированием
Старый 07.06.2012, 12:53   #8
Memfis1992
Пользователь
 
Аватар для Memfis1992
 
Регистрация: 13.06.2010
Сообщений: 38
По умолчанию

у меня Windows 7 x64 Ultimate MASM 6.11 (setup.exe из директории DISK1) не хочет устанавливаться, что делать?

Последний раз редактировалось Memfis1992; 07.06.2012 в 12:59.
Memfis1992 вне форума Ответить с цитированием
Старый 08.06.2012, 10:18   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Ставить DosBox или подобное
p51x вне форума Ответить с цитированием
Старый 08.06.2012, 10:37   #10
Memfis1992
Пользователь
 
Аватар для Memfis1992
 
Регистрация: 13.06.2010
Сообщений: 38
По умолчанию

а он у меня и так установлен))я просто тупо не смог правильно путь до сэтапника масма указать,но это уже не важно)))всё хорошо собирается и в 11 версии
Memfis1992 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа Masm Doholyan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 23 31.01.2011 02:52
Вывод рожицы на MASM zotox Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 18.01.2010 20:55
скачать masm Serg12 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 08.11.2009 10:16
А где взять MASM RomanIgorevi4 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 06.07.2008 13:04
struct vs MASM format Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.05.2008 17:54