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

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


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

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

Выпуск № 532
от 31.08.2006, 18:35

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


Вопрос № 53331: Здравствуйте уважаемые эксперты. На сколько я знаю все процедура находятся в DLLках, мы к проекту подключаем Lib и другие файлы с прототипами. И можем вызвать процедуру из любого языка. Вопрос: Одна и та же процедура одинокого ли работает по...
Вопрос № 53341: Доброго времени суток уважаемые эксперты. Писал прогу для ДОС считать содержимое файла в память не получилось выдает чепуху. Помогите пожалуйста. P.S. Прошу прощения за длинный код...
Вопрос № 53343: добрый день, уважаемые кодеры. задался целью написать простые часы, дабы постигнуть дзен WinAPI. помогите, пожалуйста, найти ошибку в коде (приложение компилируется, но не работает исправно)...

Вопрос № 53.331
Здравствуйте уважаемые эксперты.
На сколько я знаю все процедура находятся в DLLках, мы к проекту подключаем Lib и другие файлы с прототипами. И можем вызвать процедуру из любого языка.
Вопрос: Одна и та же процедура одинокого ли работает по скорости на всех языках, или на ассемблере быстрее?

P.S.
Книга Калашникова(такая синяя) содержит в себе курс по программированию на ассемблере под DOS? Или ещё под Win32 ?
Отправлен: 26.08.2006, 12:18
Вопрос задал: Nick (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Nick!

Скорость зависит от языка написания библиотеки.

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +78313145721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская, 66
WWW: Eugene Ivanov
ICQ: 214889076
----
Ответ отправлен: 26.08.2006, 12:25
Оценка за ответ: 4
Комментарий оценки:
хотелось бы поподробнее

Отвечает: Wild_one
Здравствуйте, Nick!
Когда мы вызываем из исполняемого файла DLL мы просто передаем туда входные параметры, а затем программа "прыгает" внутрь этой библиотеки. Откуда бы мы ее не вызывали будет исполнятся один и тот же код.
Ответ отправил: Wild_one (статус: 3-ий класс)
Ответ отправлен: 26.08.2006, 13:20
Оценка за ответ: 5
Комментарий оценки:
Неплохой ответ


Вопрос № 53.341
Доброго времени суток уважаемые эксперты.
Писал прогу для ДОС считать содержимое файла в память не получилось выдает чепуху.
Помогите пожалуйста.
P.S.
Прошу прощения за длинный код

Приложение:

Отправлен: 26.08.2006, 14:16
Вопрос задал: Nick (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Nick!

pusha не сохраняет сегментные регистры.


---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +78313145721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская, 66
WWW: Eugene Ivanov
ICQ: 214889076
----
Ответ отправлен: 26.08.2006, 14:48


Вопрос № 53.343
добрый день, уважаемые кодеры.

задался целью написать простые часы, дабы постигнуть дзен WinAPI.
помогите, пожалуйста, найти ошибку в коде (приложение компилируется, но не работает исправно)

Приложение:

Отправлен: 26.08.2006, 14:32
Вопрос задал: boot_sector (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Евгений Иванов
Здравствуйте, Boot_sector!

BOOL GetClientRect(

HWND hWnd, // handle of window
LPRECT lpRect // address of structure for client coordinates
);

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +78313145721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская, 66
WWW: Eugene Ivanov
ICQ: 214889076
----
Ответ отправлен: 26.08.2006, 14:43

Отвечает: Xaud
Здравствуйте, Boot_sector!

Ошибка заключается в использовании функции wsprintf(
1й параметр - это адрес РЕЗУЛЬТИРУЮЩЕГО буфера,
2й параметр - это адрес буфера ОБРАЗЦА (как то "This is string %s..."),
3й и проч. - параметры, описанные в образце
).

Надо:

invoke wsprintf,ADDR targetbuf,ADDR time_buf,eax,ebx,edi

где:
tragetbuf DB 9 DUP (0) ;Will be filled as "09:09:09",0
Ответ отправил: Xaud (статус: 1-ый класс)
Ответ отправлен: 27.08.2006, 17:50
Оценка за ответ: 5
Комментарий оценки:
спасибо, исправил этот участок (fasm) на:

"
_time db '%02d:%02d:%02d',0
buff rb 9
db 0

...

invoke wsprintf,buff,_time,eax,ebx,edi"

подскажите, пожалуйста, как заставить часы работать? следует обновлять клиентскую чатсь в оконной процедуре?


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное