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

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


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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 832
от 20.08.2007, 15:35

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


Вопрос № 98443: Народ! Давно хотел научиться программировать на ассемблере и вот наконец нашел довольно интересный сайт Олега Калашникова. Собственно у меня вопрос такой по первой части книги первому заданию и даже не один: 1: в строке mov ax, 9 мы пишем именн...
Вопрос № 98445: А где лучше компилировать виндовые проги, написанные на асме? Assembler constructor не компилирует, Source Insight там вообще такого слова нет "compile". Только MASM если можно не предлагайте. Мне нужно, чтобы одну кнопку нажал - и текст на...
Вопрос № 98458: Доброе время суток, уважаемые эксперты. Помогите разобраться. Я разобрался как работает lpt порт, узнал его адрес. Но на компьютере есть ещё много портов i/o. Подскажите где взять оффициальную документацию на них, чтоб узнать по какому адресу к ним о...
Вопрос № 98459: Доброе время суток, уважаемые эксперты. Подскажите в чём проблема. Написал прогу для работу с lpt портом нормально работает в 98, а в 2000 выкидывает. В чём прикол? Спасибо....
Вопрос № 98479: Первая программа в книге Калашникова"Ассемблер это просто"с выводом 'Hello,world'получаютолькоL1asm.objComфайла,нет,получаю"Assembling:L1.ASMfatal,errorA1020:cannotfindLink.exe'операциционкXPпытался(пуск выполнить,cmd)в,этомокнетоже...

Вопрос № 98.443
Народ! Давно хотел научиться программировать на ассемблере и вот наконец нашел довольно интересный сайт Олега Калашникова. Собственно у меня вопрос такой по первой части книги первому заданию и даже не один:
1: в строке mov ax, 9 мы пишем именно 9? И почему при замене на, к примеру, 10 строка не выводится?
2: в строке с сообщением и ежу все понятно, только вот что означают буквы "db"? :)
Заранее благодарен! :-)
Отправлен: 15.08.2007, 05:51
Вопрос задал: Yoyo (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Yoyo!

1)это две разные функции(номер функции определяется регистром АН)
Функция DOS 09h — Записать строку в STDOUT с проверкой на Ctrl-Break
Ввод: АН = 09h
DS:DX = адрес строки, заканчивающейся символом $ (24h)
Вывод: Никакого, согласно документации, но на самом деле: AL = 24h (код последнего символа)

Функция DOS 0Ah — Считать строку символов из STDIN в буфер
Ввод: АН = 0Ah
DS:DX = адрес буфера
Вывод: Буфер содержит введенную строку

2)это директивы компилятора позволяющие включить данные в программу:
DB — определить байт;
DW — определить слово (2 байта);
DD — определить двойное слово (4 байта);
DF — определить 6 байт (адрес в формате 16-битный селектор: 32-битное смещение);
DQ — определить учетверенное слово (8 байт);
DT — определить 10 байт (80-битные типы данных, используемые FPU).
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 15.08.2007, 10:50


Вопрос № 98.445
А где лучше компилировать виндовые проги, написанные на асме? Assembler constructor не компилирует, Source Insight там вообще такого слова нет "compile". Только MASM если можно не предлагайте. Мне нужно, чтобы одну кнопку нажал - и текст на асме скомпилировался в exe. Меня не интересуют obj-файлы и т. п. Radasm например подойдет для этого?
Отправлен: 15.08.2007, 06:40
Вопрос задал: Blackie (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Blackie!

Посмотрите на WASM.RU компилятор FASM ( встроенная среда разработки ), синтаксис несколько отличается от интеловского, но можно писать 16-ти и 32-х битные программы.
Удачи!
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 15.08.2007, 10:39

Отвечает: IceWolf
Здравствуйте, Blackie!
Среды разработки они же IDE: Наиболее распространённая -RadAsm www.radasm.com ,также присмотритесь к WinAsm www.winasm.net ,Chrome http://perso.orange.fr/franck.charlet/ , qeditor из MASM32, MasmBuilder http://mbuilder.jino-net.ru/
Все эти программы имеют возможность компиляции в один клик, даже QEditir, который входит в пакет MASM32 (лежит в папке /masm32). Ну и конечно же редактор FASM'а если вы выберете именно этот ассемблер.
Как видите, выбор есть, главное подобрать наиболее удобную для себя IDE.
Удачи!
---------
И да поможет вам F1, и да сохранит вас F2!
Ответ отправил: IceWolf (статус: 10-ый класс)
Ответ отправлен: 16.08.2007, 00:24
Оценка за ответ: 5


Вопрос № 98.458
Доброе время суток, уважаемые эксперты. Помогите разобраться. Я разобрался как работает lpt порт, узнал его адрес. Но на компьютере есть ещё много портов i/o. Подскажите где взять оффициальную документацию на них, чтоб узнать по какому адресу к ним обращаться. Или посоветуйте книжку. Спасибо.
Отправлен: 15.08.2007, 09:24
Вопрос задал: Александр Михайлович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Dr.Alex
Здравствуйте, Александр Михайлович!
Почитай книжку "Робер Журден. Справочник программиста на персональном компьютере фирмы IBM" есть на lib.ru. Это классика. Я думаю ты найдешь там многое.
Ответ отправил: Dr.Alex (статус: 10-ый класс)
Ответ отправлен: 15.08.2007, 10:24

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Александр Михайлович!

Книга В. Кулакова Програмирование на аппаратном уровне.
Книга С. Зубкова Assembler, работа с портами
---------
И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Специалист)
Ответ отправлен: 15.08.2007, 10:27


Вопрос № 98.459
Доброе время суток, уважаемые эксперты. Подскажите в чём проблема. Написал прогу для работу с lpt портом нормально работает в 98, а в 2000 выкидывает. В чём прикол? Спасибо.
Отправлен: 15.08.2007, 09:27
Вопрос задал: Александр Михайлович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Dr.Alex
Здравствуйте, Александр Михайлович!
Все NT-подобные системы (2000, XP ,Vista) в качестве защиты не позволяют напрямую обращаться к портам ввода-вывода, будь то LPT или COM. Для прямого обращения есть в сети куча бесплатных библиотек. Правда для Дельфина, но они с исходниками и можно посмотреть как это делается. Например DirectPort или DlPortIo.
Ответ отправил: Dr.Alex (статус: 10-ый класс)
Ответ отправлен: 15.08.2007, 10:17

Отвечает: IceWolf
Здравствуйте, Александр Михайлович!
В приложении код для работы с LPT портом. Пример взял отсюда (URL ftp://ftp.radio.ru/pub/2006/03/cpuhl.zip) и убрал лишнее.
Удачи!

Приложение:

---------
И да поможет вам F1, и да сохранит вас F2!

Ответ отправил: IceWolf (статус: 10-ый класс)
Ответ отправлен: 16.08.2007, 01:16


Вопрос № 98.479
Первая программа в книге Калашникова"Ассемблер это просто"с выводом 'Hello,world'получаютолькоL1asm.objComфайла,нет,получаю"Assembling:L1.ASMfatal,errorA1020:cannotfindLink.exe'операциционкXPпытался(пуск выполнить,cmd)в,этомокнетожесамое
Отправлен: 15.08.2007, 11:40
Вопрос задал: Юрченко Павел Александрович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: IceWolf
Здравствуйте, Юрченко Павел Александрович!
Можно, например, скопировать link.exe в ту папку, из которой запускаете masm (та что в приглашении cmd.exe, где вводите команды).
Много раз уже задавались в рассылку подобные вопросы. Пользоваться поиском люди так и не научились...
http://rusfaq.ru/?Step=search&ID0=&String=cannot+find+link.exe&ID=
http://rusfaq.ru/?Step=search&ID0=5&String=ассемблирование&ID=

http://rusfaq.ru/info/question/45531
http://rusfaq.ru/info/question/51765
http://rusfaq.ru/info/question/76680
http://rusfaq.ru/info/question/97208
http://rusfaq.ru/info/question/92197
http://rusfaq.ru/info/question/90828
http://rusfaq.ru/info/question/75198
http://rusfaq.ru/info/question/66705
http://rusfaq.ru/info/question/40580
http://rusfaq.ru/info/question/32669
http://rusfaq.ru/info/question/31928
http://rusfaq.ru/info/question/29864
http://rusfaq.ru/info/question/16610
Удачи!


---------
И да поможет вам F1, и да сохранит вас F2!
Ответ отправил: IceWolf (статус: 10-ый класс)
Ответ отправлен: 16.08.2007, 01:52
Оценка за ответ: 5
Комментарий оценки:
Скопировалlink.exe,заработало,


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.56 beta от 20.08.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное