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

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 230
от 05.09.2005, 21:48

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


Вопрос № 25572: Продолжение вопроса №25545 BSOD, спасибо за быстрый ответ. Версия у меня 2.7, build 562. Запускаю в Manual mode, пытаюсь просто обычные виндовозные приложения смотреть. С дровами буду разбираться чуть позднее - если в обычных приложениях &qu...
Вопрос № 25590: Написал программу по Калашникову, для вывода кучи рожиц. CSEG segment org 100h Begin: mov ax,0B800h mov es,ax mov di,0 mov al,1 mov ah,31 mov cx,2000 N_f: mov es:[di],ax add di,2 ...
Вопрос № 25595: Уважаемые эксперты! У меня вопрос о программных охладителях процессора (софт-кулерах). Например, в программе WaterFall Pro есть датчики температуры, вращения вентилятора, загруженности процессора, напряжения на нем и даже количества свободног...
Вопрос № 25600: Здраствуйте эксперты. У меня тут есть вопрос. Мне хочется узнать как комп заставить в мобильный телефон при помощи USB-порт записать свои данные типа какую-нибудь программку или что-то в этом роде.Желательно примерчик. ...
Вопрос № 25614: Sager и BSOD, спасибо за ответ!.. Я всё так же про вопрос 25545 Так вот... проблема у меня несколько не в том, что он у меня не устанавливается и не вызывается при нажатии заветных клавиш. Всё без проблем устанавливается и вызывается нажатие...

Вопрос № 25.572
Продолжение вопроса №25545
BSOD, спасибо за быстрый ответ. Версия у меня 2.7, build 562.
Запускаю в Manual mode, пытаюсь просто обычные виндовозные приложения смотреть. С дровами буду разбираться чуть позднее - если в обычных приложениях "набью руку", так сказать.
Ваши авторитетные комменты очень кстати и чем скорее, тем лучше.

Спасибо.
Отправлен: 30.08.2005, 22:38
Вопрос задал: Капустин Евгений (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: BSOD
Здравствуйте, Капустин Евгений!
это для дравов
папробуй другой атладчик нафик те софтайс ты что проги хакать собрался ?
типа выот http://ervsed3.narod.ru/
ну а если жажда то вот http://www.lugarus.com/modules.php?name=xNews&file=print&sid=1733
60 метров точна пойдет под икспей
---------
Blue Screen of Death
Ответ отправил: BSOD (статус: 2-ой класс)
Отправлен: 31.08.2005, 12:20


Вопрос № 25.590
Написал программу по Калашникову, для вывода кучи рожиц.

CSEG segment
org 100h

Begin:

mov ax,0B800h
mov es,ax
mov di,0
mov al,1
mov ah,31
mov cx,2000

N_f:
mov es:[di],ax
add di,2
Loop N_f

mov ah,10h
int 16h
int 20h
CSEG ends
end Begin

Когда компилирую, выдает такую ошибку
Error filename.asm<16> Near jump or call to different CS
Программа написана точно по книге. Почему такая ошибка?
Что нужно изменить в коде, чтоб программа заработала?
Отправлен: 31.08.2005, 09:44
Вопрос задал: Мачин Дмитрий Сергеевич (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Boriss
Здравствуйте, Мачин Дмитрий Сергеевич!
Дело в том, что CS - это регистр, в котором должен хранится адрес сегмента кода.
А в Вашей программе только ОБЪЯВЛЕНО, что CSEG segment, но нигде не написано, что нужно использовать его в качестве сегмента кода (ассемблер позволяет делать все - но и Вы должы объяснять все)
Так что нужно сделать либо (1) либо (2) в приложении

Приложение:

---------
Прорвемся! (Быть может :(( )

Ответ отправил: Boriss (статус: Профессор)
Отправлен: 31.08.2005, 10:20
Оценка за ответ: 5
Комментарий оценки:
Подробно и ясно. Благодарствую!

Отвечает: Sager
Здравствуйте, Мачин Дмитрий Сергеевич!
В дополнение скажу, что если будешь использовать масм, то таких ошибок и не будет.
Ответ отправил: Sager (статус: 5-ый класс)
Отправлен: 31.08.2005, 10:51
Оценка за ответ: 5
Комментарий оценки:
Учту. Просто дома Masm а на работе Tasm. Вот и вышла такая непонятка. А вкниге об этом в след. главе написано, поэтому и не заметил.

Отвечает: newinfo2005
Здравствуйте, Мачин Дмитрий Сергеевич!
Там же в книге написано что если компилить под тасм то надо дописать еще одну строчку перед ord 100h:assume cs:cseg,es:cseg,ss:cseg,ds:cseg;привязка сегментов.
Для масм этого писать не надо
---------
Хочу стать умным и...много денег и халявного инета.
Ответ отправил: newinfo2005 (статус: 5-ый класс)
Отправлен: 31.08.2005, 11:20
Оценка за ответ: 5
Комментарий оценки:
Тебе тоже спасибо. Ответ понятен, все получилось.

Отвечает: BSOD
Здравствуйте, Мачин Дмитрий Сергеевич!
ты куда ссотришь када пишешь ??? или тока Copy/Paste могешь ??
сатри
между строками
CSEG segment

org 100h

Вставить assume CS:CSEG, ES:CSEG, DS:CSEG, SS:CSEG

должно быть так:
CSEG segment
assume CS:CSEG, ES:CSEG, DS:CSEG, SS:CSEG
org 100h
и дальше
кароче те тока бейсик учить
---------
Blue Screen of Death
Ответ отправил: BSOD (статус: 2-ой класс)
Отправлен: 31.08.2005, 12:25
Оценка за ответ: 1
Комментарий оценки:
Да ну слышь, ты када класс в пяты хотя бы перейдешь, тодаи будешь дядьку учить как на войну ходить:)


Вопрос № 25.595
Уважаемые эксперты!
У меня вопрос о программных охладителях процессора (софт-кулерах).
Например, в программе WaterFall Pro есть датчики температуры, вращения вентилятора, загруженности процессора, напряжения на нем и даже количества свободного места на жестком диске. При загрузке процессора выше определенного уровня программа принудительно приостанавливает его работу и снижает тепловыделение. Звучит как фантастика! Интересно как удалось добиться программной реализации всех этих удивительных возможностей.
Слышал у процессора есть полезная команда - HLT, которая переводит его в режим ожидания и, соответственно, снижает тепловыделение.Кстати как это выглядит на асме?
Отправлен: 31.08.2005, 10:23
Вопрос задал: Kuran (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: newinfo2005
Здравствуйте, Kuran!
Да фантастика!!!
Я ,конечно,не писал такие проги но надо попробовать.
Тем более на асме можно и не такое вытворять.
А команда HLT очень интересная.
Когда команда срабатывает идет останов процессора если к этому моменту были запрещены прерывания то вывести из останова может только выключения и включения компа,а если были разрешены,то можно вывести из останова внешние прерывание.(вот только сейчас проверил на своем компе что даже кнопка reset не может вывести из останова проц и прояснилось почему при нажатие на кнопку рэсет комп не грузится)

---------
Хочу стать умным и...много денег и халявного инета.
Ответ отправил: newinfo2005 (статус: 5-ый класс)
Отправлен: 31.08.2005, 11:37
Оценка за ответ: 3

Отвечает: John Freeman
Здравствуйте, Kuran!
1) Датчики - обратись к спецификации SMBus , всё очень подробно расписано
2) мониторинг загрузки - да хоть средствами OS! но смотри п3
3) Вот как раз при НАГРУЖЕННОМ процессоре толку 0(даже <0) с такого софта, потому что этот софт гоняет HLT когда процессор свободен, а когда нагружен наоборот занимает ресурсы.
4) Так и выглядит - HLT , для AMD свои настройки, а о технологиях OnNow,PowerNow... итд это отдельный разговор(там всё можно менять, например напряжение питания )
---------
Ik bin ulien spiegel!
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 31.08.2005, 15:17
Оценка за ответ: 5
Комментарий оценки:
Еще я слышал про технологию Intel SpeedStep.

Отвечает: Bob Johnson
Здравствуйте, Kuran!
Классические софт кулеры для современных ОС абсолютно не нужны. Их принцип работы заключается в том, что если в операционной системе нет в данный момент времени программ для выполнения (все чего-то ждут, одна - действий пользователя, другая - допустим данных от модема и т.п.), то процессору подсовывается команда HLT (ожидание прерывания). Во время выполнения этой команды процессор абсолютно ничего не делает, в результате чего его тепловыделение приостанавливается (а за счет вентилятора, который продолжает работать, температура снижается). Как только поступает сигнал прерывания, процессор возобновляет работу и начинает выполнять код обработчика этого прерывания.
Современные ОС уже используют эту особенность процессоров и в свободное время выполняют команду HLT, поэтому обычный классический софт кулер ничего нового в функционирование ОС не внесет (кажется, только windows 95 не использовала HLT в свободное время).
Что может сделать более навроченный софт кулер? Во-первых, он может снижать тактовую частоту процессора в то время, когда он не загружен на 100%, это позволит снизить температуру процессора при простое. Во-вторых, он может просто не допускать превышения температурой заданного предела, снижая тактовую частоту при приближении к нему. Но это уже скажется на быстродействии процессора, т.к. такой софт кулер не даст ему работать в полную силу. Кстати, в последних процессорах от АМД и в Pentium'ах начиная с 4-го уже аппаратно реализована такая функция. Она используется для защиты процессора от перегрева.
В результате получается, что никакой необходимости в таких программах нет.
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 31.08.2005, 17:14
Оценка за ответ: 4
Комментарий оценки:
Если звезды зажигают значит это кому нибудь нужно.


Вопрос № 25.600
Здраствуйте эксперты.
У меня тут есть вопрос.
Мне хочется узнать как комп заставить в мобильный телефон при помощи USB-порт записать свои данные типа какую-нибудь программку или что-то в этом роде.Желательно примерчик.
Отправлен: 31.08.2005, 11:55
Вопрос задал: newinfo2005 (статус: 5-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Стас
Здравствуйте, newinfo2005!
Так и думал что желающих отвечать не найдется...
Чтобы не "уйти в отпуск" в основном отвечу.
Обычно мобила подключается к USB, но обмен данными идет все равно через виртуальный COM порт.
В любом случае команды для снятия показаний, перекачки картинок и прочего, а также прошивки ("типа программка") достаточно специфичны для каждой марки мобилы. Есть такие протоколы OBEX и BFB, почитай о них. Можешь попробовать взять прогу с открытым текстом например http://sourceforge.net/projects/fma покапай.
А точнее тебе скажут на форумах - ищи сайты посвященные твоей марке телефона (мой сименс - http://forum.siemens-club.ru).
Дерзай.
Ответ отправил: Стас (статус: Практикант)
Отправлен: 01.09.2005, 01:14
Оценка за ответ: 5


Вопрос № 25.614
Sager и BSOD, спасибо за ответ!.. Я всё так же про вопрос 25545

Так вот... проблема у меня несколько не в том, что он у меня не устанавливается и не вызывается при нажатии заветных клавиш. Всё без проблем устанавливается и вызывается нажатием Ctr+D, более того, он реагирует на бряки разные "системные" бряки (на разные WM_ например). Но когда я гружу Symbol Loader и жму Load Symbols - сайс НЕ ВЫХОДИТ, хотя, есессна, Stop at WinMain стоит... Вот.
Надеюсь, сейчас ясна проблема...
Спасибо всем.
Отправлен: 31.08.2005, 19:03
Вопрос задал: Капустин Евгений (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: John Freeman
Здравствуйте, Капустин Евгений!
WinMain говоришь...(или EP...) это старый баг или фича как уже говорят в SI Loader, используй Break'n'Enter из PETools
---------
Ik bin ulien spiegel!
Ответ отправил: John Freeman (статус: Профессор)
Отправлен: 31.08.2005, 22:46
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо :)


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться
Вспомнить пароль

В избранное