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

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


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

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

Выпуск № 386
от 09.10.2002, 02:40

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


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

Broken Sword
Статус: Профессиональный
Общий рейтинг: 132.89
URL: моя рассылка по Protected Mode
[Подробней >>]
Pablo
Статус: Профессиональный
Общий рейтинг: 131.33
URL: Моя страничка
[Подробней >>]
Bob Johnson
Статус: Опытный
Общий рейтинг: 153.08
[Подробней >>]
 
St
Статус: Начальный
Общий рейтинг: 111.42
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 156.27
[Подробней >>]
LIFO
Статус: Опытный
Общий рейтинг: 131.28
Телефон: 8 01710 24758
[Подробней >>]
 
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.23
URL: Страничка обо мне и моих друзьях
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 116.07
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 125.69
URL: Страничка рассылки по Паскаля...
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
 
Portnov
Статус: Профессиональный
Общий рейтинг: 119.52
URL: Мой сайтик...
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 132.46
[Подробней >>]
Илья
Статус: Начальный
Общий рейтинг: 104.91
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 118.16
[Подробней >>]


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

Вопрос № 1406. Доброе время суток. Уважаемые эксперты извените что достаю но если ктонить штонит понимает в построе... (ответов: 3)
Вопрос № 1407. Здраствуйте Эксперты. есь у меня пара вопросов. Как асемблировать (наверно неправильно написал) *.ex... (ответов: 4)
Вопрос № 1409. Hello all! So I have one more question to you: how create standart interface items such fields, t... (ответов: 4)
Вопрос № 1410. Еще раз здрасте! Дополнение к вопросу №1408. Может есть у кого карта биоса, всмысле чтоб было указан... (ответов: 1)
Вопрос № 1411. Здравствуйте, уважаемые эксперты. Разрешите задать вам два вопроса. 1. Как связан ассемблер и прикла... (ответов: 4)
Вопрос № 1412. Hello All! Я вот тут в магзике книжку Пирогова увидел "assembler-учебный курс" Как думаеет... (ответов: 1)
Вопрос № 1413. Здраствуйте!! У меня вот несколько вопросов немножко не по теме, но все же. Как я могу подключить мо... (ответов: 3)
Вопрос № 1414. Я скачал из интернета исходники 2 Квайка.уважаемые эксперты подскажите можно ли на их основе сделать... (ответов: 3)
Вопрос № 1415. Доброе время суток, господа Эксперты! Пишу Вам по двум вопросам, собственно... 1. Как-то давно, меся... (ответов: 1)
Вопрос № 1416. Уважаемые эксперты! Вообщем вопрос на счет работы с EMM менеджером! 1) Проверяю наличие драйвера, вс... (ответов: 2)

Вопросов: 10, ответов: 26


 Вопрос № 1406

Доброе время суток.
Уважаемые эксперты извените что достаю
но если ктонить штонит понимает в построение МП систем
прошу написать мне очень буду благодарен...............
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



Вопрос отправлен: 04.10.2002, 02:52
Отправитель: Сергей

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

Отвечает Broken Sword

Доброе время суток, Сергей!
Ну я чето понимаю...

Ответ отправлен: 04.10.2002, 15:08
Отправитель: Broken Sword


Отвечает Pablo

Добрый день, Сергей!
Ты вопрос то задай!))))

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


Отвечает Bob Johnson

Доброе время суток, Сергей!
А что тебе собственно нужно-то? Курсач?


Ответ отправлен: 05.10.2002, 00:09
Отправитель: Bob Johnson


 Вопрос № 1407

Здраствуйте Эксперты.
есь у меня пара вопросов. Как асемблировать (наверно неправильно написал) *.exe в Masm'е. Когда делаю это через Tasm то пишет ошибку " **fatal** Hello.asm(5) Can't locate file: windows.inc" директорию с *.inc пробовал менять тогда появляються другие ошибки. И еще почему у меня Masm не работает под винды пише прога выполнела недопустимую операцию и будут закрыта.
Жду ответоа и заранее спасибо.


Приложение:


Вопрос отправлен: 04.10.2002, 02:53
Отправитель: Cas (vscas@pochtamt.ru)

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

Отвечает St

Привет, Cas!
Действительно при попытке скомпилировать ваш пример в Masm выходит много ошибок (сам я masm не люблю и отлаживать не стал). Но в Tasm он скомпилировался сразу же. И вообще стиль написания кода по-видимому тасмовский. Я собрал необходимый в данном случае файлы в 2 архива: В wap16.zip ваш пример, а в tasm_w16.zip необходимые программы. Они лежат на st23.narod.ru/wap16.zip (~50 кб) и st23.narod.ru/tasm_w16.zip (~270 kb)
Просто введите эти строки в браузере, скачайте и распакуйте в один каталог. Для перекомпиляции просто запустите Make.exe - он все сделает сам и на выходе сразу получите свой exe-шник.
Кроме того позволю себе дать совет: Когда освоете немного программирование под win16 (для windows 3.1) переходите сразу на Win32 - многие проблемы сразу снимаются (например c адресацией) да и время windows 3.1 уже в прошлом.
Насчет неправильной работы комприлятора под Виндами трудно что-либо сказать. Я все свои виндовые программы компилирую Tasm-ом под Windows 98 SE без проблем, но вот под Windows 2000 иногда!!! после компиляции но до линковки в make.exe выскакивают сообщения о проблемах c command.com и приходится еще раз запускать make.exe для заваршения создания программы.
Если есть еще вопросы или что-нибудь не так c моим ответом пишите!
St

Ответ отправлен: 04.10.2002, 12:57
Отправитель: St


Отвечает masquer

Приветствую Вас, Cas!
Кроме того что синтаксис тасма и масма несколько отличаются, так ты еще и выход программы под винды делаешь как у программы под дос. Под виндами забудь про прерывания - они тебе не понадобятся.
выход можно так сделать invoke ExitProcess, 0
И что еще за INITAPP и прочий бред...
Скачай пакет masm32 с movsd.com. Все подобные вопросы сами собой отпадут.

Ответ отправлен: 04.10.2002, 14:31
Отправитель: masquer


Отвечает LIFO

Добрый день, Cas!
Напиши полный путь в проге include windows.inc или помести данный файл в одну директорию с твоей прогой
Надо пользоваться Masm32 а не Masm


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


Отвечает Bob Johnson

Добрый день, Cas!
А ты что это решил писать 16-разрядное приложение под винды? Такое писалось под виндовс 3.11 и процессор 286. Лучше вообще не делай этого. Возьми хотя-бы пример WAP32 из пакета ТАСМ. Там все настроено и компилируется - пример достаточно простой, с него можно начать.
Просто, если ты сейчас продолжишь разбираться со своим примером - зря потеряешь время, т.к. 16-разрядное программирование под виндовс отошло в прошлое.


Ответ отправлен: 05.10.2002, 00:09
Отправитель: Bob Johnson


 Вопрос № 1409

Hello all!
So I have one more question to you: how create standart interface items such fields, text areas, buttons etc when programming asm for win? As far as I understand from samples, all this elements are the "windows" created with
CreateWindowEx function. Am I right? If it is so, could you give a brief description of this function and maybe some samples for creating text fields and buttons? And one more question - how rules them (change caption, hide or show and so on)? Thanks for your help!
PS: and - how make it easy? Can I use .FRM files from VB? Or perhaps some data from them?
Sincerely yours, Covax.



Вопрос отправлен: 04.10.2002, 12:18
Отправитель: Covax

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

Отвечает St

Hi, Covax!
You are right!!! :) All MS Windows programming is creation WINDOWs. Description of functions you must to see in Windows programming help (e.g. type in browser www.filesearch.ru and then in text area win32.hlp) - there are very much functions (hundreds) and writing their for you is wery difficult.
There is part of this help (in attachment). Part - because of enough big length.
More about windows programming (and examples) you can read in books. VB forms is not usable under assembler (or C and C++) but you can use dialog boxes created in resources files - it's similar (you need Resource editors for this). This boxes one can then use by functions: DialogBox, CreateDialog and ...
St

Приложение:

Ответ отправлен: 04.10.2002, 13:26
Отправитель: St


Отвечает masquer

Greetings, Covax!
Actually "windows" is a wide using term, especially in OS Windows. Yes, they are windows and we can create it using CreateWindow(Ex) functions applying correspondent class, for example "BUTTON", "STATIC" etc. More detailed information you can get in MSDN. Another way is to use them as resource.
How to rule them depends on how you create them. For ex. see function SetWindowLong or GetDlgItem.
The point is to get handle of this window. If you do that, you can do with it whatever you want.
You can't directly use .FRM files. This format is different from dialog resource. Maybe there is converters but I don't heard about it.

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


Отвечает Gibbel

Здравствуйте, Covax!
1. Yes, all controls in windows application are standart windows created with functions such CreateWindowEx. For standart controls you must change class name parameter.
So,it is a pointer to a null-terminated string or a class atom created by a previous call to the RegisterClass or RegisterClassEx function. The atom must be in the low-order word of lpClassName; the high-order word must be zero.
If lpClassName is a string, it specifies the window class name. The class name can be any name registered with RegisterClass or RegisterClassEx, provided that the module that registers the class is also the module that creates the window. The class name can also be any of the predefined system class names.
A system class is a window class registered by the system. Many system classes are available for all processes to use, while others are used only internally by the system. Because the system registers these classes, a process cannot destroy them.
Each Win32-based application receives its own copy of the system classes. All 16-bit Windows-based applications in the same VDM share system classes, just as they do on 16-bit Windows.
The following table describes the system classes that are available for use by all processes.
"Button" - The class for a button.
"ComboBox" - The class for a combo box.
"Edit" - The class for an edit control.
"ListBox" - The class for a list box.
"MDIClient" - The class for an MDI client window.
"ScrollBar" - The class for a scroll bar.
"Static" - The class for a static control.
The following table describes the system classes that are available only for use by the system. They are listed here for completeness sake.
"ComboLBox" - The class for the list box contained in a combo box.
"DDEMLEvent" - Windows NT/2000 or later: The class for DDEML events.
"Message" - Windows 2000 or later: The class for a message-only window.
"#32768" - The class for a menu.
"#32769" - The class for the desktop window.
"#32770" - The class for a dialog box.
"#32771" - The class for the task switch window.
"#32772" - Windows NT/2000 or later: The class for icon titles.
The windows also have some additional classes, such as "Internet Explorer_Server" - Web browser control, but it is so hard for use...
2. For change caption you must use fuction SetWindowText, for show/hide window - ShowWindow...
3. You can use .rc/.res files...


Приложение:

Ответ отправлен: 04.10.2002, 18:21
Отправитель: Gibbel


Отвечает Bob Johnson

Hello, Covax!
Yes, you're right. Any control in the win32 world is a window. You can create such a control with CreateWindow or CreateWindowEx functions. The first is quite obsolete, so you should use CreateWindowEx. You can look MSDN to get full description of this function.
Briefly, the type (and view) of control you've created entirely depends on it's class. Class of the control is defined through the lpClassName parameter of CreateWindowEx. Usually it's a pointer to the null-terminated string which defines class of the control. There are several standard classes defined in Windows - "BUTTON" (for a button), "EDIT" (for an edit box), "LISTBOX" (defines list box), "STATIC" (simple text or image) etc. You can create your own controls - write the control's windows procedure and register new class with the RegisterClass function.
You can specify the text of the control (or the window caption) by lpWindowName parameter (it's a pointer to a null-terminated string). To hide or show window you should use the ShowWindow function (initially visibility is set through the window style).
To make it easy you cannot (as I know) use .FRM files from visual basic (as you cannot use the .DFM files from delphi) - but you can use resources.
Resources is the place (inside your executable) where you can store any necessary information such as menus, dialogs, fonts, sounds etc). You can use any available resource editor and make some dialog resources for your program. Then you should specify obtained .RES file on your link stage and the linker will include resources in your .exe file.
Your program can display a dialog box from resources with the CreateDialog function.


Ответ отправлен: 05.10.2002, 00:09
Отправитель: Bob Johnson


 Вопрос № 1410

Еще раз здрасте!
Дополнение к вопросу №1408.
Может есть у кого карта биоса, всмысле чтоб было указано где хранится версия, название, лого биоса.
Вышлите пожалуйста, вопрос жизни и смерти (не моей).
И еще, как можно средствами ассемблера проверить, флэш биос у мамки или нет, и если флэш, то как узнать разрешена запись в биос или облом?
И третье, будет ли программа записи в биос написанная под дос работать в эмуляции дос из под винды?
Заранее спасибо!
P.S. Для особо щипительных экспертов: это не для WinCIH2002!!! А для программы меняющей лого биоса.
Maverick@nightmail.ru



Вопрос отправлен: 04.10.2002, 12:57
Отправитель: Maverick (Maverick@nightmail.ru)

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

Отвечает baldr

Приветствую Вас, Maverick!
У меня где-то был исходник bios... Но он в архиве ~2Mb... Если надо - пиши, вышлю.

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


 Вопрос № 1411

Здравствуйте, уважаемые эксперты. Разрешите задать вам два вопроса.
1. Как связан ассемблер и прикладной язык программирования DELPHI 6? Я дочитал только до 14 выпуска и может забегаю вперед, так вы уж простите.
2. (вопрос за жизнь) Где бы мне применить полученные знания, дабы принести пользу обществу? Я имею в виду тот неоспоримый факт, что когда делаешь реальный проект, понимается всё быстрее и интереснее.
Двухмерное спасибо, если прочитали письмо и трёхмерное спасибо, если ответите.



Вопрос отправлен: 04.10.2002, 14:30
Отправитель: Алексей

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

Отвечает Sensey

Доброе время суток, Алексей!
Разрешаем :)
Ну как связан... Например на Делфи можно вставки на Асме делать...
При устройстве на работу в резюме пишешь "знаю то-то и то-то"
А проект для изучения придумай сам... тут мы тебе вряд ли поможем :) - что тебе интересно, то и сделай.
Ну а я начал с того, что написал COM-прогу длиной в 7 байт, которая выключала NumLock- тогда я работал на 4-ке, а на ней в БИОСе не было выключения NUmLock, и он меня достал...


Ответ отправлен: 04.10.2002, 15:00
Отправитель: Sensey


Отвечает masquer

Здравствуйте, Алексей!
1. Ну как связан - позволяет делать вставка в программы, или что еще интересует?
2. Ну задачу тебе самому искать прийдется - подумай!

Ответ отправлен: 04.10.2002, 15:56
Отправитель: masquer


Отвечает Portnov

Добрый день, Алексей!
1. Я уж сейчас не помню, рассказывает про это Калашников или нет (по-моему рассказывает), но процессор понимает только ассемблерные инструкции. Собственно, он даже и их-то не понимает... Есть такая вещь - опкоды, слыхали? Каждой ассемблерной инструкции (mov, add, ...) сопоставлена нек-рая последовательность байтов, зависящая от самой инструкции и от ее операндов (аргументов). Ну, напимер, инструции mov [0B30Eh],al сопоставлена последовательность 0A2h,0Eh,0B3h. Это и есть опкоды (в первом приближении). Так вот, процессор понимает только эти байтики, и ничего больше. Программа-транслятор (ассемблер - tasm,masm,nasm,...) переводит вашу программу на ассемблере в опкоды, и все это в соответствующем виде записывает в выходной файл.
Теперь про Дельфи. Компилятор переводит вашу программу на ObjectPascal'е в... Ну, во что он ее может переводить? Правильно, в опкоды. Потом записывает их в соответствующем виде в выходной файл.
Теперь про связь между Асмом и Дельфи. Как видите, то и другое транслируется в опкоды, но важный момент: программа на Ассемблере неизмеримо более точно описывает последовательность действий, непосредственно выполняемых процессором. Благодаря этому при программинге на Асме вы имеете гораздо более полный контроль над компом, ведь скажем ф-ция Length() выполняет кучу всяких инструкций, и вы не знаете каких, и вы не знаете, насколько этот код оптимален.
2. Пользу обществу? Присоединяйтесь к Dron'у или к Dios'у, они каждый свою ось пишут на асме. Проекты очень большие, и при этом если хотя бы один из них будет когда-либо закончен, польза обществу будет безмерная....
С уважением, Portnov.

Ответ отправлен: 04.10.2002, 16:28
Отправитель: Portnov


Отвечает Bob Johnson

Здравствуйте, Алексей!
1. До конца не понял вопроса... Как бы сказал Горшок (см. интервью с горшком.avi) - Что как связано???
Я бы сказал, что дельфи и асм - это два противоположных подхода к программированию. Обобщает их только фирма-производитель (борланд).
Дельфи:
Дельфи ориентирован(о) на быстрое создание приложения. На первое место при этом вынесен интерфейс получаемой программы. Дельфи позволяет только с помощью мышки за 5 минут создать интерфейс приложения не хуже MSIE. Последнее место при программировании на дельфи занимает размер получаемого файла. Программы, написанные на дельфи часто требуют борландовские библиотеки (если это не отключить на этапе создания приложения) и достаточно медленно загружаются. Тем не менее, копмилятор у дельфи неплохой, что положительно сказывается на скорости выполнения написанных программ. Дельфи позволяет вставлять в программу ассемблерные вставки.
Ассемблер:
Ассемблер предназначен для создания особо важных программ (участков кода), от которых требуется максимальная безглючность и скорость выполнения. Ассемблер является "родным" языком процессора и однозначно и взаимообратимо компилируется в машинные коды. При написании программ только с использованием ассемблера необходимо досканально вникать в работу операционной системы и писать самому некоторые участки кода, которые языки программирования более высокого уровня скрывают от программиста. В связи с этим ассемблер требует программиста более высокого класса. Скорость создания программы на ассемблере ниже, чем на другом языке (более высокого уровня). Ассемблер чаще всего применяется для написания драйверов и участков программ, небольших по объему, но занимающих значительный процент времени выполнения.
2. Да вот тут не раз слышал: "... мы тут типа с ребятами крутую ось пишем..." - вот и подключайся.
Вообще, бери любые задачки (например, из книг по информатике, в которых они решены на паскале) и решай их на ассемблере. После этого смотри на полученную программу, и думай, как можно заставить ее работать быстрее - оптимизируй, затем опять смотри и т.д.
Заработать денег с помощью ассемблера (О, это, наверное, мечта любого эксперта нашей рассылки) практически невозможно - т.к. он редко применяется, необходимость в программистах мала. Более того, он платформеннозависем, что иногда не позволяет применять его вообще.
Но это не значит, что нет смысла его изучать вообще - зная ассемблер начинаешь лучше понимать, как работает процессор, как лучше (быстрее) решать задачи и на языках высокого уровня.


Ответ отправлен: 05.10.2002, 00:10
Отправитель: Bob Johnson


 Вопрос № 1412

Hello All!
Я вот тут в магзике книжку Пирогова увидел "assembler-учебный курс"
Как думаеете стоит брать или че другое посмотреть.
ps
стоит 210р



Вопрос отправлен: 04.10.2002, 15:55
Отправитель: Byter (Byter2002@mail.ru)

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

Отвечает Dark_Lord

Здравствуйте, Byter!
На мой взгляд очень хорошая книга!

Ответ отправлен: 05.10.2002, 22:33
Отправитель: Dark_Lord


 Вопрос № 1413

Здраствуйте!!
У меня вот несколько вопросов немножко не по теме, но все же.
Как я могу подключить мобилу Nokia 3210 к компу, если такое вообще возможно.
Второе, если я все же подключу, то как я могу писать под нее проги, какой там микропроцессор?
Где я могу найти документацию по тому процессору?
Но это мне все так стрельнуло. Может это и невозможно, кто его знает.
И еще есть у меня комп: 386 + 16 Мб оперативной + 40 мб винт. Какую сюда можно поставить ОСу?
Будет ли у меня Unix на таком тормозить сильно. Где мне взять дистрибутив какой-то мини-ОС
И еще несколько вопросов не по теме. Какую сейчас мобилку найлучше брать? И еще =). Я хотел бы подключиться к Фидо, но не знаю какие у меня есть ноды. Я живу в Львовской обл.
Если кто знает, очень прошу скажите.
Спасибо



Вопрос отправлен: 04.10.2002, 19:21
Отправитель: Torax (torax@dotes.west.energy.gov.ua)

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

Отвечает Pablo

Приветствую Вас, Torax!
На счет Unix не знаю наверное можно и его поставить, но на этот компьютер ты можешь поставить и DOS плюс Novel Netware для поддержки сети.

Ответ отправлен: 06.10.2002, 17:52
Отправитель: Pablo


Отвечает Bob Johnson

Приветствую Вас, Torax!
Про мобилы ничего не могу сказать.
На тройку ты юникс не посавишь (как мне кажется). Лучшая ОС для нее (тем более, что у тебя 16мб! Это много для 386) - это Novell Netware 3.12. Прекрасный файловый сервер. Занимает не очень много. Дистрибутив novell'а, наверное можно найти поисковым сервером.
А чтобы подключиться к фидо - тебе лучше найти человека, который уже подключен - он тебе и node-list подгонит и может помочь с подключением.


Ответ отправлен: 05.10.2002, 00:10
Отправитель: Bob Johnson


Отвечает Илья

Приветствую Вас, Torax!
Посмотри и почитай "FAQ: Частые вопросы по телефону Nokia 3210" а дальше весь Инет работает на тебя...

Ответ отправлен: 05.10.2002, 02:48
Отправитель: Илья


 Вопрос № 1414

Я скачал из интернета исходники 2 Квайка.уважаемые эксперты подскажите можно ли на их основе сделать игру начинающему.
А если можно то где это узнать и с чего начать.Спасибо.



Вопрос отправлен: 04.10.2002, 20:35
Отправитель: Олег

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

Отвечает Dark_Lord

Доброе время суток, Олег!
Ну сделать-то можно, а вот начинающий в процессе переделки станет опытным! В начале надо разобраться в алгоритме, а потом научиться самому использовать все те функции, которые там используются!

Ответ отправлен: 05.10.2002, 22:34
Отправитель: Dark_Lord


Отвечает Sensey

Доброе время суток, Олег!
Ну начинающему вряд ли...
А вообще - самое наблагодарное дело это разбираться в чужом коде. Лучше уж свой полностью написать...
Хотя идеи оттуда выцепить в принципе можно...


Ответ отправлен: 05.10.2002, 15:41
Отправитель: Sensey


Отвечает Bob Johnson

Здравствуйте, Олег!
Начинающему - нет. Для начала попробуй их хоть откомпилировать в том виде, в котором они уже есть. Затем дерни оттуда 3д движок, создай свой код, который будет с ним работать и делать то, что тебе надо. Затем создавай уровни к игре. Вообще написать 3д-игру самому это достаточно круто - ведь тебе придется не только программировать (программирование - это не самое сложное в игре), но и рисовать графику, уровни, героев, придумать сюжет и т.д.


Ответ отправлен: 05.10.2002, 00:10
Отправитель: Bob Johnson


 Вопрос № 1415

Доброе время суток, господа Эксперты!
Пишу Вам по двум вопросам, собственно...
1. Как-то давно, месяца 2 назад был разговор по поводу создания книги, в которую войдут выпуски нашей рассылки. Я месяц отсутствовал, а теперь вот ничего не слышно про это. Чем все закончилось?
2. Ну хоть кто-нибудь, ответьте на вопрос № 1391... Ведь не попадет в рассылку... (а сам я его почему-то не получил).
Приятного времяпрепровождения.



Вопрос отправлен: 05.10.2002, 00:31
Отправитель: Bob Johnson (BobJohn@NewMail.Ru)

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

Отвечает Pablo

Добрый день, Bob Johnson!
На походу ничем и не закончилось обсуждение создания книги, кто этим заниматься то будет!??))))


Ответ отправлен: 06.10.2002, 16:44
Отправитель: Pablo


 Вопрос № 1416

Уважаемые эксперты! Вообщем вопрос на счет работы с EMM менеджером!
1) Проверяю наличие драйвера, все нормально!
2) По функции AH=41h int 67h в BX= возвращается адрес сегмента
3) По функции AH=43h BX=требуемое число страниц, int 67h открываю описатель - получаю его!
И вот тут-то получается какой-то бред!
Что делать дальше???
Я имею ввиду, как сохранять свои данные в расширенной памяти и как их получать обратно!!!
Пришлите или приведите какие-нибудь примеры!!!
Что бы можно было на основе их делать нормальные выводы!!
В документации порылся, перепробывал разные функции, а смысла ни какого не вижу!!!
За ранее спасибо!



Вопрос отправлен: 05.10.2002, 02:31
Отправитель: Андрей (assing@glazov.net)

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

Отвечает Dark_Lord

Доброе время суток, Андрей!
При смене страницы расширеной памяти, например, на "вторую" твоя инфа на "первой" не удаляется, а уходит в расширеную память, поэтому при переключении обратно на первую инфа снова есть!;)

Ответ отправлен: 05.10.2002, 22:38
Отправитель: Dark_Lord


Отвечает Ayl

Доброе время суток, Андрей!
Что значит "бред"? Выделил себе блок страниц с помощью функции 43h, получил на него handle. Далее маппишь нужную страницу с помощью функции 44h:
AH = 44h
AL = физический номер страницы (от 0 до 3)
BX = логический номер страницы
DX = handle блока страниц
Страница будет иметь начальный адрес EmsSeg:(n*400h), где EmsSeg - адрес сегмента, возвращенный функцией 41h, n - номер физической страницы.
Теперь можно записывать 16К данных в выделеную область.
После окончания работы не забудь вызвать функцию 46h для возврата выделенной памяти

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



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

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

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




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

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


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

В избранное