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

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


Служба Рассылок Subscribe.Ru

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

Выпуск № 236
от 06.04.2002, 02:05

Администратор: Калашников Олег
Сайт Администратора: Программирование на Ассемблере


Старейшины рассылки
(по состоянию на 06.04.2002, 02:05)

1. Broken Sword - ответов: 424.
2. Painbringer (нечто наподобие домашней страницы) - ответов: 378.
3. Sensey - ответов: 348.
4. Dron (Операционная система с нуля!) - ответов: 310.
5. DiGiT - ответов: 307.


Новости

[05.04] Эксперту Ghost присвоен статус "Продвинутый".
[05.04] Эксперту Beeblebrox присвоен статус "Профессиональный".


 Вопрос № 50

Здравствуйте, уважаемые эксперты !!!
Я один раз уже задавал вопрос...по Делфи, а именно как набрать номер и сделать flash, при помощи модема, но не из стандартного Виндовского окна "Набор номера". В основном все эксперты (кроме Vladimir'a, он прислал другой код, который работает) мне прислали следующий код, см приложение. Но его, я так понял, никто не испытывал и у меня он глючит, попытался исправить, но...безуспешно, помогите... А ошибка происходит в строке,а именно перед nil, (в приложении я её выделил {!!!}), и выводятся следующие сообщения:
--------------------------------------------------------------
[Error] Unit1.pas(58): Types of actual and formal var parameters must be identical
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
--------------------------------------------------------------
Может кто знает, в чём причина ???
E-Mail: artbav@yandex.ru


Приложение:


Отправитель: Артём (artbav@yandex.ru)
Вопрос отправлен: 01.04.2002, 16:18
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает ROM
Доброе время суток, Артём!
Замени тип NumberWritten на Cardinal и все будет работать.


Отправлено: 02.04.2002, 07:34
Отправитель: ROM (регистрация: 31/03/2002, ответов на счету: 2)
ICQ 100276084
Russia, Kirov

_______________

Отвечает Vladimir
Здравствуйте, Артём!
Точно не знаю, надо пробовать, но есть одна мысль.
У Вас NumberWritten:=0, а в Help написано:
If lpOverlapped is NULL, lpNumberOfBytesWritten cannot be NULL.
Попробуйте с этим разобраться.



Отправлено: 02.04.2002, 09:16
Отправитель: Vladimir (регистрация: 28/12/2001, ответов на счету: 44)
Россия, Конаково Тверской обл.

_______________

Отвечает Blackeye
оброе время суток, Артём!
Берете и вместо:
NumberWritten : LongInt;
ставите
NumberWritten : dword;
и усею Работает, я сам проверял!


Отправлено: 03.04.2002, 08:07
Отправитель: Blackeye (регистрация: 15/02/2002, ответов на счету: 71)
URL: http://www.soft4master.h1.ru - Delphi, my programms...
Украина, Запорожье




 Вопрос № 52

Здраствуйте эксперты!!!

1)Это не вопрос, а ответ на вопрос наСИльника №397.

Так вот. Не знаю как в TP, а в Делфи функция тангенса определена так:

//-----------------------------------------------------------------------
function Tan(X: Extended): Extended;
{ Tan := Sin(X) ю Cos(X) }
asm
FLD X
FPTAN
FSTP ST(0) { FPTAN pushes 1.0 after result }
FWAIT
end;
А так она описывается у Карпова "Delphi. Специальный справочник":
Функция возвращает тангенс указанного числа.
Аргументы:
Х - любое действительное число, характеризирующее угол, заданный в радианах.
//--------------------------------------------------------------------------

Градусы -> Радианы

//------------------------------------------------------------------------
function DegToRad(Degrees: Extended): Extended; { Radians := Degrees * PI / 180 }
begin
Result := Degrees * (PI / 180);
end;
//-------------------------------------------------------------------------

Степенная йункция с целой степенью:

//--------------------------------------------------------------------
function IntPower(Base: Extended; Exponent: Integer): Extended;
asm
mov ecx, eax
cdq
fld1 { Result := 1 }
xor eax, edx
sub eax, edx { eax := Abs(Exponent) }
jz @@3
fld Base
jmp @@2
@@1: fmul ST, ST { X := Base * Base }
@@2: shr eax,1
jnc @@1
fmul ST(1),ST { Result := Result * X }
jnz @@1
fstp st { pop X from FPU stack }
cmp ecx, 0
jge @@3
fld1
fdivrp { Result := 1 / Result }
@@3:
fwait
end;
//--------------------------------------------------------------------

Base - основание степенной функции.
Exponent - степень.

Надеюсь тебе это поможет.
Кстати есть в Дельфи отдельный модуль по математике. Math.pas называется. Если нужно - вышлю, только напиши.

2) Это уже чтоб эксперты не обижались ;-))

Такой вот у меня трабл:
в моей проге (Делфи) динамически создаются таблицы базы данных. НО русский шрифт там заменяеться на "#". Это всё дело в языковой таблице раскладки. Функции всякие я искал, но ничего не нашел. Мо кто знает как это сделать??? Буду очень благодарен!!!!

3) Есть у меня винт . Счас поищу где он... А вот нашел(таки нашел :-))). Модель - Western Digital WD93044-A. О как!
Год выпуска - 1990 н.э. (я ж говорил - старенький-старенький):-))) Сайз его - 40мб.
Так вот. Мой великий и могучий БИОС его отлично распознает, но когда я загружаюсь ни Вин, ни NC не может нормально вывести
информацию, вместо названий файлов и папок - крякозябра. А сайз показивает такой, что мне б такого!!! Ж-))))))
А если грузится с него, то естессно не грузится. Чё делать????

PS. что-то вопрос-ответ долговатенький получился. Извините!!! Надо было выговорится :-)))) Буе-Буе!!!!
PSS. Форматировать не предлагать!!!

Gush aka Gush

Отправитель: GUCH (nakr@dotes.west.energy.gov.ua)
Вопрос отправлен: 01.04.2002, 17:48
Подгруппа: Модели, виды и типы компьютеров (hard)

_______________

Отвечает Sensey
Приветствую Вас, GUCH!
Не, форматировать не надо. Это настолько старый винт, что у него автоопределения нету. Попробуй поставить для винта тип 17, или дюбой другой, где сайз равен 40-41 Мб - мне когда-то помогло
Могу предложить вариант 2 - сбросить с балкона 16 этажа - класно полетит! :) И не жалко... Продать его можно разве что за 1.8 $=9 грн=50 руб - я не знаю, какая валюта тебе ближе :)
А как дискету тягать - 40 метров мало...


Отправлено: 01.04.2002, 18:07
Отправитель: Sensey (регистрация: 28/12/2001, ответов на счету: 348)
Тел.: (0572) 41-76-04 д.
Украина, Харьков




 Вопрос № 53

Уважаемые эксперты, у меня такой вопрос: мне нужно в винде резидентом перехватить нажатие клавиши мыши и, если клик произведен по гипертекстовой ссылке, получить адрес этой ссылки. Возможно ли это и, если возможно, подскажите пожалуйста как это сделать? Заранее спасибо.

Отправитель: Klin (infolit@co.ru)
Вопрос отправлен: 01.04.2002, 19:33
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32

_______________

Отвечает Mr. BuS
Доброе время суток, Klin!
Перехватывать сообщения для окон (в том числе щелчки мыши) можно с помощью SetWindowsHookEx и UnhookWindowsHook. Другой вариант - использовать DirectInput (это такая компонента DirectX). А вот определить, куда был произведен щелчок, придется самому.


Отправлено: 02.04.2002, 15:07
Отправитель: Mr. BuS (регистрация: 19/03/2002, ответов на счету: 22)
Syros
РФ, Татарстан, Казань

_______________

Отвечает masquer
Добрый день, Klin!
Используй хуки. SetWindowHookEx поставь ловить сообщения мышки. Определяй в каком окне было сообщение, обрабатывай текст в контроле.

ЗЫ. Вообще такой вопрос уже был. Чувствую, надо написать такую программу и продавать :)


Отправлено: 03.04.2002, 14:43
Отправитель: masquer (регистрация: 16/01/2002, ответов на счету: 81)
Украина, Николаев




 Вопрос № 437

Здравствуйте, братья-эксперты!

Вот такой вопрос... Не сочтите за бред, но все же...
Почему конкретно Win NT не любит DOS-приложения? Мне тут пытались втереть, что, дескать,
она эмулирует процессор и выполняет каждую команду сама... Вроде, как, виртуально и этим
достигается хваленая надежность - мол сама перепроверяет несколько раз допустимость команды
и не дает выполнить "недопустимую операцию"... Я этому что-то не верю, но втирали мне это
с бо-ольшим убеждением... Проясните ситуацию, кто знает...

Отправитель: Эксперт baldr (baldr@pisem.net)
Вопрос отправлен: 26.03.2002, 22:49
Подгруппа: Оптимизация программ

_______________

Отвечает Пуля
Добрый день, baldr!
"Эмулирует процессор и вополняет каждую команду сама" - Интересно, кто вам ТАКОЕ сказал. Винда не может эмулировать все команды процессора. А ежели втирают - рекомендую в следующий раз спросить с умным видом "ЧТО, ВСЕ 7!". Насчет того - почему не любит тут, по-моему, только один вариант :
1. DOS хотят истребить, гады.
У Б$лли и К это называется "полный переход на 32-битные приложения".

P.S.
Windows Must Die

P.S.S.
А насчет "недопустимой операции" - Это для винды она смертельная а в нормальном досе может и работать...


Отправлено: 27.03.2002, 08:31
Отправитель: Пуля (регистрация: 25/03/2002, ответов на счету: 13)
URL: http:\\www.1c.ru - Windows Must Die
Россия, Омск

_______________

Отвечает Painbringer
Здравствуйте, baldr!
тебя же не удивляет что linux не очень любит досовы и мастдаевы приложения. так вот, нтя и мастдай это РАЗНЫЕ хотя и похожия ОПЕРАЦИОННЫЕ СИСТЕМЫ.


Отправлено: 28.03.2002, 01:01
Отправитель: Painbringer (регистрация: 28/12/2001, ответов на счету: 378)
URL: http://limanski.narod.ru - нечто наподобие домашней страницы
ICQ 146861957
Россия, Дзержинск, Нижегородская обл.

_______________

Отвечает Топор
Здравия, baldr!

Насколько я знаю, в отличие от Win95/98 NT создаёт для DOSовых приложений отдельные 16-битные сегменты и никуда их оттуда просто не пускает - ни в порты, ни в память за пределы сегмента.


Отправлено: 29.03.2002, 01:20
Отправитель: Топор (регистрация: 15/03/2002, ответов на счету: 55)
Радио "Эхо Москвы в Самаре"
Адрес: 443011, Самара, ул. Советской Армии, 217
Тел.: (8462)160302, 162918
URL: http://listen.to/btemple - Хорошая Русская Металлическая команда
Россия, Самара

_______________

Отвечает masquer
Приветствую Вас, baldr!
Что значит - не любит дос приложения? Просто некоторые дос приложения просят прядой доступ к оборудованию а НТ этого не даст. Многие дос игрушки из-за звука не хотят работать :-(.
Насчет эмуляции виндой каждой команды, гы-гы, это интересно, хотя бред полный, это ж на каком процессоре нужно будет в тетрис играть :). Надежность достигается тем что в НТ каждый процесс, будь-то 32-бит или 16-бит изолирован друг от друга (имеет собственное адресное пространство) и имеет доступ только к, фактически, только к копии системных файлов. Более подробно можно у Рихтера прочитать об этом.


Отправлено: 29.03.2002, 16:26
Отправитель: masquer (регистрация: 16/01/2002, ответов на счету: 81)
Украина, Николаев




 Вопрос № 446

Здравствуйте, Уважаемые эксперты!
Я уже задавал этот вопрос пару дней назад, о том, что при запуске проги на вижуал студио 6 у меня тут же закрывается окно.
Так вот я даже установил сервис пак 5 для вижуал студио, но увы! Та же история - окно тут же закрывается! Смотрел по Ф10 (в дебагере), рассчёты, значения всё правильно, как положено, на местах и сумма верна, но окно тут же закрывается!!! Помогите пожайлуста!!! Я уже себе всю голову сломал, всё перепробовал, но окно, мать его закрывается!!! Умоляю помогите!!! Да и в примере программы значок перед "d" стоит, просто при заполнении формы мне почему-то не разрешается его печатать! Так что с орфографией в коде проги всё верно на все 100!!!

Приложение:


Отправитель: Simon
Вопрос отправлен: 27.03.2002, 15:25
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32

_______________

Отвечает chert
Добрый день, Simon!
Попробуй так добавить библиотеку iostream.h и просто добавь в конце проги оператор getch(); и всё будет здорово.....

Для пущёго понта можешь добавить:
printf("press any key to continue...\n");



Приложение:


Отправлено: 27.03.2002, 16:59
Отправитель: chert (регистрация: 16/03/2002, ответов на счету: 6)
Russia, Dolgopa

_______________

Отвечает baldr
Добрый день, Simon!

Программа написана правильно, но все консольные приложения винды имеют такой недостаток: при
завершении они сразу же закрывают свое окно... Выход такой: запустите свою программу из
предварительно запущенного окна DOS... Или из любого DOS-файл-менеджера: Dos Navigator, CN,
или виндового FAR'а... Больше способов нет... Хотя, стоп... Поставьте паузу перед завершением
или getch()...


Отправлено: 27.03.2002, 23:27
Отправитель: baldr (регистрация: 28/12/2001, ответов на счету: 136)
URL: http://www.dospage.far.ru - Сайт об ОС DOS. Всем, кто любит эту ОС!
Россия, г. Семенов, Нижегородская обл.

_______________

Отвечает Blackeye
Доброе время суток, Simon!
Попробуй в конце программы scanf вызвать, и окно будет на экране до первого нажатия Enter. В общем как 10h функция 16h прерывания.


Отправлено: 28.03.2002, 00:34
Отправитель: Blackeye (регистрация: 15/02/2002, ответов на счету: 71)
URL: http://www.soft4master.h1.ru - Delphi, my programms...
Украина, Запорожье

_______________

Отвечает DiGiT
Здравствуйте, Simon!
Код правильный , сяковский. Если хочешь чтоб не закрывалось, поставь в конце например getchar();
Если и после этого окно закроется,то выкинь этот визуал студио(такое дерьмо,ты посмотри на размер файла)


Отправлено: 28.03.2002, 04:46
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 307)
ICQ:133534725
Russia(),Student

_______________

Отвечает vitya
Здравствуйте, Simon!

Все дело в том, что ты запускаешь через дебуг, потому у тебя и вылетает. Если ты запустишь программу через ctrl+f5 у тебя ничего не закроется. Но это не решение проблемы. Лучше сделай следующим образом (см приложение) и все будет работать.


Приложение:


Отправлено: 28.03.2002, 16:08
Отправитель: vitya (регистрация: 03/01/2002, ответов на счету: 62)
HPLA
103935193
Armenia, Yerevan




 Вопрос № 447

С интела книги в Россию доставляют бандеролью. Причем хотят за эти килограммы не много-ни мало около 1000р за 1 кг. Не многовато-ли?
Отправитель: Эксперт Cardinal
Вопрос отправлен: 27.03.2002, 15:32
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS

_______________

Отвечает VD
Здравствуйте, Cardinal!
Возможно по тому что на томожне сидят недолекие зопухи, которые тебя считают тебя буржуем...
Но в теории туда входит стоимость
перевозки
томожни (кудаже без нее)
хранения
доставик
срочности
и т.д. и т.п.

там тоже люди работают, и они тоже есть хотят :)

так что если ты заказал 1 книгу, то думаю тебе ее стоимость реблей в 250 обойдеться, если это не библия и не война и мир :)


Отправлено: 27.03.2002, 16:09
Отправитель: VD (регистрация: 28/12/2001, ответов на счету: 74)
URL: www.chat.ru/~vdragon_pas/index.htm - Программирование графики на Пакаль со вставками на

_______________

Отвечает Broken Sword
Доброе время суток, Cardinal!
Многовато. Но это не они хотят, а почта ваша. Это их проблемы. Интел им выписывает чек (я нашел в своей "бандероли") на 3 бакса и все, почтальон ОБЯЗАН по закону принести ее прямо мне в квартиру (ему УЖЕ заплатили). А наши и тут нашлись конечно... Это гон. Если подать в суд на почтовое отделение :) то они еще тебе заплатят. Так что все проверено: я за свои 8.55 LBS еще раз повторяю, ни копейки не заплатил (не могли же у меня на почте так лохануться!!!)!!!!!

Так что НИ В КОЕМ СЛУЧАЕ НИ ЗА ЧТО НЕ ПЛАТИТЕ НЕ КОПЕЙКИ!!! А почте - пригрозить статьей, они сразу зассут и вернут книги...


Отправлено: 27.03.2002, 16:19
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 424)
ICQ#64476575
Украина, Одесса

_______________

Отвечает Demoon
Приветствую Вас, Cardinal!
Почта требует много за перевозку.


Отправлено: 28.03.2002, 07:35
Отправитель: Demoon (регистрация: 25/03/2002, ответов на счету: 8)
Сам Себе Хозяин
Россия, Рыбинск




 Вопрос № 471

Здравствуйте!!!
У меня вопрос по Делфи, но может быть нужны будут вставки и на Асме, не знаю, поэтому и обращаюсь.
Ни в одной "звонилке" я не видел команды "flash" т.е. временный сброс, так вот
я и хотел узнать, каким образом это можно осуществить при помощи Делфи. Да и вообще подскажите пожалуйста, как из Делфи можно заставить модем набирать номер телефона
не прибегая к помощи стандартного Windows окна "Установка связи".
Команда FLASH, мне очень нужна, помогите...
Благодарю за ответ.
E-Mail: artbav@yandex.ru

Отправитель: Артём (artbav@yandex.ru)
Вопрос отправлен: 28.03.2002, 18:02
Подгруппа: Пользовательская работа с Windows

_______________

Отвечает наСИльник
Приветствую Вас, Артём!
Вот как в Делфи номер набрать


Приложение:


Отправлено: 31.03.2002, 10:52
Отправитель: наСИльник (регистрация: 27/02/2002, ответов на счету: 65)
ICQ#114552395
Russia, Orsk




 Вопрос № 7

Здравствуйте!
У меня вопрос к спецам по железу(по возможности буду краток :) ):
Имеется винт - Fujitsu MPG3102AT(10Gb)/IDE(гарантии нема)
Материнка - Gigabyte BX2000/440BX, BIOS - AWARD 4.51v
Механических повреждений не было и нет, сам диск крутится, а позиционер не слышно вообще.
Симптомы: диск вообще не определяется БИОСом ни на одном компе!!!
При включении компа, во время детектирования винта загорается индикатор чтения/записи на передней панели системного блока, и так горит от 2-х до 5 минут(когда как), при этом винт естественно не определяется. Примерно за неделю до этого при установке Win98SE комп ругался -"Невозможно произвести запись на С устройство", при этом долго горел индикатор чтения/записи(как-будто пытался что-то прочитать),бэды проверял - все Ок! Через несколько дней при установке все той же Win98 комп конкретно повис, и при следующей загрузке сказал, что нет винта. Проблема решилась перепрошивкой БИОСа. Затем поставил Никсу(FreeBSD), выключил комп, на следующий день даже загрузиться не удалось - винт как ветром сдуло! и больше он не появлялся. С перемычками колдовал - безрезультатно!
На сайте производителя нашел прогу низкоуровневого формата и прогу обновления Флешки, дык они тоже не видят хард :(.
Выходит: либо служебная инфа на поверхности диска, либо контроллер(а что в нем может быть - не знаю, может Флешка, может на аппаратном уровне что-то накрылось?).
Вопрос: можно ли починить хард, и что мне с ним вообще делать?
З.Ы. 1. есть такой же винт Fujitsu MPG3204AT(20Gb)/IDE, так вот, можно ли его контроллер поставить на мой диск(для проверки), и какие могут быть последствия?
2. может кто-нить знает что за вирусяга такая Win.exe, т.е. что он делает?
С уважением...

Отправитель: Arthur
Вопрос отправлен: 29.03.2002, 16:19
Подгруппа: Модели, виды и типы компьютеров (hard)

_______________

Отвечает Cardinal
Приветствую Вас, Arthur!
Банально, но тем не менее. Подобное происходит при неправильном подключении винта. Ты запросто мог не так воткнуть шлейф в драйв (это возможно, проверял на своем 10Gb fuji), при этом так-же горит лампа r/w.
Контроллер может быть таким и по номерам и по многим другим параметрам, но нет никакой гарантии, что он будет работать так-же хорошо, как и родной.
Проверь шлейф и IDE-контроллер. Может пресловутые контакты гуляют?


Отправлено: 29.03.2002, 19:54
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 72)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону

_______________

Отвечает VicSimon
Приветствую Вас, Arthur!
Очень похоже на то, что сдох контроллер винта... :(

1. Можно попробовать переставить "электронную начинку" с другого диска, но обязательно ТОЙ ЖЕ модели!
2. Не знаю. ;)


Отправлено: 01.04.2002, 05:56
Отправитель: VicSimon (регистрация: 25/01/2002, ответов на счету: 47)
Россия, Красноярск




 Вопрос № 8

Эксперты! Программирование на Асме под Win32, по большому счету, есть последовательность вызовов функций API. Так зачем писать под Win32 на Ассемблере, если на C все гораздо короче и проще (не на VC++, а на чистом C)?


Отправитель: Александр
Вопрос отправлен: 29.03.2002, 21:08
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32

_______________

Отвечает Топор
Доброе время суток, Александр!

А ты возьми да напиши на Си пустышку, которая ничего не делает, скомпиляй её и глянь, сколько она весит. И ужаснись...


Отправлено: 30.03.2002, 08:09
Отправитель: Топор (регистрация: 15/03/2002, ответов на счету: 55)
Радио "Эхо Москвы в Самаре"
Адрес: 443011, Самара, ул. Советской Армии, 217
Тел.: (8462)160302, 162918
URL: http://listen.to/btemple - Хорошая Русская Металлическая команда
Россия, Самара

_______________

Отвечает masquer
Добрый день, Александр!
А почему не на делфи и иже с ними? Там все еще проще. Это хороший вопрос для тех кто пофлеймить хочет.
А вообще мне, например, нравится то, что я сам решаю как мне лучше сделать в данном конкретном случае. Естественно, это подразумевает полное понимание процесса, но оно того стоит. Некоторые стандартные функции в той же библиотеке CRT сейчас просто морально устарели. Я имею ввиду то, что они не понимают особенности современных процессоров, тот же MMX, SIMD, 3DNow! и т.д. Так почему я должен ждать, когда дядя Билли или кто-то еще выпустит то что мне надо?

Надеюсь это ответ?


Отправлено: 30.03.2002, 10:22
Отправитель: masquer (регистрация: 16/01/2002, ответов на счету: 81)
Украина, Николаев

_______________

Отвечает Blackeye
Добрый день, Александр!
Я могу только высказать свою точку зрения на данный вопрос. Конечно легче делать все на C или VC++, и мне кажеться что так и надо делать. Ведь если смотреть по размеру то MASM 32 ассемблер не далеко уходит. Я простые проги делал и потом сжимал их, так они у меня по 8 Кб были, почти тоже что и на асме, только делать их легше. А вообще мне кажеться что это просто, какое моральное удовлетворение, когда пишешь под Win32, да еще и на ассемблере. Но лично мне кажеться что в этом особого смысла нет. Вот когда под ДОС работаешь и там на асме пишеь так это совсем другое дело. Там и размер и код очень важен и даже скоротсь ведь если пишешь в ДОСе то тачка не такая уж и навороченная. Так что я с вами оболютно согласен.


Отправлено: 30.03.2002, 13:49
Отправитель: Blackeye (регистрация: 15/02/2002, ответов на счету: 71)
URL: http://www.soft4master.h1.ru - Delphi, my programms...
Украина, Запорожье

_______________

Отвечает mr.hedgehog
Добрый день, Александр!

незнание материала и неполноценные сведения о программировании в среде windows и порождают подобные вопросы.
варианты:
if winapi: откомпилируйте программу на ассемблере и C.
берём логический калькулятор, сравниваем размеры получаемых файлов.
if system programming: а теперь попробуем написать драйвер на C. особенно поражает "удобство" использования регистров и т.п.

"и вообще!": высокоуровневая оптимизация программ возможна только с помощью ассембера.

resume: высокая скорость работы программ и их небольшой размер есть результат основного достоинства Ассемблера - работа напрямую с ресурсами машины.


Отправлено: 31.03.2002, 04:52
Отправитель: mr.hedgehog (регистрация: 05/02/2002, ответов на счету: 31)
Russia, Saint-Petersburg

_______________

Отвечает Beeblebrox
Здравствуйте, Александр!
Вот из-за таких, как Вы, Александр, несознательных личностей, Виндовс занимает полгектара, а не 1 мегабайт, как мог бы занимать, будь он полностью написан на асме. :)) И работало бы все в 20-50 раз быстрее.


Отправлено: 01.04.2002, 10:01
Отправитель: Beeblebrox (регистрация: 13/03/2002, ответов на счету: 50)
URL: http://beeblbrx.narod.ru - Beeblebrox / TMA HomePage
ICQ #75393045
Ukraine, Kharkov

_______________

Отвечает Dron
Приветствую Вас, Александр!

Короче получается на ассемблере всегда и везде... :) (в смысле файлы)
И еще все зависит от того, что делает твоя программа...
далеко не все программы только и делают что вызывают API... многие помимо того еще и работают сами по себе...
типа архивирование/разархивирование, mpeg всякий... распознавание всякое... и быстрее чем на ассемблере это не получится... C++ далеко не быстр... и громоздк... то что на нем удобнее - это да...


Отправлено: 01.04.2002, 11:05
Отправитель: Dron (регистрация: 28/12/2001, ответов на счету: 310)
Информзащита
Адрес: Москва
URL: http://asmdev.narod.ru/asmos.html - Операционная система с нуля!
2144510
Россия, Москва




Форма отправки сообщения
(действительна до момента выхода следующего выпуска рассылки)

Заполните приведенную ниже форму для того, чтобы отправить вопрос. Дополнительную информации по пользованию формой для подписчиков и экспертов можно получить, нажав на знак вопроса в соответствующем разделе, при этом информация будет отображена в отдельном окне.

В почтовых программах форма не работает!!! Открывайте рассылку в браузере Internet Explorer, где и набирайте Ваш вопрос.



 Персональные данные
Ваше имя:
Пароль (экспертам):
E-mail (подписчикам):
Опубликовать мой e-mail в рассылке


 Текст сообщения

Текст вопроса:

Приложение (если необходимо: программа, выдержка из закона и т.п.):



 Выбор подгруппы

Отправить всем экспертам выбранной подгруппы


SpyLOG be number one SUPERTOP

© 2000 - 2002 Россия, Москва. Авторское право: Калашников О. А.


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

В избранное