Консультация № 192535
07.02.2018, 21:03
0.00 руб.
0 13 1
Здравствуйте! У меня возникли сложности с таким вопросом: Добрый день. Установил MASM 6.11 на windows. У меня 32 разрядная операционная система, процессор 64. Запускаю в командной строке файл .asm с кодом. Ответ пишет : ОТказано в доступе.

Обсуждение

давно
Посетитель
7438
7205
08.02.2018, 11:37
общий
Адресаты:
Что понимается под:
Запускаю в командной строке файл .asm с кодом
Вы пытаетесь "запустить" файл с расширением .asm?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
401805
6
08.02.2018, 12:15
общий
Да
давно
Посетитель
7438
7205
08.02.2018, 12:28
общий
Адресаты:
Ну так, мил человек, asm - это исходник, текстовый файл.
Его надо сначала скомпилировать (получить файл с расширением obj), слинковать (получить файл с расширением или com, или exe). Только последние являются исполнимыми, только их сможете запустить.
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
401805
6
08.02.2018, 12:36
общий
Ааа. Спасибо.
давно
Старший Модератор
31795
6196
08.02.2018, 17:18
общий
Адресаты:
Что у Вас получилось,
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
401805
6
08.02.2018, 17:25
общий
Еще не пробовал, пока
давно
Старший Модератор
31795
6196
08.02.2018, 19:22
общий
Адресаты:
Посмотрите как это нужно делать правильно
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
401805
6
08.02.2018, 21:38
общий
На этапе "линковки" пишет, что не может найти данную команду: "doslnk". На всякий случай прикрепил текстовый файл с примером
Прикрепленные файлы:
62c2c48d3a26d1a287e4f94115f4cb64.txt
давно
Старший Модератор
31795
6196
08.02.2018, 22:00
общий
Адресаты:
Да уж, ссылку капельку не ту дал. Там используется компилятор 32-х битный, старше версии 6.13 и для линковки используется отдельный компилятор. При работе с чистым 6.11 набираемые команды должны быть такими(см.прикрепленный файл).
Прикрепленные файлы:
b8e7a2029e7db43e2d3898ca171a30c7.jpg
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
401805
6
08.02.2018, 22:20
общий
Уже другая ошибка:
Прикрепленные файлы:
73085e85d2537cab31ef59d90226c371.txt
давно
Старший Модератор
31795
6196
08.02.2018, 22:29
общий
Адресаты:
Посмотрите в папках пакета, Файл LINK.EXЕ должен быть в одной из них, скопируйте его в папку BIN
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
401805
6
08.02.2018, 22:32
общий
Да. Спасибо большое!. Помогли очень.
давно
Старший Модератор
31795
6196
09.02.2018, 18:48
общий
это ответ
Здравствуйте, denysbaturo!

Код который записан в asm-файл - это набор мнемоник-команд языка ассемблер, которые должен выполнить процессор. Но это ещё не исполняемый файл. Для того, чтобы его превратить в исполняемый файл Вам нужно этот файл скомпилировать, набрав команду:
ML /AT name.asm

Вы запускаете компилятор MASM + LINK.
- MASM пререводит ASM-код в OBJ-код. Это дань старым компиляторам, когда из-за ограниченного места на носителях(дискеты, диски) - OBJ-файл являлся стандартом для всех языков (как ассемблера так и для ЯВУ: Fortran, C, Pascal). На диске хранились несколько трансляторов и один линковщик LINK. Это позволяло писать программы с использованием различных модулей написанных на разных языках программирования.
- LINK из OBJ-файла(ов) создает исполняемый файл, который уже может выполнится процессором.

На прикрепленной миниатюре видно этапы создания исполняемого файла:
Assembling: аа.asm

это работа MASM, а ниже работа Linker'а
:Object Modules [.obj]: aa.obj/t
Run File [aa.com]: "aa.com"
List File [nul.map]: NUL
Libraries [.lib]:
Definitions File [nul.def]:


Если в коде нет ошибок, т.е. MASM и LINK отработали без сообщений у Вас должен появится исполняемый файл в данном случае aa.com.

У Вас 64-и разрядный процессор, и когда Вы поставите соответствующую ему ОСь, то для работы с masm, Вам нужен будет ещё и DOSBox и всё производить уже в нем, т.к. 64-и разрядные ОСи не поддерживают 16-ти битный код.
Удачи!
Прикрепленные файлы:
a6d6a664f97e0528ccee47fde1d803e5da8a2dfc.jpg
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа