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

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


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

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

Выпуск № 441
от 13.12.2002, 01:30

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 2128
Отправлено ответов: 6516
Активность: 306.2 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.32
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 114.38
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
keleb-glin
Статус: Доверительный
Общий рейтинг: 115.15
[Подробней >>]
 
Maverick
Статус: Профессиональный
Общий рейтинг: 138.93
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 149.95
[Подробней >>]
Andrew Vext
Статус: Доверительный
Общий рейтинг: 108.24
[Подробней >>]
 
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 122.92
[Подробней >>]
LIFO
Статус: Профессиональный
Общий рейтинг: 121.94
URL: наш сайт
Телефон: 8 01710 24758
[Подробней >>]
Portnov
Статус: Профессиональный
Общий рейтинг: 115.74
URL: Мой сайтик...
[Подробней >>]
 
St
Статус: Опытный
Общий рейтинг: 115.73
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 119.34
[Подробней >>]
Beeblebrox
Статус: Профессиональный
Общий рейтинг: 111.57
URL: Beeblebrox / TMA HomePage
[Подробней >>]
 
Sensey
Статус: Профессиональный
Общий рейтинг: 122.38
URL: Страничка рассылки по Паскалю
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 2064. Здравствуйте! Как можно наасме подсчитать процент занятости процессора - текущий и за всё время рабо... (ответов: 1)
Вопрос № 2066. Здравствуйте! Мне бы вот алгоритм для рисования граика x^2. Тока не дескретные точки - а чтобы как т... (ответов: 2)
Вопрос № 2067. Сразу прошу прощения за это сообщение в общей рассылке. Я просто не знаю где можно взять e-mailы отд... (ответов: 3)
Вопрос № 2068. Всем привет. Установил себе сайс 4.05 NT под XP пропатчил. Ура сайс запустился из XP. НО ни MessageB... (ответов: 1)
Вопрос № 2069. Люди! Вопрос жизни и смерти, подскажите где можно найти в инете инфу по архитектуре винды, плиз... ... (ответов: 3)
Вопрос № 2070. Как использовать команды rdmsr/wrmsr??? Они не работают т.к. не нулевой уровень привилегий. ... (ответов: 3)
Вопрос № 2071. Здраствуйте Эксперты!!! Я только начинаю изучать асм и мне нужен код простейшего _рабочего_ обработч... (ответов: 3)
Вопрос № 2072. Доброго времени суток, уважаемые эксперты. Подскажите пожалуйста, какое IDE лучше использовать при н... (ответов: 5)
Вопрос № 2073. Доброго времени суток, эксперты! У меня следующий вопрос: как можно определить загруженность процесс... (ответов: 3)
Вопрос № 2074. Здравствуйте, уважаемые эксперты. Помогите, plz, чайнику, запутавшемуся в трёх строчках кода. Судя п... (ответов: 5)
Вопрос № 2075. Уважаемые, был бы безгранично благодарен, если бы вы мне, как начинающему программисту помогли с раз... (ответов: 1)

Вопросов: 11, ответов: 30


 Вопрос № 2064

Здравствуйте!
Как можно наасме подсчитать процент занятости процессора - текущий и за всё время работы. Понимаю это должен быть резидент, должен скорее всего перехватывать таймер, а дальше - тупик. Может кто подскажет алгоритм или как бы Вы реализовывали данную фичу.
P.S. все это конечно под DOS.



Вопрос отправлен: 08.12.2002, 01:38
Отправитель: Илья (b.i@date.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Приветствую Вас, Илья!
Под ДОС вообще сложно говорить о проценте занятости процессора, т.к. ДОС вообще однозадачная система - т.е. либо 0 (когда нет никакой программы и не выполняется действий), либо 100%.
Таймера одного тебе не хватит, т.к. он приходит слишком редко (около 18,2 раза в секунду).
Можно только вот как попробовать - есть такое прерывание 2Ch, кажется - его ДОС вызывает когда ему "нечего делать" (с частотой таймера) - вот его перехвати (и таймер тоже) и считай, что если дос его вызвал, значит текущие 1/18.2 секунды активной задачи нет, если прерывание таймера было, а 2Ch - нет, то текущие 1/18.2 сек. ДОС занят (или прога какая-то загружена).


Ответ отправлен: 09.12.2002, 20:56
Отправитель: Bob Johnson


 Вопрос № 2066

Здравствуйте! Мне бы вот алгоритм для рисования граика x^2. Тока не дескретные точки - а чтобы как то обсчитывать промежутки между точками чтолбы плавные линии получались. По идее надо сохранять координаты предыдущей точки и рисовать линию от них до новых координат по алгоритму Брезенхама. Я тут написал.. но как то криво строит - тоесть видимо для построения правой части этот алгоритм в моём случае не пашет. Написал на паскалике со вставками на скорую руку - я вообще заметил - ЧЕСТНО СЛОВО - когда компилю, то график получается то дёрганный какой-то, то дискретный, то ваще... правда, а каждый раз када компилю - по разному немного выходит.
Пожалуйста скажите алгоритм и если можно - кто знает pascal - подправьте прогу pls. Надо к колледжу срочно...
PS: может мне тоже пригодятся знаменитые лабы Джонсона?


Приложение:


Вопрос отправлен: 08.12.2002, 09:27
Отправитель: Эдик Самосвал0в (zeleniy_kot@yahoo.com)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Здравствуйте, Эдик Самосвал0в!
Тебе лучше использовать дискретные точки, но так, чтобы на каждый пиксель на экране приходилась одна такая точка. Т.е. тебе необходимо определить шаг по оси х - какой прирост dx будет соответствовать одной точке по оси х. Тогда график будет плавный. Посчитать это не сложно - размер видимой части оси х в единицах делишь на размер графика по горизонтале (в пикселах), т.е. пусть у тебя
-5 <= x < 5, т.е. Dx = 10, и ширина экране - 640, тогда:
dx = 10/640 = 1/64 = ...


Ответ отправлен: 09.12.2002, 20:56
Отправитель: Bob Johnson


Отвечает baldr

Приветствую Вас, Эдик Самосвал0в!
Честно скажу - в коде не разбирался, но вот что имею сообщить... Незачем писать реализацию
алгоритма Брезенгхама, потому как при рисовании линии именно он и применяется в Делфах.
Просто соединяешь все точки последовательно линиями и все.
Есть несколько надводных камней... Если рисовать в расчете, что в формулу подставляются пикселы,
то все будет наиболее точно отображаться.


Ответ отправлен: 09.12.2002, 00:04
Отправитель: baldr


 Вопрос № 2067

Сразу прошу прощения за это сообщение в общей рассылке. Я просто не знаю где можно взять e-mailы отдельных экспертов.
Если помните я уже посылал вопрос по assembler. Я прошу прощения за неправильно поставленный вопрос. Я конечно же не требую ничего, вы мне ничего и не должны. Я просто прошу.
Я согласен, что самому писать программу несравненно интересней, но получить это удовольствие мне мешают две причины:
1. Нехватка времени.
2. Незнание этого языка.
Поэтому я прошу помочь мне практически. Вы же сами говорите что это несложно.
Спасибо заранее.



Вопрос отправлен: 08.12.2002, 11:39
Отправитель: Lexus

[Следующий вопрос >>] [Список вопросов]

Отвечает keleb-glin

Добрый день, Lexus!
Рад буду тебе помочь. Будут вопросы - пиши.
keleb-glin@xakep.ru


Ответ отправлен: 08.12.2002, 20:07
Отправитель: keleb-glin


Отвечает Bob Johnson

Приветствую Вас, Lexus!
Я мог бы тебе помочь но только на следующей неделе (среда-четверг), т.к. пока экзамены.


Ответ отправлен: 09.12.2002, 20:57
Отправитель: Bob Johnson


Отвечает Maverick

Доброе время суток, Lexus!
Что, сроки поджимают, а лабу сдавать надо? :)))
Ок, пиши требования к программе(поточнее) на Maverick@nightmail.ru
Напиши, файл уже должен быть, или его должна создавать программа?
Ну и т.п., поточнее.
Резидент или нет?
Короче ясно, я надеюсь.

Ответ отправлен: 08.12.2002, 12:03
Отправитель: Maverick


 Вопрос № 2068

Всем привет.
Установил себе сайс 4.05 NT под XP пропатчил. Ура сайс запустился из XP. НО ни MessageBoxA ни MessageBoxExA сайс не обрабатывает, хотя хорошо обрабатывает ExitProcess, CreateWindowExA ... Помогите! почему он не видит MessageBoxA. Еще SymbolLoader глючит - открываю exe-шник, нажимаю LOAD, запускается прога а сайсу пофиг, пробовал менять настройки лоадера результат 0. В чем тут дело? И еще, даю сайсу команду HWND а он мне UNABLE TO FIND
A DESKTOP WINDOW что это такое? мож че нетак делаю?
Надеюсь на помощь.



Вопрос отправлен: 08.12.2002, 13:51
Отправитель: Kiselev (kiselev@inbox.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Доброе время суток, Kiselev!
Блин, ну сколько уже говорилось - скачай DriverStudio 2.6 или 2.7
А то ставят, блин, старую версию айса на новую версию виндов и говорят - ничего не работает.
Это не личное, а вообще...

Ответ отправлен: 09.12.2002, 11:48
Отправитель: masquer


 Вопрос № 2069

Люди!
Вопрос жизни и смерти, подскажите где можно найти в инете инфу по архитектуре винды, плиз...
ЗЫ Ссылочку киньте, если не трудно, а то взаправду загнусь ;)
Спасибо.



Вопрос отправлен: 08.12.2002, 15:46
Отправитель: Макс (zirewin@yandex.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Здравствуйте, Макс!
Какая архитектура конкретно - внутренняя или внешняя?
Если по внутренней - то это трудно найти и зависит от типа винды (9х или NT).
Если по внешней (т.е. API для программ) - то тебе поможет MSDN. (msdn.microsoft.com)


Ответ отправлен: 09.12.2002, 20:57
Отправитель: Bob Johnson


Отвечает masquer

Доброе время суток, Макс!
Почитай Питрека и Рихтера. В инете есть...

Ответ отправлен: 09.12.2002, 11:49
Отправитель: masquer


Отвечает Andrew Vext

Доброе время суток, Макс!
Есть книга Inside Windows2000 Могу выслать. netlib@mail.ru

Ответ отправлен: 09.12.2002, 12:25
Отправитель: Andrew Vext


 Вопрос № 2070

Как использовать команды rdmsr/wrmsr??? Они не работают т.к. не нулевой уровень привилегий.



Вопрос отправлен: 08.12.2002, 16:32
Отправитель: MuRR

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Добрый день, MuRR!
Если у тебе нет этого уровня привелегий, то никак... А что ты хотел...


Приложение:

Ответ отправлен: 09.12.2002, 20:57
Отправитель: Bob Johnson


Отвечает Dark_Lord

Здравствуйте, MuRR!
А за чем тебе машинно-специфичесские регистры в Windows (я так понял про него речь идёт, так как не 0-ой круг), к тому-же эти команды доступны только в реальном режиме.!

Ответ отправлен: 08.12.2002, 17:21
Отправитель: Dark_Lord


Отвечает masquer

Добрый день, MuRR!
Ну дык, наверное, выйти на нулевой нужно, так ведь :)

Ответ отправлен: 09.12.2002, 11:50
Отправитель: masquer


 Вопрос № 2071

Здраствуйте Эксперты!!!
Я только начинаю изучать асм и мне нужен код простейшего _рабочего_ обработчика нажатия на клавишу. Помогите кто чем может.



Вопрос отправлен: 08.12.2002, 18:20
Отправитель: mihail

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Здравствуйте, mihail!
Так возьми и напиши.
Перехватывай прерывание int 9h
Ничего сложного нет, возьми любой резидент простенький и переделай.

Ответ отправлен: 09.12.2002, 19:55
Отправитель: Maverick


Отвечает LIFO

Здравствуйте, mihail!
xor ax,ax
int 16h
cmp al,'код любой клавиши'
jc exit
...

Ответ отправлен: 08.12.2002, 20:19
Отправитель: LIFO


Отвечает keleb-glin

Добрый день, mihail!
Прстейший обработчик - ниже


Приложение:

Ответ отправлен: 11.12.2002, 22:34
Отправитель: keleb-glin


 Вопрос № 2072

Доброго времени суток, уважаемые эксперты.
Подскажите пожалуйста, какое IDE лучше использовать
при написании программ на Ассемблере.
И еще один вопрос. Есть ли где-то аналоги линуксового
редактора vi под Win32.
Заранее благодарен.



Вопрос отправлен: 08.12.2002, 20:03
Отправитель: v0id (v0id_dev@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Доброе время суток, v0id!
Я пользуюсь AsmEditor
www.avt.newmail.ru


Ответ отправлен: 09.12.2002, 19:56
Отправитель: Maverick


Отвечает Bob Johnson

Доброе время суток, v0id!
Лучше не пользоваться IDE, а писать программы в обычном текстовом редакторе (FAR, DN, Aditor), а для компиляции использовать батник с именем, например, c.bat. Тогда просто редактируешь файл, выходишь, нажимаешь с enter и файл готов.
И что тебе нравится конкретно в vi?


Ответ отправлен: 10.12.2002, 20:37
Отправитель: Bob Johnson


Отвечает LIFO

Здравствуйте, v0id!
Visual Assembler

Ответ отправлен: 08.12.2002, 20:17
Отправитель: LIFO


Отвечает masquer

Добрый день, v0id!
Это тебе решать какие тебе удобно использовать. Я ультраедит юзаю, есть RadAsm неплохой.

Ответ отправлен: 09.12.2002, 11:52
Отправитель: masquer


Отвечает Portnov

Доброе время суток, v0id!
1) Тут рекомендуют RadAsm, TurboShell, AsmEdit и мн.др. Я многое из этого пробовал, но мне лично не понравилось. Я использую собственноручно написанную на Дельфях IDE, но она без подсветки синтаксиса (мне оно не надо). Если вам тоже покажется, что вы не нашли ничего хорошего, пишите portnov@mdv.ru - как-нить переправлю.
2)Видел на Listsoft еакую штуку - winvi, кажется...
С уважением, Portnov.

Ответ отправлен: 10.12.2002, 14:36
Отправитель: Portnov


 Вопрос № 2073

Доброго времени суток, эксперты!
У меня следующий вопрос: как можно определить загруженность процессора в процентах? Ведь по идее процессор или загружен или нет, но вот Task Manager в винде считает по другому :).
Всем спасибо.



Вопрос отправлен: 08.12.2002, 21:12
Отправитель: Jens (jens@supermail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает St

Привет, Jens!
Наверное там работа и простой усредняются в течение некому интервалу времени.
St

Ответ отправлен: 09.12.2002, 20:01
Отправитель: St


Отвечает Bob Johnson

Доброе время суток, Jens!
Процессор выполняет определенное количество тактов в секунду. Если, например, у тебя частота 1000 МГц, значит твой процессор выполняет 10^9 тактов в секунду. Из них он сколько-то тактов решает задачи (выполняет приложения, системные функции и т.д.), а сколько-то просто простаивает в ожидании команд от пользователя. Вот по отношению времени полезной работы процессора к общему количеству тактов в секунду и можно узнать процент загрузки процессора.


Ответ отправлен: 10.12.2002, 20:37
Отправитель: Bob Johnson


Отвечает masquer

Приветствую Вас, Jens!
В NT системах есть соответствующий набор функций, которые работают с Perfmon.exe. Как в 9х получить такую информацию - х.з., как-то можно считать процессорное время, но без драйвера, который будет считать все это на уровне системы, думаю, не обойтись. Мне когда-то попадалась программа для 9х наподобие TaskManager-a. Попробуй посмотреть, как она устроена.

Ответ отправлен: 10.12.2002, 11:22
Отправитель: masquer


 Вопрос № 2074

Здравствуйте, уважаемые эксперты.
Помогите, plz, чайнику, запутавшемуся в трёх строчках кода.
Судя по описанию, инструкция XADD может работать с 16-разрядными регистрами, а на деле - ошибка при линковке.


Приложение:


Вопрос отправлен: 08.12.2002, 22:32
Отправитель: DeMax (maximov_denis@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Dark_Lord

Доброе время суток, DeMax!
".486" должно быть записано ПОСЛЕ "model .tiny" иначе ассемблер считает, что модель памяти flat

Ответ отправлен: 09.12.2002, 20:29
Отправитель: Dark_Lord


Отвечает ASMодей

Здравствуйте, DeMax!
TASM ругается вовсе не на команду XADD, а на то, что ты поставил
директиву .486 перед директивой .model tiny исправь, и все будет
нормально.


Ответ отправлен: 09.12.2002, 06:20
Отправитель: ASMодей


Отвечает Beeblebrox

Здравствуйте, DeMax!
.model tiny - первая строка
.486 - вторая

Ответ отправлен: 09.12.2002, 10:25
Отправитель: Beeblebrox


Отвечает Sensey

Здравствуйте, DeMax!
Переставь строку
.486
После
.code
Я компилировал
tasm32 /zi/l/n/m3/a %1
tlink /s/v/3/t %1


Ответ отправлен: 09.12.2002, 11:59
Отправитель: Sensey


Отвечает Bob Johnson

Добрый день, DeMax!
TLink тупит. Вот так будет нормально работать (вообще, если используешь директивы, нач. с точки, ставь определение процессора непосредственно в сегмент кода):
.model tiny
.code
org 100h
.486
start:
mov ax,40h
mov bx,50h
xadd ax,bx
ret
end start


Ответ отправлен: 10.12.2002, 20:37
Отправитель: Bob Johnson


 Вопрос № 2075

Уважаемые, был бы безгранично благодарен, если бы вы мне, как начинающему программисту помогли с различного рода FAQ ми по асму, может быть у кого-то сохранилось начало рассылки? просьба к общеизвестной литературе не отправлять.
P.S. может быть вы поможете (намекнете), спрограммировать калькулятор, оперирующий 64 битными числовыми данными.



Вопрос отправлен: 09.12.2002, 00:07
Отправитель: Basilio (basilio@tut.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Приветствую Вас, Basilio!
На subcribe есть же архив рассылки.


Ответ отправлен: 09.12.2002, 19:56
Отправитель: Maverick



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


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


Получить ответов:


 Выбор рассылки

Программисту
Assembler (41)
C / C++ (30)
Perl (7)
Delphi (24)
Pascal (26)
Basic / VBA (11)
Java / JavaScript (10)
PHP (5)
MySQL / MSSQL (7)
Пользователю
Windows 95/98/Me (30)
Windows NT/2000/XP (22)
"Железо" (30)
Поиск информации (12)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (14)
Юристу
Гражданское право (10)
Семейное право (3)
Трудовое право (6)
КоАП (3)

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




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное