Вопрос № 47650: Добрый день. Вопрос следующий: у меня либо не установился MASM либо я не так пытаюсь
работать с ним. В реестр он не прописывается. Командную строку я запускаю из Total словом cmd далее я набираю c:>cd asm
но, путь к папке не меняется ?...Вопрос № 47654: Когда я вызываю командную строку
из кнопки пуск у меня высвечивается : c:documents and settingsАдминистратор>. После набора cmd ничего не происходит, строка
остается первоначальной c:documents and settingsАдминистратор>, а после набора кома...Вопрос
№ 47674: Добрый День! Подскажите пожалуйста как на ассемблере реализовать объявление static из С++? Те что бы переменная
была локальная но не инициализировалась каждый раз при входе в процедуру....Вопрос №
47679: В командной строке после того как я вхожу в нужый каталог в котором у меня находится пр
ограмма MASM, а именно c:masm мне нужно загрузить файл Prog01 я его скопировал в папку BIN, но при наборе cdmasminProg01
выскакивает сообщение ‘Системе не уда...
Вопрос № 47.650
Добрый день. Вопрос следующий: у меня либо не установился MASM либо я не так пытаюсь работать с ним. В реестр он не прописывается.
Командную строку я запускаю из Total словом cmd далее я набираю c:>cd asm но, путь к папке не меняется ?
Отправлен: 29.06.2006, 11:34
Вопрос задал: Rocki (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Triada
Здравствуйте, Rocki!
в реестре он не должен прописываться
путь должен указывать на ту папку в которой лежит masm
если у вас командная строка открадсь в таком виде
c:documents and settings riada>
а вам нужно перейти на c:asm
для этого вам нужно сначало перейти следующим образом: cd c:asm
будет выглядеть
c:documents and settings riada>cd c:asm
после чего у вас сменитсья каталог на нужный вам
Ответ отправила: Triada (статус:
1-ый класс)
Ответ отправлен: 29.06.2006, 13:15 Оценка за ответ: 5
Вопрос
№ 47.654
Когда я вызываю командную строку из кнопки пуск у меня высвечивается : c:documents and settingsАдминистратор>. После набора
cmd ничего не происходит, строка остается первоначальной c:documents and settingsАдминистратор>, а после набора команды
debug появляется приглашение к работе “_” но вводя любую строку команд выдается ^ошибка
Отправлен: 29.06.2006, 11:54
Вопрос задал: Rocki (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ayl
Здравствуйте, Rocki!
После того, как ты вызвал командную строку, команду cmd уже вызывать не нужно.
Предположим, что MASM у тебя находится в каталоге C:\MASM
Тогда пишешь следующие команды:
cd MASMBIN
masm <путь к твоей проге> /AT
Если ты запускаешь debug (зачем, кстати?), то набери после приглашения вопросительный знак - тебе будет выдан список команд.
--------- Трудное - то, что можно сделать немедленно. Невозможное - то, для выполнения чего
требуется немного больше времени
Ответ отправил: Ayl (статус: Академик) Россия, Санкт-Петербург ICQ: 5163321 ---- Ответ отправлен: 29.06.2006, 13:53 Оценка
за ответ: 3 Комментарий оценки: Спасибо что откликнулись, но Вы подсказываете
мне как более менее знающему, а я только начинаю изучение asm.
Отвечает: Triada
Здравствуйте, Rocki!
cmd - пишется для вызова командной строки из винды
в самой командной строке ее писать не нужно
для смены пути используй cd
и пиши абсолютный путь (c:....)
если ты хочешь перейти во вложенную папку то можно указывать относительный путь
Ответ отправила: Triada (статус:
1-ый класс)
Ответ отправлен: 29.06.2006, 14:22
Вопрос
№ 47.674
Добрый День! Подскажите пожалуйста как на ассемблере реализовать объявление static из С++? Те что бы переменная была локальная
но не инициализировалась каждый раз при входе в процедуру.
если в макросе то local - описыает локальные переменные, и метки
local beg,a,f
jmp beg
a dw ?
f dw ?
beg:
если оформлять далекую внешуню процедуру в отдельном модуле, то там описываются просто как переменные они и будут считаься
локальными, если их нужно сделать доступными то их нада описать как public
Ответ отправила: Triada (статус:
1-ый класс)
Ответ отправлен: 29.06.2006, 15:24
Отвечает: Евгений Иванов
Здравствуйте, Шурыгин В.В.!
Это сделать можно только, если сделать переменную глобальной, а потом копировать её в начале подпрограммы в локальную (а
в конце обратно).
Если же объект большого размера (структура и т.п.), то нужно завести переменную глобальную, создавать объект один раз при
входе в подпрограмму, а записывать адрес объекта в переменную. При повторном входе не создавать, а брать готовое.
Удачи!
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус:
Профессор) Россия, Нижний Новгород Тел.: +78313145721 Организация: M2Media.ru Адрес:
Нижний Новгород, ул.Малая Ямская WWW:Eugene Ivanov ICQ:
214;88;90;76 ---- Ответ отправлен: 29.06.2006, 15:27
Отвечает: Mihasic
Здравствуйте, Шурыгин В.В.!
Вообще-то статические переменные являются глобальными, а спецификатор static просто позволяет скрыть их имя. Как ограничить
имя переменной локальной областью видимости в ассемблере точно не знаю. Думаю, что для решения достаточно объявить переменную
с уникальным именем.
Ответ отправил: Mihasic (статус:
2-ой класс)
Ответ отправлен: 29.06.2006, 17:36
Вопрос
№ 47.679
В командной строке после того как я вхожу в нужый каталог в котором у меня находится программа MASM, а именно c:masm мне
нужно загрузить файл Prog01 я его скопировал в папку BIN, но при наборе cdmasminProg01 выскакивает сообщение ‘Системе не
удается найти указанный путь’.
Отправлен: 29.06.2006, 15:45
Вопрос задал: Rocki (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Triada
Здравствуйте, Rocki!
если вы находитесь в каталоге c:masm то стандартное приглашение выглядить так
c:masm>
для перехода в подкаталог bin каталога masm
нужно набрать: cd bin
(заметье между cd и bin стоит ПРОБЕЛ, не косая черта)
выглядеть будет
c:masm>cd bin
тогда ваше стандатрное приглашение смениться на
c:masmin>
для того чтобы отранслировать вашу программу вам нада надбрать: masm Prog01
на все остальные строчки ответить enter
c:masmin>masm Prog01
потом опять в когда появиться ваше приглашение ввести: link Prog01
c:masmin>link Prog01
на все остальные строчки ответить enter
теперь в приглашении запустить вашу программу: Prog01
c:masmin>Prog01
Ответ отправила: Triada (статус:
1-ый класс)
Ответ отправлен: 29.06.2006, 16:35 Оценка за ответ: 5 Комментарий
оценки: Большое спасибо, что в своем объяснении Вы кроме пошаговых инструкций даете синтаксис. Очень удобно и все
понятно.
Отвечает: Ayl
Здравствуйте, Rocki!
Во-первых, желательно ставить пробелы:
cd masminProg01
Во-вторых, переходить нужно в каталог, а не в файл:
cd masmin
В-третьих, куда ты собираешься грузить свой файл? Его нужно не загружать, а передать его имя компилятору в качестве параметра:
masm Prog01 /AT
--------- Трудное - то, что можно сделать немедленно. Невозможное - то, для выполнения чего
требуется немного больше времени
Ответ отправил: Ayl (статус: Академик) Россия, Санкт-Петербург ICQ: 5163321 ---- Ответ отправлен: 29.06.2006, 16:38 Оценка
за ответ: 3 Комментарий оценки: Спасибо что откликнулись, но Вы подсказываете
мне как более менее знающему, а я только начинаю изучение asm.