Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как подключить компилятор masm к редактору, подключение 
V
    Опции темы
ferz721
Дата 14.1.2011, 04:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.1.2011

Репутация: нет
Всего: нет



прочитал статьи и форумы здесь
Цитата



"Итак, начнем. Запустите tp7(или более младшие версии, 
где можно писать asm end; - и компиллер не ругнется).
Tp7 Вы можете взять тут(~550Кил): 
http://chat.ru/~vzubko/tp7.zip

Наберите следующий код:" 


как здесь компилировать и выполнять? при нажатии на help пишет "invalid help file"

здесь 
Цитата

Это - вредная привычка, потому я хотел бы посоветовать читателю посмотреть в сторонуфайлового менеджера FAR (желательно наличие плагина Colorer) или же в сторону мощнейшего и к тому же бесплатного редактораNotepad++, скачать который можно сhttp://notepad-plus.sourceforge.net.Скачать MASM можно на masm32.com.

я скачал там редактор + наверно компилятор, как там можно компилировать и выполнять я ненашол?
как его можно подключить к notepad++?
зачем нужен far (файловый менеджер) при написании кода на asm?
здесь книга стр 15
тут объесняется все подробно но файла myasm.exe у меня нет и я ненашел где его скачать.


помогите настроить среду выполнения.
PM MAIL   Вверх
Cheloveck
Дата 14.1.2011, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 1
Всего: 32



Компилятор (в данном случае это не компилятор, а ассемблер) не нужно подключать к текстовому редактору. Компиляторы (и ассемблеры) компилируют (ассемблируют) непосредственно файлы, а не текст, набранный в текстовом редакторе. Если надо что-то собрать, то в командной строке пишешь что-то вроде того (для masm32)
Код

> C:\masm32\bin\ml.exe /c /coff test.asm
> C:\masm32\bin\link.exe /SUBSYSTEM:CONSOLE /OUT:test.exe test.obj

Есть интегрированная среда (IDE) для masm32 - masm builder. Но нет ничего страшного, если ты будешь собирать всё это дело руками (а лучше с помощью скрипта на batch или Makefile).

Это сообщение отредактировал(а) Cheloveck - 14.1.2011, 09:11


--------------------
user posted image
PM Jabber   Вверх
ferz721
Дата 14.1.2011, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.1.2011

Репутация: нет
Всего: нет



можно по подробней 
Цитата

Без подсветки
1:
2:
  > C:\masm32\bin\ml.exe /c /coff test.asm
> C:\masm32\bin\link.exe /SUBSYSTEM:CONSOLE /OUT:test.exe test.obj

где можно почитать про это?
Цитата

Но нет ничего страшного, если ты будешь собирать всё это дело руками (а лучше с помощью скрипта на batch или Makefile).

и про это, потому и задал вопросы так как ненашел ответов в гугле?
допустим я отркыл notepad++ набрал код. что делать дальше?
PM MAIL   Вверх
Cheloveck
Дата 14.1.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 1
Всего: 32



ml.exe - это ассемблер masm32.
link.exe - это компоновщик.
соответственный команды 
Код

ml /help

и
Код

link /help

Покажут справки по использованию
Цитата

C:\Users\Sergey>ml /help
Microsoft ® Macro Assembler Version 6.14.8444
Copyright © Microsoft Corp 1981-1997.  All rights reserved.


        ML [ /options ] filelist [ /link linkoptions ]

/AT Enable tiny model (.COM file)         /nologo Suppress copyright message
/Bl<linker> Use alternate linker          /Sa Maximize source listing
/c Assemble without linking               /Sc Generate timings in listing
/Cp Preserve case of user identifiers     /Sf Generate first pass listing
/Cu Map all identifiers to upper case     /Sl<width> Set line width
/Cx Preserve case in publics, externs     /Sn Suppress symbol-table listing
/coff generate COFF format object file    /Sp<length> Set page length
/D<name>[=text] Define text macro         /Ss<string> Set subtitle
/EP Output preprocessed listing to stdout /St<string> Set title
/F <hex> Set stack size (bytes)           /Sx List false conditionals
/Fe<file> Name executable                 /Ta<file> Assemble non-.ASM file
/Fl[file] Generate listing                /w Same as /W0 /WX
/Fm[file] Generate map                    /WX Treat warnings as errors
/Fo<file> Name object file                /W<number> Set warning level
/FPi Generate 80x87 emulator encoding     /X Ignore INCLUDE environment path
/Fr[file] Generate limited browser info   /Zd Add line number debug info
/FR[file] Generate full browser info      /Zf Make all symbols public
/G<c|d|z> Use Pascal, C, or Stdcall calls /Zi Add symbolic debug info
/H<number> Set max external name length   /Zm Enable MASM 5.10 compatibility
/I<name> Add include path                 /Zp[n] Set structure alignment
/link <linker options and libraries>      /Zs Perform syntax check only


C:\Users\Sergey>link /help
LINK /Link for help on Linker
LINK /Lib for help on Library Manager
LINK /Dump for help on Dumper
LINK /Edit for help on Editor
LINK /Help for help on Helper


Цитата(ferz721 @  14.1.2011,  13:09 Найти цитируемый пост)
где можно почитать про это?

Прежде чем спрашивать, поискал бы в гугле
http://msdn.microsoft.com/en-us/library/s0...28VS.71%29.aspx
http://msdn.microsoft.com/en-us/library/y0...28VS.80%29.aspx

Цитата(ferz721 @  14.1.2011,  13:09 Найти цитируемый пост)
допустим я отркыл notepad++ набрал код. что делать дальше? 

Сохранить файл, открыть консоль и набрать команды, аналогичные тем, что я показал.

Добавлено через 38 секунд
Для того, чтобы не набирать полный путь до ml.exe допиши этот путь в переменную среды Path


--------------------
user posted image
PM Jabber   Вверх
iff
Дата 14.1.2011, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 4
Всего: 16



Насчет "подключения" подключения редактора к компилятору: в Notepad++ есть такая функция (Меню "Запуск > Запуск..." там ещё будет кнопка сохранения.). Там нужно указать файл, который будет запускаться, а также коммандная строка, которая будет передана программе. Так вот пишем батник, подключаем его через это меню, сохраняем настройку. Теперь выбираем меню "Запуск > [имя_под которым_сохранили_настройку]". Всё.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
ferz721
Дата 12.2.2011, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.1.2011

Репутация: нет
Всего: нет



Cheloveck можешь написать пример работающего кода, например ввести число, умножить и вывести?

Это сообщение отредактировал(а) ferz721 - 12.2.2011, 12:22
PM MAIL   Вверх
Cheloveck
Дата 12.2.2011, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 1
Всего: 32



Код

.386
.model flat, stdcall
option casemap:none
include windows.inc
include kernel32.inc
include masm32.inc
includelib kernel32.lib
includelib masm32.lib

BSIZE equ 20

.data
.data?    
    buf BYTE BSIZE dup(?)
    stdout DWORD ?
    stdin DWORD ?
    written DWORD ?
    read DWORD ?
    num DWORD ?

.code

start:
    invoke GetStdHandle, STD_OUTPUT_HANDLE 
    mov stdout, eax
    invoke GetStdHandle, STD_INPUT_HANDLE
    mov stdin, eax
    invoke ReadConsole, stdin, addr buf, 20, addr read, NULL        
    invoke atol, addr buf
    mov ebx, 8
    mul ebx
    mov num, eax
    invoke dwtoa, num, addr buf
    invoke WriteConsole, stdout, addr buf, read, addr written, NULL
    invoke ExitProcess, 0
end start

Здесь введённое число умножается на 8 и выводится в stdout. Собрать можно так
Код

ml /ID:\masm32\include /c /coff main.asm
link /LIBPATH:D:\masm32\lib /SUBSYSTEM:CONSOLE /OUT:test.exe main.obj

Путь до ml.exe в Path, а D:\masm32 заменяешь на свой.

Это сообщение отредактировал(а) Cheloveck - 12.2.2011, 14:53


--------------------
user posted image
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.