Вопрос № 53792: Доброго дня!
Консоль дает:
C:MASM611BIN>ML.EXE Prog06.asm /AT
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993. All rights reserved.
Assembling: Prog06.asm
error A4910: can...Вопрос № 53801: Здравствуйте. У меня такой вопрос : как с помощью команды outs вывести данные на принтер, если он подключен к USB ?
И вообще как узнать номер порта USB ?...Вопрос № 53815: Меня интересует вопрос как запустить MASM 6.1 закачанный с сайта Калашникова
Сам MASM.exe открываться отказывается, открывается только CREF.exe - все остальное мелькнув пропадает.
Мне нужно ассемблировать код - все по вашей книге, но непонятн...Вопрос № 53834: Здравствуйте. Пишу звуковой редактор, а в нем работа с микрофоном и все такое, вот только звуковая карта у меня в шине PCI а как с неи работать не знаю.Подскажите как получить доступ к шине PCI и к ее портам....Вопрос № 53863: Ассемблер изучил благодаря статьям Олега Калашникова!
Выражаю за это ему великую длагодарность!
С помощью статей также научился исследовать программы в отладчике (OllyDBG,Turbo Debuger).
Но вот какие команды я могу задавать в командной ст...
Вопрос № 53.792
Доброго дня!
Консоль дает:
C:MASM611BIN>ML.EXE Prog06.asm /AT
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993. All rights reserved.
Assembling: Prog06.asm
error A4910: cannot open file: C:MASM611BINML.err
fatal error A1020:
вот такая ошибка. Wind XP home. код писал под TASM. в нем всё идет.
попробовал так:
C:MASM611BIN>masm.exe Prog06.asm
Microsoft (R) MASM Compatibility Driver
Copyright (C) Microsoft Corp 1993. All rights reserved.
Invoking: ML.EXE /I. /Zm /c /Ta Prog06.asm
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993. All rights reserved.
Assembling: Prog06.asm
C:MASM611BIN>
объектный файл создался. Но я так понял что для этой версии linkera отдельного нет?
А вот почему ml.exe перманентно выдает вышеуказанную ошибку?
Инсталяцию проводил под Windows NT. Mожет попробовать переставить масм?
Отправлен: 30.08.2006, 17:35
Вопрос задал: Эдвардас (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Волков Павел Юрьевич
Здравствуйте, Эдвардас!
error A4910: cannot open file: C:MASM611BINML.err
в папке нет этого файла, вот мой (http://slil.ru/23073396) из masm7, положите в папку с компилятором.
--------- Век живи, век учись.
Ответ отправил: Волков Павел Юрьевич (статус: 7-ой класс)
Ответ отправлен: 30.08.2006, 18:07
Вопрос № 53.801
Здравствуйте. У меня такой вопрос : как с помощью команды outs вывести данные на принтер, если он подключен к USB ?
И вообще как узнать номер порта USB ?
Отправлен: 30.08.2006, 18:38
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Xaud
Здравствуйте, Whitemen!
Если принтер подключен к USB, то так просто вывести данные на принтер не получится.
Использовать USB принтер под DOS маловероятно (врят ли у вас есть такие драйверы), а под Windows, если NT - произойдет исключение (т.к. команды outs и ей подобные запрещены для рядовых приложений), если 9х - то ничего дельного не выйдет.
Дело в том что для каждого принтера USB кроме определнных правил передачи данных через интерфейс (USB) - существуют свои прикладные протоколы, известные только разарботчикам, принтеру и его драйверам. Поэтому, даже найдя в DOS'е нужный номер порта USB, принтер ничего дельного не выдаст, собственно как и в Windows 9x.
Вообще для любого Windows'a все делается без заморочек и гораздо проще:
Вариант 1:
1. Создаем новый DC, ассоциированный с соответтсвующим принтером,
2. Определяем возможнотси принтера (может печатать только текст, еще и графику и пр.)
3. Рисуем на нем все, что хотим, или что принтер сможет отобразить
4. Отправляем на принтер (указываем разбиение на странички, выравнивание и т.п.)
5. Удаляем DC
Вариант 2:
1. Запрашиваем DC нужного принтера у Windows,
2. Определяем возможнотси принтера,
3. Рисуем на DC и пр.
4. Печатаем.
5. Освобождаем DC.
Ответ отправил: Xaud (статус: 1-ый класс)
Ответ отправлен: 30.08.2006, 21:48
Отвечает: EPDSota
Здравствуйте, Whitemen!
Командой outs вывести на USB ничего нельзя... Через порты компьютера можно только настроить сам USB порт... А все передаваемое внешним устройствам находиться в ОЗУ...
Номер порта USB можно узнать только:
1. Если устройство единственное, то просмотреть порты на присутствие какого-либо устройства (прочитать регистр статуса (обычно по адресу адрес USB платы на PCI шине+0x40+номер порта*4))...
--------- Открыть глаза навстречу солнцу
Ответ отправил: EPDSota (статус: Специалист)
Ответ отправлен: 01.09.2006, 09:45
Вопрос № 53.815
Меня интересует вопрос как запустить MASM 6.1 закачанный с сайта Калашникова
Сам MASM.exe открываться отказывается, открывается только CREF.exe - все остальное мелькнув пропадает.
Мне нужно ассемблировать код - все по вашей книге, но непонятно все равно как это сделать если проги не желают открываться.
Посоветуйте что-нибудь или подробно как сделать.
Заранее спасибо.
P.S. У меня Windows XP
Отправлен: 30.08.2006, 21:44
Вопрос задал: Destroyer (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Xaud
Здравствуйте, Destroyer!
Судя по вашему описанию проблемы, дело даже не в том, что файлы не открываются, или не запускаются программы, а в том, что эти программы консольные.
Для ХР это значит, что программе выделяется динамически консоль, после отображения информации в которую, программа завершается, а эта консоль более никакими другими приложениеми не используется, потому Windows и закрывает ее.
Для того, чтобы избежать таких проблем, нужно в начале запустить командный интерпретатор (CMD.EXE или можно COMMAND.COM из %каталог_Windows%system32), а уже в появившейся консоли набарть путь и имя требуемой программы.
Или проще, в FAR или Total Commander в командной строке пишем "cmd /k " (обязательно с пробелом после /k), наводим курсор в файловой панели на нужную программу и нажимаем CTRL+ENTER, потом просто ENTER и наслаждаемся результатом.
Ответ отправил: Xaud (статус: 1-ый класс)
Ответ отправлен: 01.09.2006, 16:16
Вопрос № 53.834
Здравствуйте. Пишу звуковой редактор, а в нем работа с микрофоном и все такое, вот только звуковая карта у меня в шине PCI а как с неи работать не знаю.Подскажите как получить доступ к шине PCI и к ее портам.
Отправлен: 31.08.2006, 02:13
Вопрос задал: Alex8711 (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: EPDSota
Здравствуйте, Alex8711!
Вывод данных в регистр платы на PCI шине:
mov dx,0cf8h;регистр конфигурации PCI
mov eax,080000000h+(BUS shl 16 - шина, где расположено устройство)+(DEV shl 11 номер устройства)+(FUNC shl 8 номер йункции устройства для многофункциональных плат)+(адрес данных для записи на PCI заголовке устройства);
out dx,eax
mov eax, (данные для записи)
mov dx,0cfch;регистр данных PCI
out dx,eax
Чтение данных устройства с PCI шины:
mov dx,0cf8h;регистр конфигурации PCI
mov eax,080000000h+(BUS shl 16 - шина, где расположено устройство)+(DEV shl 11 номер устройства)+(FUNC shl 8 номер йункции устройства для многофункциональных плат)+(адрес данных для записи на PCI заголовке устройства);
out dx,eax;Настроим адрес для приема
mov dx,0cfch;регистр данных PCI
in eax,dx;принять данные
--------- Открыть глаза навстречу солнцу
Ответ отправил: EPDSota (статус: Специалист)
Ответ отправлен: 01.09.2006, 10:05 Оценка за ответ: 5
Вопрос № 53.863
Ассемблер изучил благодаря статьям Олега Калашникова!
Выражаю за это ему великую длагодарность!
С помощью статей также научился исследовать программы в отладчике (OllyDBG,Turbo Debuger).
Но вот какие команды я могу задавать в командной строке, как ставить брейкпоинты в Olly, я увы не знаю. Хотелось бы узнать подробнее по работе этого отладчика!
Вопрос: Какую книгу мне необходимо купить или скачать с сайта статью о подробном описании работы замечательного отладчика OllyDBG?
Олег помоги!
За раннее буду Вам благодарен!!!
Николай г.Волгоград