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

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 021

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-06-14


Вопрос №121

Уважаемый эксперт!

Я ен могу ассемблировать файлы, при попытке ассемблирования

MASM выдаёт ошибку:FATAL error A1000:cannot open fiel: prog.asm /AT

Я не могу понять, как узнать прописан ли MASM в PATH, где находится PATH? И как узнать находится ли файл prog.asm в текущем каталоге?

Ответ

Насчет ошибки.
Ты наверняка даешь команду типа d:\masm\bin\ml.exe prog.asm /AT
Чтобы все было нормально, перепиши файл prog.asm в директорию d:\masm\bin\ (я имею в виду, ту, в которой у тебя находятся файлы masm.exe и ml.exe).


Чтобы узнать прописан ли MASM в PATH'е, открой файл c:\autoexec.bat каким-нибудь текстовым редактором и найди строчку, которая выглядит примерно так PATH = C:\WINDOWS;C:\WINDOWS\COMMAND;C:\WINDOWS\SYSTEM;
в ней должны быть перечисленны и другие директории, если среди них есть та, в которую установлен MASM, то он прописан, если нет, то нет.

Текущей является директория, в которой находится файл, который ты запускаешь.
Пример:
ты даешь команду
d:\masm\bin\ml.exe - тукущая d:\masm\bin\

что бы проверить находится ли файл в этой директории, зайди в нее
и посмотри.
(в ДОС с помощь команд cd и dir).


Отправил: Anatol
Эксперт отправил ответов (всего): 4

Экспертная группа: Пользовательская работа c DOS

Вопрос №119

Здравствуйте!

У меня заморочки с ассемблированием программ: Я полностью устанавливаю Масм6.11 (включая версию 5.1); Несколько раз получалось всё хорошо (образовывалось 2 файла), но потом только один-prog.obj который приходилось ещё и "линковать".

Почему у меня всё как не у людей?

Ответ

Наверное используете не ML ,а masm. Чтобы получить comфайл нужно сделать следующее:
ml prog.asm /AT
Создается файл prog.com


Отправил: Evgos (http://ospelnikov.narod.ru - Личная страничка)
Эксперт отправил ответов (всего): 9

Экспертная группа: Работа с MASM/TASM

Вопрос №117

У меня в "программе для практики" из 4-го выпуска "Ассемблер? Это просто! Учимся программировать"

при попытке компиляции (использую tasm 2.5) в 14-й строке появляется ошибка :

Near jump or call to different CS

Помогите разобраться.

Ответ

После первой строки нужно вставить: assume cs:CSEG,ds:CSEG,ss:CSEG
Смотри исходник.

Приложение:


Отправил: Evgos (http://ospelnikov.narod.ru - Личная страничка)
Эксперт отправил ответов (всего): 10

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №121

Уважаемый эксперт!

Я ен могу ассемблировать файлы, при попытке ассемблирования

MASM выдаёт ошибку:FATAL error A1000:cannot open fiel: prog.asm /AT

Я не могу понять, как узнать прописан ли MASM в PATH, где находится PATH? И как узнать находится ли файл prog.asm в текущем каталоге?

Ответ

path прописывается в файле c:\autoexec.bat в следующем виде:

path=c:\windows;c:\windows\command;e:\a_work;e:\games\arcade;

и т.д. Значит чтобы прописать МАSM в Path надо сделать следующее:
1) открыть autoexec.bat (edit c:\autoexec.bat)
2) добавить в него строку
path=(путь к компилятору);
3)сохранить изменения и перезагрузиться.

Для того чтобы узнать, находится ли файл в текущем каталоге (если ты не пользуешься оболочкой) можно напечатать команду dir, находясь в каталоге, который тебе нужен или более конкретно в твоём случае dir *.asm, то есть показать все файлы с расштрением .asm в текущем каталоге.


Отправил: Алексей Чатов (http://www.bobrland.com - Плотина Бобров)
Эксперт отправил ответов (всего): 7

Экспертная группа: Пользовательская работа c DOS

Вопрос №121

Уважаемый эксперт!

Я ен могу ассемблировать файлы, при попытке ассемблирования

MASM выдаёт ошибку:FATAL error A1000:cannot open fiel: prog.asm /AT

Я не могу понять, как узнать прописан ли MASM в PATH, где находится PATH? И как узнать находится ли файл prog.asm в текущем каталоге?

Ответ

path прописывается в файле c:\autoexec.bat в следующем виде:

path=c:\windows;c:\windows\command;e:\a_work;e:\games\arcade;

и т.д. Значит чтобы прописать МАSM в Path надо сделать следующее:
1) открыть autoexec.bat (edit c:\autoexec.bat)
2) добавить в него строку
path=(путь к компилятору);
3)сохранить изменения и перезагрузиться.

Для того чтобы узнать, находится ли файл в текущем каталоге (если ты не пользуешься оболочкой) можно напечатать команду dir, находясь в каталоге, который тебе нужен или более конкретно в твоём случае dir *.asm, то есть показать все файлы с расштрением .asm в текущем каталоге.


Отправил: Алексей Чатов (http://www.bobrland.com - Плотина Бобров)
Эксперт отправил ответов (всего): 6

Экспертная группа: Пользовательская работа c DOS

Вопрос №123

Здравствуйте уважаемые эксперты!



Скажите пожалуйста, можно ли заставить SoftIce работать с WinME.



Спасибо!

Ответ

Честно сказать - никогда не сталкивался с этим. Т.к. ВСЕ мои друзья, которые юзать Айс, сидят либо в НТ либо в 98. Но, думаю, что можно. Попробуйте. Ведь эксперементировать не запрещено!


Отправил: K.A. NiCK
Эксперт отправил ответов (всего): 5

Экспертная группа: Пользовательская работа с Windows

Вопрос №127

Обьясните, пожалуйста, принцип работы алгоритма Брезенхема по рисованию прямой линии на экране.

Ответ

В принципе ничего сложного!
линия состоит из точек!
И разбивается на горизонтальные отрезки.
(Ну я обхясняю упрощенно, детально мне лень :)

И потом идет построение.
несколько точек в ряд, переход на следующую строку,
Опять несколько точек в ряд.. и тд...

Все вполне реализуется целочисленно. в чем плюс собственно и есть.


Отправил: Dron
Эксперт отправил ответов (всего): 25

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №123

Здравствуйте уважаемые эксперты!



Скажите пожалуйста, можно ли заставить SoftIce работать с WinME.



Спасибо!

Ответ

Конечно можно ! Нужно скачать соответствующую версию софт айса


Отправил: sasha
Эксперт отправил ответов (всего): 13

Экспертная группа: Пользовательская работа с Windows

Вопрос №125

Не знаю в какую группу задать свой вопрос... нету группы "Ассемблер для профессионалов" :))



И у экспертов тоже бывают вопросы! :)



А вопрос у меня вот какой:

Защищенный режим, переключение задач.

Можно делать тремя способами. jmp через шлюз, call через шлюз, или прерывание.

В нормальных системах используется прерывание.

Причем прерывание по времени, как я понимаю...



А теперь внимание вопрос! неужели все так примитивно?

Ведь таким образом можно реализовать реальную многозадачность и на 8086! ну и что что скорость маленькая...



Раньше я почему-то думал что переключение задач происходит через какое нибудь специальное прерывание, реализованное в процессоре, в механизме переключения задач... но делать все через таймер?!? как то не продвинуто...



Может я в чем-то ошибаюсь, подскажите кто в курсе.



Ответ

А зачем усложнять жизнь??

Защищённый режим создан для защиты. Например, в реальном режиме Вы
спокойно можете записать чего-нибудь в ядро ОС и компьютер спокойно
может зависнуть! А в защищённом режиме, как Вы, я надеюсь, знаете,
существуют уровни привилегий, обозначающие, кто к какому ресурсу
компьютера может обращаться, а кто нет.

А аппаратная реализация переключения задач на 286+ состоит в сохране-
нии всех регистров и стека программ в специальной области памяти -
TSS - без участия ядра. Коду ядра ОС нужно только инициировать
переключение задачи, а всё остальное проц сделает сам. А уж как там
ОС будет их переключать, это решает программист.


Отправил: Nik
Эксперт отправил ответов (всего): 9

Экспертная группа: Оптимизация программ

Вопрос №127

Обьясните, пожалуйста, принцип работы алгоритма Брезенхема по рисованию прямой линии на экране.

Ответ

Это курс растровой графики.
Так что немного не по теме :).
Ответ на этот вопроссмотри
тут:
http://stratum.pstu.ac.ru/lectures/Kgrafic/html/dopolnit/rojers/25.htm
или тут:
http://alglib.chat.ru/paper/2dgraph.html


Отправил: Anatol
Эксперт отправил ответов (всего): 5

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Подписаться на рассылки

Рассылки Subscribe.Ru
Ассемблер? Это просто! Учимся программировать
Ассемблер? Это просто! Учимся программировать (FAQ)

Задать вопрос экспертам

Регистрация в качестве эксперта


Ведущий рассылки,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

______________

По вопросам сотрудничества, рекламы и спонсорства обращайтесь:

  1. Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
  2. Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
  3. Издание книги (спонсорство): Sponsor@Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Рейтингуется SpyLog

В избранное