Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
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.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту 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) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||