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

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


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

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

Выпуск № 297
от 22.06.2002, 07:40

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


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

Топор
Статус: Опытный
Общий рейтинг: 124.09
URL: Хорошая Русская Металлическая команда
Телефон: (8462)160302, 162918
[Подробней >>]
Portnov
Статус: Доверительный
Общий рейтинг: 159.67
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 145.82
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 133.87
[Подробней >>]
AnSim
Статус: Доверительный
Общий рейтинг: 113.48
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 159.15
[Подробней >>]
 
Beeblebrox
Статус: Опытный
Общий рейтинг: 125.73
URL: Beeblebrox / TMA HomePage
[Подробней >>]
Guess Who
Статус: Доверительный
Общий рейтинг: 104.66
[Подробней >>]
LAO
Статус: Опытный
Общий рейтинг: 116.12
[Подробней >>]
 
vitya
Статус: Опытный
Общий рейтинг: 117.11
[Подробней >>]
kostik
Статус: Профессиональный
Общий рейтинг: 117.47
URL: Все о программистах и для программистов
Телефон: (4212)393-276
[Подробней >>]
Gibbel
Статус: Опытный
Общий рейтинг: 110.26
URL: Страничка обо мне и моих друзьях
[Подробней >>]
 
DrGenius
Статус: Начальный
Общий рейтинг: 107.27
[Подробней >>]
Zloy
Статус: Доверительный
Общий рейтинг: 105.56
[Подробней >>]
kvINT
Статус: Доверительный
Общий рейтинг: 115.01
[Подробней >>]
 
Blackeye
Статус: Профессиональный
Общий рейтинг: 119.42
URL: Delphi, my programms...
[Подробней >>]
Shal
Статус: Доверительный
Общий рейтинг: 105.49
[Подробней >>]


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

Вопрос № 463. Здравствуйте, уважаемые эксперты! Я понемногу занимаюсь продвижением вглубь изучения ассемблера, пиш... (ответов: 2)
Вопрос № 464. Не вопрос, а ответ на вопрос №419, скорее всего имеет место неисправность кэша CD-ROM... (ответов: 1)
Вопрос № 465. Здраствуйте многоуважаемые эксперты!!! Вопрос: Можно ли под Дос послать TCP пакет в сеть(в инет) как... (ответов: 3)
Вопрос № 466. Здравствуйте эксперты! У меня к вам два вопроса. 1) законна ли такая операция: .model tiny … push cs... (ответов: 6)
Вопрос № 467. Ув Эксперты! Как можно записать и прочитать инфу в/из реестра ? Заранее благодарен... (ответов: 6)
Вопрос № 469. Эксперты, помогите разобраться.. Этот кусок кода что делает ? Почему выводит в правом верхнем углу с... (ответов: 7)
Вопрос № 470. Здраствуйте уважаемые эксперты. Подскажите пожалуйста как написать программу перевода шестнадцеричн... (ответов: 6)
Вопрос № 471. Здравствуйте эксперты! Я конечно понимаю, что я тупой страшно, но перестаньте писать мне "иди н... (ответов: 6)
Вопрос № 472. Уважаемые эксперты! Уже несколько месяцев получаю рассылку. Спасибо организатору Олегу Калашникову, ... (ответов: 1)

Вопросов: 9, ответов: 38


 Вопрос № 463

Здравствуйте, уважаемые эксперты!
Я понемногу занимаюсь продвижением вглубь изучения ассемблера, пишу небольшие программки для практики и усвоения пройденного материала. У меня на данном этапе изучения возникла необходимость создания в программе массива чисел с динамически изменяемой размерностью, которую можно было бы изменить в ходе работы программы вводом чисел с клавиатуры. По книгам я пока до этого не дошел, а очень хочется, чтобы побыстрее заработало! Если не сложно, подскажите, каким образом можно решить эту проблему или направьте на какой-то конкретный раздел соответствующей литературы.
Заранее всем спасибо!



Вопрос отправлен: 17.06.2002, 08:15
Отправитель: Ярослав

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

Отвечает Топор

Здравствуйте, Ярослав!
Подсказываю - делай связанный список, т. е. в каждом элементе массива, кроме собственно его значения, должен быть адрес следующего элемента. При создании нового элемента его адрес надо будет записать в предыдущий. Всё это дело, конечно, разбухает в памяти, зато с размерностью массива проблемы пропадают.
Удачи!


Ответ отправлен: 17.06.2002, 17:08
Отправитель: Топор


Отвечает Portnov

Доброе время суток, Ярослав!
Размерностью.... Это в смысле размером? А то я как математик больше привык называть размерностью количество измерений. Здесь, по-моему, проще всего будет завести спец. переменную, в к-рой будет кол-во элементов в массиве. Ну и соответственно изменять ее вовремя. У процессора есть специальные режимы адресации для работы с массивами. В самом широком режиме это может выглядеть например так:
mov [ebx*4+eax],dx.
Так что нужно хорошенько разобраться со всякой там расширенной адресацией. Она позволяет обратиться к элементу массива по его номеру и адресу начала массива.
Здесь весь контроль за размерами массива на вашей совести. Так что если хотите например обратиться к элементу массива, сначала надо будет проверить, а есть ли вообще в массиве элемент с таким номером (сравнить номер с кол-вом элементов).
С уважением, Portnov.

Ответ отправлен: 17.06.2002, 13:35
Отправитель: Portnov


 Вопрос № 464

Не вопрос, а ответ на вопрос №419, скорее всего имеет место неисправность кэша CD-ROM



Вопрос отправлен: 17.06.2002, 13:00
Отправитель: Константин

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

Отвечает Sensey

Здравствуйте, Константин!
Я первый отвечу :)
Отправляю...


Ответ отправлен: 17.06.2002, 13:22
Отправитель: Sensey


 Вопрос № 465

Здраствуйте многоуважаемые эксперты!!!
Вопрос: Можно ли под Дос послать TCP пакет в сеть(в инет) какой нибудь функцией, я слышал для NetWare есть. И как это сделать.
Заранее благодарен!



Вопрос отправлен: 17.06.2002, 17:12
Отправитель: Antuan Undegro

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

Отвечает Ayl

Доброе время суток, Antuan Undegro!
Специальной функции DOS для этого нет. Но есть драйвер TCP/IP, который выполняет эти действия. Вот с его помощью можно отсылать пакеты.

Ответ отправлен: 17.06.2002, 17:34
Отправитель: Ayl


Отвечает AnSim

Добрый день, Antuan Undegro!
Должна быть библиотека специальная...ищи

Ответ отправлен: 18.06.2002, 10:32
Отправитель: AnSim


Отвечает masquer

Здравствуйте, Antuan Undegro!
Это только драйвером можно реализовать

Ответ отправлен: 17.06.2002, 21:02
Отправитель: masquer


 Вопрос № 466

Здравствуйте эксперты!
У меня к вам два вопроса.
1) законна ли такая операция:
.model tiny

push cs
pop ax
add ax, 2000h
push ax
pop ds

т.е. используя модель памяти tiny в которой можно использовать только один сегмент!
2) как нарисовать квадрат:), т.е. есть алгоритм прямой Брезенхема (или Брезенгема…, а не все ли равно:) ) и уже согласно этому алгоритму (с модификациями) рисовать квадрат. То есть нужно нарисовать квадрат да так, чтобы было очень быстро и оптимально!!! Если для этого нужно применить другой подход то ясненько…. .
P.S. Удачи…!




Вопрос отправлен: 17.06.2002, 17:39
Отправитель: kuper

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

Отвечает Ayl

Добрый день, kuper!
1. Да, законна. Причем независимо от модели. То, что модели tiny, small и medium (кажется, а может быть compact) используют один сегмент данных (а в tiny вообще один сегмент для программы) не накладывает ограничений на значения сегментных регистров. В своих программах ты можешь без проблем адресовать всю память в пределах 1Мб.
2. Ну, для рисования квадрата (а также любого прямоугольника) использовать Брезенхема неоптимально (надеюсь, квадрат имеет стороны, параллельные координатным осям?). Строить их быстрее всего с помощью набора горизонтальных линий (сплошной квадрат) либо с помощью 2-х горизонтальных и 2-х вертикальных линий (контур квадрата).
Построение горизонтальной линии самое быстрое и простое - требуется вычислить адрес самой левой точки линии и ее длину, а потом заполнить видеопамять, начиная с вычисленного адреса, с автоинкрементированием кодом цвета линии соответствующим длине линии количеством.
Вертикальная линия также строится быстро и просто. Определяется размер линии, адрес верхней точки и далее в цикле устанавливается точка по вычисленному адресу и адрес изменяется так, чтобы указывать на следующую линию.

Ответ отправлен: 18.06.2002, 11:13
Отправитель: Ayl


Отвечает Beeblebrox

Здравствуйте, kuper!
Модель Tiny означает вовсе не это! Всего-то навсего _при старте_ com файла cs=ds=es=ss. Кроме того (и это выгодно отличает com от exe) com файлу отводится _вся_ доступная память из первых 640К, и указанная тобой процедура настройки сегментов вполне законна и используется направо и налево.
По поводу квадрата - из твоей формулировки не ясно, что имеется в виду:
- залитый квадрат или незалитый
- стороны его параллельны x и y или наклонены
- большой он или маленький
- что за видеорежим
- какой язык программирования
- что такое "быстро и оптимально"
Если нужен самый быстрый в мире способ, то это - прекомпилированный спрайт, то есть длииииииинная последовательность команд вида:
mov [di+2345h],al
mov [di+2378h],al
;...............

Ответ отправлен: 17.06.2002, 18:39
Отправитель: Beeblebrox


Отвечает Portnov

Здравствуйте, kuper!
1) Похоже, возникла путаница с терминологией. Сразу скажу: операция законная. Путаница вот в чем: что вы понимаете под словами "использовать сегмент"? Тот, кто сказал вам, что в модели Tiny нельзя использовать более одного сегмента, имел ввиду, что нельзя на стадии ассемблирования/линковки определять содержимое более чем одного сегмента. В переводе на русский, в модели Tiny нельзя писать
code segment
...
code ends
data segment
...
data ends
и тому подобные вещи. А обращаться к другим сегментам можно сколько влезет, например, у меня такая потребность постоянно возникает при программировании вывода на экран прямой записью в видеопамять. Я в таких случаях спокойно пишу:
mov ax,0b000h
mov es,ax
xor di,di
...
mov al,'U'
stosb
или что-нибудь в том же духе, и никто не жалуется (в смысле ассемблер/линкер). И работает.
2) Если квадрат нужен не закрашенный, то просто алгоритм Брезенхама для прямой четыре раза, с соотв. входными параметрами. А если закрашенный, то не думаю, что Брезенхам вам поможет.
С уважением, Portnov.

Ответ отправлен: 17.06.2002, 18:56
Отправитель: Portnov


Отвечает Топор

Здравствуйте, kuper!
При компиляции в COM может выдать ошибку, но с моделью tiny можно компилять и в EXE, тогда проблем вроде не должно быть.


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


Отвечает Guess Who

Добрый день, kuper!
Я всегда считал, что в модели TINY, код, данные и стек размещаются в одном сегменте, но никогда и нигде не слышал о том, что можно использовать только один сегмент. Мой вывод: то что вы написали вполне допустимо, при условии если вы не используете сегмент, который уже использует другая программа.
PS: Все IMHO.


Ответ отправлен: 17.06.2002, 20:11
Отправитель: Guess Who


Отвечает LAO

Доброе время суток, kuper!
По первому вопросу. Для модели tiny "pop ds" и "pop cs" идентичны, так как ds и cs расположенны в одном и том же адрессном пространстве (посмотри для примера в любом отладчике - там все прозрачно)

Ответ отправлен: 17.06.2002, 20:54
Отправитель: LAO


 Вопрос № 467

Ув Эксперты!
Как можно записать и прочитать инфу в/из реестра ?
Заранее благодарен



Вопрос отправлен: 17.06.2002, 17:48
Отправитель: Дима (ldu@ua.fm)

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

Отвечает vitya

Добрый день, Дима!
Очень просто используя функции
RegOpenKeyEx, RegEnumKeyEx, RegQueryValueEx, RegCloseKey,
RegEnumValue, RegDeleteKey, RegCreateKeyEx, RegSetValueEx
и еще много других.

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


Отвечает kostik

Приветствую Вас, Дима!
Используйте WinAPI - для работы с реестром их очень много. Ихназвания начинаются с Reg.


Ответ отправлен: 21.06.2002, 13:08
Отправитель: kostik


Отвечает Gibbel

Здравствуйте, Дима!
С такими вопросами иди на http://msdn.microsoft.com/library/default.asp

Ответ отправлен: 20.06.2002, 10:19
Отправитель: Gibbel


Отвечает DrGenius

Приветствую Вас, Дима!
Для этого существуют API-функции RegCreateKeyEx, RegSetValueEx, RegQueryValueEx, и др...,описание смотри в справочнике, хотя если надо могу выслать на мыло, пиши drgenius@nm.ru
BivaY!

Ответ отправлен: 18.06.2002, 18:22
Отправитель: DrGenius


Отвечает Portnov

Добрый день, Дима!
В Win32 API для этого есть ф-ции RegOpenKey(), RegOpenKeyEx(), RegCreateKey()/RegCreateKeyEx(),RegCloseKey(), RegSetValue(),и т.п., долго перечислять, все с префиксом Reg. За описаниями параметров - отсылаю к справочникам. Только надо учесть, что должен быть соблюден определенный этикет - сначала ключ открыть, потом читать/писать в/из него, потом закрыть за собой, а то могут получиться неприятности. Ну и еще некоторые тонкости могут встретиться, они в любом справочнике описаны, напр. Win32.hlp.
С уважением, Portnov.

Ответ отправлен: 17.06.2002, 18:56
Отправитель: Portnov


Отвечает masquer

Здравствуйте, Дима!
Используй функции АПИ
RegCreateKey, RegOpenKey, RegQueryValueEx, RegSetValueEx, RegCloseKey, RegDeleteKey.
Справку как обычно - в МСДН

Ответ отправлен: 17.06.2002, 21:02
Отправитель: masquer


 Вопрос № 469

Эксперты, помогите разобраться..
Этот кусок кода что делает ? Почему выводит в правом верхнем углу символ "+" синим цветом на сером фоне ?
Как тут цвет изменить, по какому принципу это делать ?


Приложение:


Вопрос отправлен: 17.06.2002, 21:33
Отправитель: Markin

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

Отвечает Portnov

Здравствуйте, Markin!
Вообще-то это расслыка про ассемблер...
Насколько я понимаю, MK_FP - это какое-то обращение к памяти по сементу и смещению. Тогда s[] становится массивом, расположенным в видеопамяти текстового режима, а второе присваивание пишет в видеопамять как в массив. Чтобы изменить цвета, нужно по-другому определить константу att.
С уважением, Portnov.

Ответ отправлен: 18.06.2002, 11:38
Отправитель: Portnov


Отвечает vitya

Приветствую Вас, Markin!

Выводит не + а *, а для того чтобы поменять цвет фона и буквы поменяй значение 0x7500 На например 0x7Е00, да кстати нижний байт не меняй, а то звездочка превратится во что-нибудь иное.

Ответ отправлен: 18.06.2002, 10:29
Отправитель: vitya


Отвечает Zloy

Доброе время суток, Markin!
Это вообщем-то в рассылку по С надо было писать...
Ну да ладно всё это прямое отображение в видеобуфер. А цвет - это att. Разрешение экрана в тексте 80х25, т.е. верхний правый угол имеет координаты 79х0. Вот дальше, что с этим делать думай сам :)


Ответ отправлен: 19.06.2002, 16:26
Отправитель: Zloy


Отвечает AnSim

Приветствую Вас, Markin!
Код не разбирал, но предполагаю, что из двух один байт отвечает за цвет текста а второй за цвет фона

Ответ отправлен: 18.06.2002, 10:38
Отправитель: AnSim


Отвечает Топор

Приветствую Вас, Markin!
А причём здесь Ассемблер?


Ответ отправлен: 17.06.2002, 23:42
Отправитель: Топор


Отвечает Ayl

Добрый день, Markin!
А при чем здесь ассеиблер? Это же чистый Си! Ну да ладно.
В общем, этот кусок кода делает именно то, что ты и написал - выводит в правом верхнем углу символ "+" синим цветом на сером фоне. :-)
А вот почему. Ну смотри. ptr видимо описан как указатель на слово (unsigned int). s описано как массив из 80 элементов типа ptr. Соответственно, после первой команды (
s[0] = (ptr) MK_FP(0xB800,0);) s [0] предствляет собой указатель на верхную строку экрана. s [0] [79] - 80-й элемент этой строки, т.е. самый последний символ.
В текстовой режиме каждое знакоместо описывается 2-мя байтами: по четному адресу записывается сам символ, а по нечетному - атрибут, указывающий цвета текста и фона для этого символа. Аттрибут определяется следующим образом:
bffficcc,
где b - бит, отвечающий за мерцание символа или на вывод фона с повышенной яркостью в зависимости от установки соответствующего значения в адаптере;
fff - три бита, отвечающие за цвет фона;
i - бит, отвечающий за вывод символа с повышенной яркостью;
ccc - три бита, отвечающие за цвет символа.
Цвета описываются следующим образом:
bin dec/hex цвет яркий цвет
000 0 черный темно-серый
001 1 синий светло-синий
010 2 зеленый светло-зеленый (салатный)
011 3 циан малиновый (вроде)
100 4 красный светло-красный
101 5 магента ? (не помню)
110 6 коричневый желтый
111 7 серый белый
Соответственно, так как константа att определена как 0x7500, а в ней за цвета отвечает старший байт (0x75), то и получаем, что символ будет отображаться на сером фоне, немерцающим (старший полубайт = 7) цветом магента пониженной яркости (похож на синий). Для изменения цветов надо изменить константу в описании att. Например:
#define att 0x1f00 - белый символ на синем фоне


Ответ отправлен: 18.06.2002, 12:07
Отправитель: Ayl


Отвечает LAO

Добрый день, Markin!
Это вывод символа напрямую в видеопамять (адрес - 0xb8000000).
typedef... определяет один символ в видеопамяти (старший байт - атрибут(цвета), младший - сам символ)
Через s[] видеопамять задается как массив из элементов типа ptr, определенного через typedef...
s[0][79] - строка экрана - 0 (самая верхняя), столбец - 79 (самый правый); вот тебе и вывод в правом верхнем углу.
#define att 0x7500 - цвета выводимого символа (7 - серый фон, 5 - синий цвет символов)
= '*' + att = выводить '*' с заданными атрибутами (цветами); !!! '*' а не '+'.

Ответ отправлен: 18.06.2002, 12:24
Отправитель: LAO


 Вопрос № 470

Здраствуйте уважаемые эксперты.
Подскажите пожалуйста как написать программу перевода шестнадцеричного числа в десятичное.



Вопрос отправлен: 17.06.2002, 21:57
Отправитель: emanon

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

Отвечает kvINT

Добрый день, emanon!
Просто находишь сумму. Например:
A8Bh = 10*16*16 + 8*16 + 11.

Ответ отправлен: 20.06.2002, 10:58
Отправитель: kvINT


Отвечает Blackeye

Добрый день, emanon!
Прделай отдельно над битами. Например в AL = 5Ch. Смотри пример


Приложение:

Ответ отправлен: 19.06.2002, 12:12
Отправитель: Blackeye


Отвечает Guess Who

Приветствую Вас, emanon!
Ты хотя бы писать начал, а потом спросил, что не получается или не понятно! А то помогите!:)
Алгоритм такой:
1)Вводишь числа.
2)Переводишь их из ASCII-кодов в машинное представление.
3)Полученное шестнадцатиричное число в цикле делишь на 10.
4)Остаток получаемый в DL сохраняешь куда-нибудь, не забывая добавить 30h - для перевода в ASCII представление полученных чисел.
5)И выводишь задом наперед на экран, оттуда, куда сохранил.:)
В приложении кусок кода, который переводит 16-ное число в AX в 10-ое и сохраняет его в буфер.

Приложение:

Ответ отправлен: 18.06.2002, 00:11
Отправитель: Guess Who


Отвечает Shal

Приветствую Вас, emanon!


Приложение:

Ответ отправлен: 20.06.2002, 18:33
Отправитель: Shal


Отвечает Portnov

Доброе время суток, emanon!
Тут смотря что вы конкретно хотите. Скажем, если хотите вводить шест. число с клавиатуры, а потом выводить его десятичное представление, то сначала надо перевести строку, представляющую число, в число, положить его, например, в регистр AX, а потом выводить десятичную форму. С переводом между системами счисления идея такая:
Пусть g- основание системы счисления (например, 10 или 16). Тогда любое натуральное число M можно представить в виде
M=a0+a1*g+a2*g^2+a3*g^3+....+an*g^n
где все ai меньше g. Последовательность an,a(n-1),...,a0 и есть предсавление числа в системе счисления с основанием g. Важный момент: число при делении на g дает остаток a0, частное от этого деления при делении на g дает остаток a1 и т.д. Поэтому для того, чтобы представить число в данной системе счисления, нужно многократно его делить на основание, и записать остатки в обратном порядке. А если вам дано представление, то нужно просто посчитать по приведенной формуле. Кончно, и деления, и умножения лучше производить в цикле, и этот цикл еще можно сильно оптимизировать. Надеюсь, не сильно запарил.
С уважением, Portnov.

Ответ отправлен: 18.06.2002, 11:38
Отправитель: Portnov


Отвечает LAO

Приветствую Вас, emanon!
Чтобы перевести число из одной системы исчисления надо рекурсивно делить исходное число на основу новой системы исчисления, чем получаем значения разрядов (как остаток от деления)начиная с младшего до самого старшего, например:
Переведем 3fh в десятичное число.
Шаг 1: 3fh/10 = 6h и остаток 3;
Шаг 2: 6h/10 = 0h и остаток 6.
Полученное число в десятичном исчислении - 63.
Реализацию не даю - ее немеренно в преждних номерах рассылки.


Ответ отправлен: 18.06.2002, 12:42
Отправитель: LAO


 Вопрос № 471

Здравствуйте эксперты!
Я конечно понимаю, что я тупой страшно, но перестаньте писать мне "иди на msdn, посмотри"! Меня это уже злить начинает! Я каждый раз захожу на msdn.micrsoft.com и нехр*на не нахожу! Они мне предлагают купить С++!!!! Мне нужны описания winApi функций, в частности, что попадает в EAX после опредилённой функции. Либо дайте точный адрес в mdsn или не пишите вообще!!



Вопрос отправлен: 17.06.2002, 22:53
Отправитель: Dark_Lord

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

Отвечает Zloy

Приветствую Вас, Dark_Lord!
Ну не хочешь покупать - посмотри тута: http://winapi.h1.ru
Там правда далеко не всё описано, но зато на русском. Однако лучше раскошелится на полных 4 диска и половина вопросов исчезнет сама собой!


Ответ отправлен: 19.06.2002, 16:27
Отправитель: Zloy


Отвечает Gibbel

Здравствуйте, Dark_Lord!
Может ты просто не умеешь искать??? Я, к примеру, всегда все нахожу.
А вообще, купи себе диски MSDNа и ищи - "мусора" не будет.
Есть вариант - скачать/купить только Platform SDK (помниться еще к #0 RSDN Magazine прилагалось) - там только API.

Ответ отправлен: 20.06.2002, 10:27
Отправитель: Gibbel


Отвечает kvINT

Доброе время суток, Dark_Lord!
Однажды по чьему-то совету скачал себе хелп по API-функциям, размером 8 МБ, хорошо, что на институтской машине и по выделенке. При ближайшем рассмотрении оказалось, что он полностью идентичен хелпу, который входит в стандартную поставку Borland C++ 5. Там много разных хелпов, один из них по API. Т.е. проще и выгодней купить пиратский диск с Борландом.

Ответ отправлен: 20.06.2002, 10:58
Отправитель: kvINT


Отвечает masquer

Доброе время суток, Dark_Lord!
Специально зашел на гугл и ввел там
GetModuleHandle MSDN
Первая же ссылка привела туда куда надо.
А ежели Вам, молодой человек, затруднительно пользоваться поисковиками, или жалко потратиться на 3 компакта, то помочь здесь нечем.
Вообще, как было бы прекрасно, если бы я бы мог зайти куда-нибудь в инете и сказать "А ну-ка, кул хацкеры, напишите мне быстро прогу, которая все умеет, весь инет хакает и бабки на мой счет высылает", и все, и телемаркет.
Смысл здесь в том, что человек, когда ищет, пробует сам что-то делать, процесс обучения проходит легко и естественно.
От меня ссылок на МСДН точно никто не увидит, потому что у меня на диске под нее занято 2 гига и я только оттуда и беру инфу. Вообще, любой програмист, ИМХО, должен иметь быстрый доступ к такого рода информации.
Так что делайте выводы, получив Ваш вопрос, не думаю, что эксперт бросит все и будет перерывать весь инет в поисках ссылки.

Ответ отправлен: 17.06.2002, 23:25
Отправитель: masquer


Отвечает DrGenius

Доброе время суток, Dark_Lord!
Лично я пользуюсь Win32ProgrammersReference, там вроде все функции основных библиотек есть с неплохим описанием.
http://src.fitkursk.ru/books/win32.zip (5,47 Мб)
Bye!

Ответ отправлен: 18.06.2002, 18:22
Отправитель: DrGenius


Отвечает Sensey

Здравствуйте, Dark_Lord!
:)
MSDN - это справка по АПИ ф-циям, поставляется вместе с пакетами...


Ответ отправлен: 18.06.2002, 12:38
Отправитель: Sensey


 Вопрос № 472

Уважаемые эксперты!
Уже несколько месяцев получаю рассылку. Спасибо организатору Олегу Калашникову, экспертам за содержательные статьи. Я тоже пытался в начале посылать и ответы, и вопросы, но никто ничего не получал.Сейчас сменил "фирменную" почтовую программу на Outlook, может пройдет.
Я заметил вопиющуюошибку при обработке локальных переменных в ТАСМ32в режиме МАСМ. Процедуры запросто могут использовать локальные переменныедругихпроцедур, естественно, снеправильной адресацией.Если бы такой глюк был в компиляторе высокого уровня, его бы моментально разгромили в пух и прах все компьютерные журналы. А в Ассемблере много лет отаком даже многие не знают. По крайней мере не встречал нигде в литературе.
Другая странность возникает при печатании вопроса
в рассылку. Вернуться по тексту назад и вставить пропущенный пробел не могу - вылетаю из окна. Так что извините за склеенные слова.Outlook Express 5.00.2919.6900,
Windows2000.
Ivan.Kossey@t-online.de



Вопрос отправлен: 18.06.2002, 01:14
Отправитель: Marathoner (Ivan.Kossey@t-online.de)

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

Отвечает kvINT

Приветствую Вас, Marathoner!
Там же есть предупреждение, что в Аутлуке форма может глючить, используй IE или пиши ответ в Блокноте, а затем вставляй в форму.

Ответ отправлен: 20.06.2002, 10:58
Отправитель: kvINT



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

Внимание!
Форма может работать некорректно в почтовых программах "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 (50)
C / C++ (28)
Perl (9)
Delphi (15)
Pascal (27)
Basic / VBA (16)
Java / JavaScript (7)
PHP (7)
MySQL / MSSQL (8)
Пользователю
Windows 95/98/Me (47)
Windows NT/2000/XP (34)
"Железо" (40)
Поиск информации (21)
Администратору
Windows NT/2000/XP (16)
Linux / Unix (9)
Юристу
Гражданское право (11)
Семейное право (5)
Трудовое право (6)
КоАП (3)

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




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

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


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

В избранное