Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 487
от 05.07.2006, 04:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 330, Экспертов: 20
В номере:Вопросов: 4, Ответов: 8


Вопрос № 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 из С++? Те что бы переменная была локальная но не инициализировалась каждый раз при входе в процедуру.
Отправлен: 29.06.2006, 15:07
Вопрос задал: Шурыгин В.В. (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Triada
Здравствуйте, Шурыгин В.В.!

если в макросе то 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.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное