Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 721
от 10.05.2004, 17:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 5253 Отправлено ответов: 14430 Активность: 274.7 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
resu Статус: Начальный Общий рейтинг: 105.79 [Подробней >>] |
Pawel Статус: Профессиональный Общий рейтинг: 155.76 [Подробней >>] |
flasher Статус: Начальный Общий рейтинг: 108.42 [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 118.21 [Подробней >>] |
Foamplast Статус: Профессиональный Общий рейтинг: 147.6 URL: мой личный сайт [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 133.35 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 105.54 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 111.67 [Подробней >>] |
Acid Burn Статус: Доверительный Общий рейтинг: 127.41 [Подробней >>] |
Dark_Lord Статус: Профессиональный Общий рейтинг: 109.72 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 5217. Доброе время суток Эксперты! Подскажите пожалуйста, как работать с компилятором MASM v.6.12. В ... (ответов: 5)
Вопрос № 5219. ЗДРАВСТВУЙТЕ ЭКСПЕРТЫ ВОПРОС К ВАМ ПОЧЕМУ В ПРОГЕ НЕ РАБОТАЕТ СООБЩЕНИЕ "SORRY..." ПРИ ИЗ... (ответов: 2)
Вопрос № 5222. поздравляю всех с прошедшим 1-ым мая! пожалуйста, расскажите про аппаратную поддержку графических фу... (ответов: 1)
Вопрос № 5224. Здравствуйте уважаемые эксперты! Не могли бы Вы объяснить мне 2 вещи: Первая - как работать с аппар... (ответов: 2)
Вопрос № 5225. Здравствуйте, у меня два вопроса. 1. Где можно скачать win32.hlp с функциями winapi для asm. 2. Есть... (ответов: 2)
Вопрос № 5226. Приветствую, Наваял тут функцию копирования памяти (C-вариант - memcpy). Работает вроде нормально, П... (ответов: 2)
Вопрос № 5228. Здравствуйте уважаемые эксперты. Не подскажете ли Вы как определить присутствует ли в системном блок... (ответов: 2)
Вопрос № 5229. Здравствуйте уважаемые эксперты! Вопрос такой: Имеется два потока - основной(с циклом обработки сооб... (ответов: 1)
Вопрос № 5230. Здравствуйте уважаемые эксперты! Я уже прислал вас вопрос >Не могли бы Вы объяснить мне 2 вещи: >Пе... (ответов: 3)
Вопрос № 5232. Здравствуйте Уважаемые Эксперты!!! Есть два вопроса: Пытаюсь написать что-то вроде драйвера.Программ... (ответов: 2)
Вопрос № 5233. У меня есть файл. Его размер 240 байт. Моя задача урезать последние 80 байт чтобы размер файла стал ... (ответов: 6)
Вопросов: 11, ответов: 28
Вопрос № 5217 |
Доброе время суток Эксперты!
Подскажите пожалуйста, как работать с компилятором MASM v.6.12. В принципе под Win32 никогда проги не писал. Ниже приведен пример проги. obj-файл получаю, а exe - никак.
При компиляяции ml /c /coff prog_1.asm - все нормально.
При линке link /SUBSYSTEM:WINDOWS prog_1.obj - ошибки:
prog_1.obj: fatal error L1101:invalid object module
Object file offset : 1 record type: 4c
Приложение:
Вопрос отправлен: 03.05.2004, 03:13
Отправитель: logo
[Следующий вопрос >>] [Список вопросов]
Отвечает resu
Добрый день, logo!
Попробуйте в link'e поменять местами
/subsystem:windows и prog_1.obj т.е.
link prog_1.obj /subsystem:windows
Ответ отправлен: 03.05.2004, 03:43
Отправитель: resu
Отвечает Pawel
Приветствую Вас, logo!
Скачайм MASM поновее.
Ответ отправлен: 03.05.2004, 20:43
Отправитель: Pawel
Отвечает flasher
Здравствуйте, logo!
Возьмите в руки Masm v8 (с gui интерфейсом) и в перёд!
Ответ отправлен: 03.05.2004, 15:11
Отправитель: flasher
Отвечает _vt
Здравствуйте, logo!
Обнови версию линкера - возьми его, например, из MS VC6. На Wasm.Ru есть "Дошлепок" MASMa - ml.exe и link.exe из Visual Studio 2005 beta. =) Твоя версия может собирать программы только под DOS.
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 03.05.2004, 17:09
Отправитель: _vt
Отвечает Foamplast
Здравствуйте, logo!
Здесь ret не надо, надо ExitProcess(0). И ещё определять точку входа, без неё компилируется, а линкер не может создать файл. Возьмите какой-нибудь пример и для начала переделайте.
Ответ отправлен: 06.05.2004, 04:39
Отправитель: Foamplast
Вопрос № 5219 |
ЗДРАВСТВУЙТЕ ЭКСПЕРТЫ
ВОПРОС К ВАМ ПОЧЕМУ В ПРОГЕ НЕ РАБОТАЕТ СООБЩЕНИЕ "SORRY..." ПРИ ИЗМЕРЕНИЯХ КОНДЕНСАТОРОВ ВЫШЕ ДОПУСТИМОЙ НОРМЫ
_N1:MOV BYTE PTR CS:[_ANSWER+0],\'S\'
MOV BYTE PTR CS:[_ANSWER+1],\'o\'
MOV BYTE PTR CS:[_ANSWER+2],\'r\'
MOV BYTE PTR CS:[_ANSWER+3],\'r\'
MOV BYTE PTR CS:[_ANSWER+4],\'y\'
Приложение:
Вопрос отправлен: 04.05.2004, 00:26
Отправитель: ANDRE (andrean@bezeqint.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Приветствую Вас, ANDRE!
АХЕЗ! ;) Ты бы "прогу" полностью привел, мож помог бы тебе... ;)
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 07.05.2004, 07:09
Отправитель: _vt
Отвечает Foamplast
Здравствуйте, ANDRE!
Нужен полный текст программы.
Ответ отправлен: 06.05.2004, 04:37
Отправитель: Foamplast
Вопрос № 5222 |
поздравляю всех с прошедшим 1-ым мая!
пожалуйста, расскажите про аппаратную поддержку графических функций. Правда ли, что поддерживаемые функции все работают с дробным представлением данных?
есть ли аппаратно поддерживаемые функции для стандарта VESA?
и если я ещё чего забыл спросить, то можете ответить сразу, не дожидаясь следующего вопроса.
все, пока.
Вопрос отправлен: 04.05.2004, 15:52
Отправитель: soflot (soflot@ukr.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Foamplast
Приветствую Вас, soflot!
http://www.codenet.ru/progr/video/vesa201.php
Ответ отправлен: 08.05.2004, 14:51
Отправитель: Foamplast
Вопрос № 5224 |
Здравствуйте уважаемые эксперты!
Не могли бы Вы объяснить мне 2 вещи:
Первая - как работать с аппаратными прерываниями IRQ, а конкретно - с мышью и звуковой картой SPb ISA (запись и воспроизведение)
А вторая - как можно в ассемблере реализовать чтение запись CD-R и CD-RW дисков в ISO и UDF форматах (хотя бы как что и куда направлять CD-RW приводу?)
Спасибо
Вопрос отправлен: 04.05.2004, 17:41
Отправитель: Nikita
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, Nikita!
Мышь работает через Com-порт.
У неё есть команды определённые.
См. справочник.
Подаёшь эти команды.
Принимаешь данные.
Cм. мою программу
Там всё просто.
Звуковая карта построена около DMA. Там буфера всякие. Заполняешь их и всё это отдаётся в карту. Или наооборот. Лучше советую использовать BASS-библиотеку (она для win32).
Ну а запись CD можешь рассмотреть на основе Plugin для FAR.
Называется Nero Shell.
То есть, записывать будет Nero.
А если на низком уровне, то там обычный IDE-порт и просто дополнительные команды идут.
Ищи описание.
Удачи.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 08.05.2004, 16:38
Отправитель: Евгений Иванов
Отвечает Foamplast
Добрый день, Nikita!
- Это сильно зависит от ОС. Читайте документацию к конкретному процессору и ОС.
- Насчёт КД и звука: разные звуковухи управляются по-разному, то же относится и к дискам. Без документации к устройству не обойтись, а ещё её могут не дать. Лучше делать это через ОС.
Ответ отправлен: 06.05.2004, 04:36
Отправитель: Foamplast
Вопрос № 5225 |
Здравствуйте, у меня два вопроса.
1. Где можно скачать win32.hlp с функциями winapi для asm.
2. Есть "List View Control":
invoke SendMessage, hList, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT + LVS_EX_SUBITEMIMAGES + LVS_EX_GRIDLINES
как мне выделить какойнибудь элемент в этом листе.
Вопрос отправлен: 04.05.2004, 21:48
Отправитель: Andrei
[Следующий вопрос >>] [Список вопросов]
Отвечает Gibbel
Добрый день, Andrei!
1. Не существует разделения функций WinAPI на функции для C или функции для Assemblerа. WinAPI - это универсальный набор функций, которые вы можете вызывать из программы на любом языке программирования. Наиболее полная документация по WinAPI - это MSDN. Целиком библиотека MSDN продается мелкомягкими за большие деньги. А вот ее часть, Platform SDK, содержащую описание большинства стандартных функций Windows вы можете скачать бесплатно.
2. В большинстве случаев, вам необходимо послать несколько сообщений. Это LVM_SETSELECTIONMARK, LVM_SETITEMSTATE и LVM_ENSUREVISIBLE.
P.S.: Рассылка по WinAPI находиться рядом ;-)
Ответ отправлен: 05.05.2004, 15:18
Отправитель: Gibbel
Отвечает Foamplast
Доброе время суток, Andrei!
- Берите Platform SDK. C - это почти как асм. И вообще заглядывайте в рассылку, я через месяц специальный сайт открою.
- LVM_SETITEMSTATE, а ещё можно listview сделать ownerdraw и самому фон элементов подкрашивать :)
Ответ отправлен: 06.05.2004, 04:32
Отправитель: Foamplast
Вопрос № 5226 |
Приветствую,
Наваял тут функцию копирования памяти (C-вариант - memcpy). Работает вроде нормально, Посмотрите, может в плане оптимизации чего добавите. Функция написана на FASM c расчетом на вызов из С-программы.
Спасибо
Приложение:
Вопрос отправлен: 05.05.2004, 12:05
Отправитель: Hordi
[Следующий вопрос >>] [Список вопросов]
Отвечает Foamplast
Здравствуйте, Hordi!
Сразу хочется заметить, что программа может копировать только крупные блоки. И вообще, как насчёт rep movsb (movsd)? Ведь оптимизация бывает по скорости и по размеру.
Ответ отправлен: 06.05.2004, 04:27
Отправитель: Foamplast
Отвечает Евгений Иванов
Добрый день, Hordi!
проще будет movsb
;)
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 08.05.2004, 19:01
Отправитель: Евгений Иванов
Вопрос № 5228 |
Здравствуйте уважаемые эксперты.
Не подскажете ли Вы как определить присутствует ли в системном блоке звуковая карта и если присутствует, то какая. Все это требуется под ДОС.
Заранее спасибо.
Вопрос отправлен: 05.05.2004, 18:16
Отправитель: Joy
[Следующий вопрос >>] [Список вопросов]
Отвечает Foamplast
Здравствуйте, Joy!
Ищите соответствующий класс устройства по plug and play. Если надо, пришлю исходник.
Ответ отправлен: 06.05.2004, 04:24
Отправитель: Foamplast
Отвечает Евгений Иванов
Здравствуйте, Joy!
Есть соглашение. Порт 220h
Там нужно команды подавать, она отзывается. И т.д.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 08.05.2004, 19:01
Отправитель: Евгений Иванов
Вопрос № 5229 |
Здравствуйте уважаемые эксперты!
Вопрос такой:
Имеется два потока - основной(с циклом обработки сообщений) и рабочий.
Необходимо из рабочего потока изменить надпись на StatusBar. При
попытке это сделать возникает исключение. Подскажите пожалуйста алгоритм
взаимодействия рабочего потока с элементами управления основного потока.
Заранее благодарен 1!
Вопрос отправлен: 05.05.2004, 19:40
Отправитель: 1
[Следующий вопрос >>] [Список вопросов]
Отвечает Foamplast
Здравствуйте, 1!
Во-первых, посмотрите, нет ли ошибок. Я как-то писал программу, в которой разные потоки изменяли окна и всё было нормально. Во-вторых, в винде действительно есть некоторые случаи запрещения манипуляций с окнами чужого потока. В таких случаях поток, которому можно изменять окно может а)ждать события б)получать сообщение. При необходимости изменения окна пошлите сообщение (выставьте событие) нужному потоку.
Ответ отправлен: 06.05.2004, 04:23
Отправитель: Foamplast
Вопрос № 5230 |
Здравствуйте уважаемые эксперты!
Я уже прислал вас вопрос
>Не могли бы Вы объяснить мне 2 вещи:
>Первая - как работать с аппаратными прерываниями IRQ, а >конкретно - с мышью и звуковой картой SPb ISA (запись и >воспроизведение)
>А вторая - как можно в ассемблере реализовать чтение >запись CD-R и CD-RW дисков в ISO и UDF форматах (хотя бы >как что и куда направлять CD-RW приводу?)
>Спасибо
и уже получил отрицательный ответ по той причине, что сие сильно зависит от ОС и оборудования
Посему прошу все-таки мне ответить учитывая, что я работаю исключительно в MS-DOS 6.20, (возможно в 32 разрядном режиме, но не желательно). Что касается звуковой карты - то она у меня стандартная DOS-овская - Sound Blaster Pro ISA - совместимая. А от вида привода CD-RW это действительно принципиально зависит? Стандартов нет? (а вообще-то у меня RICOH). А мышь тоже стандартная для DOS - serial
Очень прошу хоть кратенько ответить ибо не могу найти в интернете соответствующей документации...
Спасибо
Вопрос отправлен: 06.05.2004, 13:25
Отправитель: Nikita
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Здравствуйте, Nikita!
А причем здесь IRQ? Ищи описание на необходимое тебе устройство и работай с ним!
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 07.05.2004, 07:09
Отправитель: _vt
Отвечает Евгений Иванов
Добрый день, Nikita!
http://www.codeproject.com/system/udfcdr.asp?df=100&forumid=7311&exp=0&select=583256
а вообще ищи ASPI
это стандарт
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 09.05.2004, 15:27
Отправитель: Евгений Иванов
Отвечает Foamplast
Добрый день, Nikita!
- Рассказывать очень много, проще сказать, где искать.
- Есть хорошая книга на эту тему - "Программирование на аппаратном уровне", автор Кулаков.
- Насчёт мыши все как раз просто - они стандартные (не стандартизованы только доп. кнопки и колёса).
- По бластеру вот:
http://www.rusdoc.ru/material/lang/other/sb.zip
http://pmg.org.ru/russian/download.htm>
http://www.kulichki.com/inkwell/comp/raznoe.htm
(это всё одно и то же, на разных серверах) - С писалками косяков много, скорее всего эта информация (как PCI или IFS для винды) не всем доступна. И они очень разные, так как пишущие программы, работающие с одним приволом
могут не работать с другим.
- Советую взять исходники FreeBSD (или наподобие) и посмотреть, как там сделано.
Ответ отправлен: 08.05.2004, 15:01
Отправитель: Foamplast
Вопрос № 5232 |
Здравствуйте Уважаемые Эксперты!!!
Есть два вопроса:
Пытаюсь написать что-то вроде драйвера.Программа перешла
на 0 кольцо ,могу ли я писать дальше тело проги как под ДОС
т.е. без API,скажем mov dx,... ,mov al,1 , int 21h ,...
И второй вопрос:как запустить программой другую программу(при определенных событиях ,например программа считывает время и в 2 часа должна запустить Word)
Зарание благодарен!!!
Вопрос отправлен: 06.05.2004, 14:54
Отправитель: vlad
[Следующий вопрос >>] [Список вопросов]
Отвечает Foamplast
Доброе время суток, vlad!
Расставьте всё по местам!
- Под какой ОС вы пишете? Windows - тогда зачем запускать Word из драйвера, когда это проще сделать из пользовательского режима?
- Без API писать можно, только mov ax, [xx]... int 21h - это тоже API, только ДОСа. Если Вы под виндой, то API ДОСа вызывать нельзя (в 95/98, наверное можно, но это атавизм).
- Посмотрите Windows DDK, раздел Driver Support Routines, там есть ответы на многие Ваши вопросы.
Ответ отправлен: 08.05.2004, 15:23
Отправитель: Foamplast
Отвечает Pawel
Доброе время суток, vlad!
1)Не совсем так. На RING-0 нет прерываний и Api, можно работать с машиной только через порты и регистры. Важно то, что драйвер будет иметь высший приоретет, т.ч вечный цикл повесит комп. Если пужно подробней то пишите.
p.s. писал драйвер винта на fasm.
Ответ отправлен: 06.05.2004, 16:18
Отправитель: Pawel
Вопрос № 5233 |
У меня есть файл.
Его размер 240 байт.
Моя задача урезать последние 80 байт чтобы размер файла стал 160 байт. Как это сделать ?
Вопрос отправлен: 06.05.2004, 17:00
Отправитель: DeHunter
[Следующий вопрос >>] [Список вопросов]
Отвечает Foamplast
Здравствуйте, DeHunter!
Для этого нужно установить конец файла на 160-м байте от начала. Как сделать - зависит от ОС. Под Windows это делает функция SetEndOfFile().
Ответ отправлен: 08.05.2004, 15:26
Отправитель: Foamplast
Отвечает ASMодей
Доброе время суток, DeHunter!
В Windows можно использовать функцию SetEndOfFile.
Ответ отправлен: 08.05.2004, 07:17
Отправитель: ASMодей
Отвечает Евгений Иванов
Здравствуйте, DeHunter!
Устанавливаешь указатель файла на нужный отрезок и закрываешь файл.
См. описание функции установки указателя. (42h в ДОС).
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 08.05.2004, 19:02
Отправитель: Евгений Иванов
Отвечает Acid Burn
Доброе время суток, DeHunter!
Открываешь файл, считываешь из него 160 байт и сохраняешь их с перезаписыванием файла!
Ответ отправлен: 08.05.2004, 22:56
Отправитель: Acid Burn
Отвечает Dark_Lord
Доброе время суток, DeHunter!
Например так:
-Создаёшь буффер размером файла
-счтиываешь файл
-переоткрываешь файл с флагом CREATE_ALWAYS
-записываешь в файл только первые 180 байт из буфера
Ответ отправлен: 06.05.2004, 23:06
Отправитель: Dark_Lord
Отвечает Pawel
Приветствую Вас, DeHunter!
Читаешь первые 16 байт из фаила в буфер, потом записываешь их снова в файл.
Ответ отправлен: 07.05.2004, 21:19
Отправитель: Pawel
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (26) C / C++ (15) Perl (4) Builder / Delphi (19) Pascal (19) Basic / VBA (4) Java / JavaScript (4) PHP (11) Криптография (9) WinAPI (11) Радиоэлектроника (6) |
Пользователю Windows 95/98/Me (33) Windows NT/2000/XP (50) "Железо" (27) Поиск информации (14) |
Администратору Windows NT/2000/XP (24) Linux / Unix (9) |
Юристу Гражданское право (10) Семейное право (7) Трудовое право (9) КоАП (6) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||