Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 271
от 19.05.2002, 14:20
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 200 Отправлено ответов: 509 Активность: 254.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Артём Шегеда Статус: Профессиональный Общий рейтинг: 139.59 URL: Пристанище неодинокого программиста [Подробней >>] |
Blackeye Статус: Опытный Общий рейтинг: 130.98 URL: Delphi, my programms... [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 165.9 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 166.76 [Подробней >>] |
Dron Статус: Профессиональный Общий рейтинг: 157.81 URL: Операционная система с нуля! [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 150.98 [Подробней >>] |
Gibbel Статус: Начальный Общий рейтинг: 109.28 [Подробней >>] |
Beeblebrox Статус: Опытный Общий рейтинг: 136.16 URL: Beeblebrox / TMA HomePage [Подробней >>] |
VicSimon Статус: Опытный Общий рейтинг: 120.9 [Подробней >>] |
bin Статус: Начальный Общий рейтинг: 111.47 [Подробней >>] |
vitya Статус: Опытный Общий рейтинг: 124.84 [Подробней >>] |
kostik Статус: Опытный Общий рейтинг: 131.41 Телефон: (4212)393-276 [Подробней >>] |
UFO Статус: Опытный Общий рейтинг: 131.23 [Подробней >>] |
Евгений Статус: Опытный Общий рейтинг: 123.9 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 171. Ув.эксперты. Кто может подскажите.Надо выключить монитор из проги.Знаю, что посылается месседж, стан... (ответов: 3)
Вопрос № 172. Здравствуйет эксперты! Объясните пожалуйста, что значит у функции 714eh. Формулировки: cl=атрибуты, ... (ответов: 2)
Вопрос № 173. Здравстуйте эксперты! Возник еще один вопрос! Допустим у меня в конце программы определена метка(буф... (ответов: 7)
Вопрос № 174. Добрый день всем! Спасибо за помощь всем, кто откликнулся на мои первые проблемы и вопросы! К вашему... (ответов: 7)
Вопрос № 175. Здрасте! Проблема с установкой SoftIce 3.25. Ставлю под XP. Говорю чтобы грузился до Виндов, перегру... (ответов: 5)
Вопрос № 176. Уважаемые эксперты, подскажите как можно обратиться к BOISу видеокарты (мне необходимо считать от ту... (ответов: 2)
Вопросов: 6, ответов: 26
Вопрос № 171 |
Ув.эксперты. Кто может подскажите.Надо выключить монитор
из проги.Знаю, что посылается месседж, стандартные параметры
етой ф-ции просто переводят в текст.режим, у меня Милениум.
Под 2000 только включается.
Так вот не подскажете ли ,где вообще можно посмотреть такую
информацию, в частности-системные сообщения. Спасибо.
Вопрос отправлен: 15.05.2002, 00:02
Отправитель: Arch
[Следующий вопрос >>] [Список вопросов]
Отвечает Артём Шегеда
Доброе время суток, Arch!
На Torry.Net нашёл такой приём:
{ turn off your monitor }
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);
{ turn on your monitor }
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, - 1);
По-моему, там плохого не посоветуют...
Ответ отправлен: 15.05.2002, 10:13
Отправитель: Артём Шегеда
Отвечает Blackeye
Добрый день, Arch!
SC_MONITORPOWEROFF - если не ошибаюсь посылаеться, помотреть это все можно в MSDN доступном на сайте www.msdn.microsoft.com
Ответ отправлен: 15.05.2002, 19:06
Отправитель: Blackeye
Отвечает masquer
Добрый день, Arch!
В MSDN, где ж еще. Я правда не совсем понял, как ты собираешься выключать монитор, куда посылается месадж?
Ответ отправлен: 15.05.2002, 08:36
Отправитель: masquer
Вопрос № 172 |
Здравствуйет эксперты!
Объясните пожалуйста, что значит у функции 714eh. Формулировки:
cl=атрибуты, которые файл может иметь.
ch=атрибуты, которые файл должен иметь.
Что это значит и как это применить для поиска файлов?
С уважением, ILYA D.
Вопрос отправлен: 15.05.2002, 00:47
Отправитель: ILYA D.
[Следующий вопрос >>] [Список вопросов]
Отвечает Артём Шегеда
Добрый день, ILYA D.!
По-моему, это просто...
CH содержит атрибуты файлов, которые искомые файлы должны иметь.
CL содержит атрибуты файлов, которые искомые файлы могут иметь.
То есть, если тебе нужны только папки (все), то ты задаёшь CH = _A_SUBDIR, а в CL = (_A_ARCH or _A_HIDDEN or _A_SYSTEM or _A_RDONLY). Если только нескрытые файлы, то CH = _A_NORMAL, а в CL = (_A_RDONLY or _A_SYSTEM or _A_ARCH).
Ответ отправлен: 15.05.2002, 10:10
Отправитель: Артём Шегеда
Отвечает Broken Sword
Здравствуйте, ILYA D.!
Дело в том, что набор битиков в ch рассматривается как цепочка
[bit1] and [bit2] and [bit3] and ....
т.е. если хотя б по одному условию несовпадение - то файла не найдется.
А в cl - там то же самое, только уже логическое or...
Ответ отправлен: 15.05.2002, 19:50
Отправитель: Broken Sword
Вопрос № 173 |
Здравстуйте эксперты!
Возник еще один вопрос! Допустим у меня в конце программы определена метка(буффер в конце программы) и в этот буфер(после выполнения определенных действий) я заношу данные. Я знаю структуру этих данных и знаю, что по смещению +2сh от начальной метки у меня находятся нужные мне данные. Как поставить метку, на эти данные, чтоб потом легко получать ее смещение. Самое главное, хочется чтоб размер программы оставался прежним!!!
С уважением, ILYA D.
Вопрос отправлен: 15.05.2002, 01:05
Отправитель: ILYA D.
[Следующий вопрос >>] [Список вопросов]
Отвечает Dron
Доброе время суток, ILYA D.!
главное чтобы это было в конце программы...
в tasm можешь юзать следующую комбинацию:
можно так:
label: db 24h dup (?)
label2:
или что-то типа того:
label:
org label + 24h
label2:
Ответ отправлен: 15.05.2002, 10:56
Отправитель: Dron
Отвечает Ayl
Доброе время суток, ILYA D.!
Мне кажется, что лучше всего описать запись, в которой перечислить поля твоей структуры данных. В частности, там будет и ссылка на смещение 2ch. А потом просто используешь выражение с точкой, например:
mov al, [bx.my_data]
В bx предварительно должен быть занесен адрес начала структуры. Такая конструкция удобна тем, что при изменении структуры тебе не нужно лазить по всей программе и менять значения смещений - это за тебя компилятор сделает.
Второй вариант - описать константу и далее ее юзать:
cMY_DATA_OFFSET EQU 2ch
Третий вариант - заполняешь свою структуру в исходном тексте какими-либо данными, используешь нормальное обращение к переменным, компилируешь, а затем из своего com-файла отрезаешь эти данные. С какого места отрезать можно посмотреть в листинге.
Ответ отправлен: 15.05.2002, 10:58
Отправитель: Ayl
Отвечает Gibbel
Приветствую Вас, ILYA D.!
metka2: equ $+2Ch
metka1: db ...
Ответ отправлен: 15.05.2002, 11:11
Отправитель: Gibbel
Отвечает Beeblebrox
Доброе время суток, ILYA D.!
; here is your program
; .........
; mov ah,4Ch
; int 21h
; here is your data area
buffer db 2Ch dup(?)
data_needed db ?
last_part_of_buffer db buffer_len-2Dh dup(?)
Ответ отправлен: 15.05.2002, 11:31
Отправитель: Beeblebrox
Отвечает VicSimon
Здравствуйте, ILYA D.!
Например так:
buffer db 2Ch dup (0)
label db buffer_size-2Ch dup (0)
Вместо buffer_size ставится требуемый размер буфера
Ответ отправлен: 15.05.2002, 08:58
Отправитель: VicSimon
Отвечает bin
Дмюоьх делщ, ILYA D.!
Ля пчи аъT номъпм:
START:
.
mov ax, ASD ; яичцьачеп лч памх юярео + ъкешелуе
.
ret
BUF DB 40 DUP (?)
ASD = BUF + 2ch
END START
P.S. ък ноукео а ноуймтелуу
Приложение:
Ответ отправлен: 16.05.2002, 00:24
Отправитель: bin
Отвечает masquer
Добрый день, ILYA D.!
Ну поставь еще одну метку, какие вопросы? Размер от этого не увеличится.
Ответ отправлен: 15.05.2002, 08:37
Отправитель: masquer
Вопрос № 174 |
Добрый день всем!
Спасибо за помощь всем, кто откликнулся на мои первые проблемы и вопросы! К вашему сожалению (или к радости) я от вас так просто не отстану, поскольку вопросов у меня будет еще немало, а прерывать изучение ассемблера я не собираюсь.
У меня возникла проблема при выполнении файла, выводящего прямым отображением в видеобуфер символ. На самом деле - все очень просто, ничего не выводится, кроме мигающего курсора в верхнем левом углу. Правда, остальная часть программы работает нормально, и при нажатии клавиши все нормально завершается. Пробовал менять атрибуты и символ, смещение в di, но безрезультатно. В чем может быть "собака"? Заранее всем благодарен.
Ярослав.
Приложение:
Вопрос отправлен: 15.05.2002, 07:34
Отправитель: Ярослав
[Следующий вопрос >>] [Список вопросов]
Отвечает Артём Шегеда
Доброе время суток, Ярослав!
Странно, но у меня всё работает. Есть предположение (маловероятное, но имеющее право на жизнь), что у тебя текстовый режим монохромный. Тогда надо обращаться не в сегмент B800, а в B000.
Но в таком случае ты - обладатель антиквариата.
Ответ отправлен: 15.05.2002, 10:45
Отправитель: Артём Шегеда
Отвечает Dron
Приветствую Вас, Ярослав!
31h - это я полагаю код символа? или цвет? если цвет, то все правильно, но тогда мне не понятно как отобразиться символ с кодом 1... и как это будет выглядеть темно синем на циане... хотя вроде ничего... :)
если же все наоборот - то код символа должен быть в al, а цвет в dl. и не понятно что за увет такой - 1. темно синий на черном... хорошее сочетание. :)
Ответ отправлен: 15.05.2002, 11:00
Отправитель: Dron
Отвечает Ayl
Добрый день, Ярослав!
Странно, но у меня работает. Вывелась такая веселая рожица - белая на синем фоне в верхнем левом углу экрана.
Не знаю, в чем может быть причина. Может, у тебя режим какой неправильный. Попробуй в начало программы добавить строчки:
mov ax, 3
int 10h
Если не поможет - спроси еще раз, только опиши полностью конфигурацию, на которой это выполняется.
Ответ отправлен: 15.05.2002, 11:09
Отправитель: Ayl
Отвечает Broken Sword
Доброе время суток, Ярослав!
собака в том :), что ты пытаешься смотреть это дело в Win (я подозреваю, что не в 98 даже), а там какая то хрень с shadow видео памяти, и даже в TD под ALT+F5 нихрена не увидишь... Но вот в AVPUtil (никому не известный отладчик) все отлично видно
p.s. атрибут должен валяться в ah, а у тебя помойму наоборот... (вспомни, что при записи слова в память сначала ложиться al)
Ответ отправлен: 15.05.2002, 19:49
Отправитель: Broken Sword
Отвечает Blackeye
Здравствуйте, Ярослав!
Проблема то из ничего созданная :) Запусти свою программу из-под чистого ДОСа или из VolcovCommander,NC,DosNavigator и т.д Все будет на экране. А если хочешь чтобы в Виндовс отображались символы то вначале установи первую страницу в видеорежиме!
mov ax,0500h
int 10h
ret
Ответ отправлен: 15.05.2002, 19:06
Отправитель: Blackeye
Отвечает bin
Дмюоме аоекз ъяпми, Зомъйча!
Я келз аъT а нмоздие - дмамйщлчз омтуфч лч ъулек рмле :)
Я пеюз ъимоее аъежм жйви а чдоеъе пеияшех аудемъпочлуфь. Пь аедщ нуэеэщ лч ляйеаяв, ч кмтеп я пеюз неоачз. Кмтлм уйу номаеоупщ яйу яъпчлмаупщ лятляв.
INT 10h, 0fh - нмйябупщ пеи. аедем улря
амцаочшчеп:
AL - пеи. оетук (ъимоее аъежм B800h, лм кмтеп у B000h)
AH - буъйм пеиъпмаьс имймлми
BH - пеи. аудемъпочлуфч
п.е. а ъйябче ъ аудемоетукмк 7 у неоамх аудемъпочлуфех пеюе лчдм нуъчпщ а B000:0FA0.
Ответ отправлен: 16.05.2002, 00:24
Отправитель: bin
Отвечает vitya
Приветствую Вас, Ярослав!
должен отметить что вы выводите нечитаемый символ.попробуйте
изменить 31 на что-нибудь более больше например 65, а единичку например 7eh.
Ответ отправлен: 15.05.2002, 08:42
Отправитель: vitya
Вопрос № 175 |
Здрасте!
Проблема с установкой SoftIce 3.25.
Ставлю под XP.
Говорю чтобы грузился до Виндов,
перегружаю, и ничего.
Он ведт должен откликаться на Ctrl+D?
Или в NT что-то другое.
З.Ы. Кстати, а он под XP вообще пашет?
Вопрос отправлен: 15.05.2002, 14:15
Отправитель: Eugene
[Следующий вопрос >>] [Список вопросов]
Отвечает kostik
Приветствую Вас, Eugene!
Этот отладчик запускается из autoexec.bat в старых ОС.
Так как в ВИНХР отказались от ДОС. Там же нет такого, что можно загрузиться в режиме эмуляции. не получится у Вас грузить его до запуска Виндовс
Ответ отправлен: 15.05.2002, 14:39
Отправитель: kostik
Отвечает UFO
Доброе время суток, Eugene!
Это уже становится интересным, как это в ХР грузиться до виндов?
Ну да лана, бог с ним, - раз ты умеешь значит умеешь :) - этого не отнять :)
Ну, а простые смертные, такие как я, ставят себе версию 4.05 для NT,а потом меняют 2 файла ntice.sys и sivwid.sys, криво с глюками, но, бывает и работает.
Ответ отправлен: 15.05.2002, 14:45
Отправитель: UFO
Отвечает masquer
Здравствуйте, Eugene!
Под 2000 я у себя вручную его запускаю, по мере необходимости. И у меня стоит DriverStudio 2.6 - там айс 4.26. Попробуй более новую версию достать. Убедись что это версия для NT/2k/XP, они отличаються от 9х.
Ответ отправлен: 15.05.2002, 17:28
Отправитель: masquer
Отвечает Broken Sword
Добрый день, Eugene!
Про все SoftIce X.XX под XP забудь, т.к. под XP идет тока Soft Ice из комплекта Numega Driver Studio 2.5 (я имею ввиду, что Numega закрыла SoftIce, как отдельный продукт и влепило его в Driver Studio, а все старые (отдельные) софтайсы под XP не катят)
Ответ отправлен: 15.05.2002, 19:49
Отправитель: Broken Sword
Отвечает Евгений
Доброе время суток, Eugene!
Существует специальная версия Softice for XP, входит в Driver Studio 2.6 от Numega
Ответ отправлен: 15.05.2002, 23:51
Отправитель: Евгений
Вопрос № 176 |
Уважаемые эксперты,
подскажите как можно обратиться к BOISу видеокарты (мне необходимо считать от туда Название видеокарты).
Если Вас не затруднит, то пожалуйста напишите пример такой программы считывающей Название видеокарты (модель).
(желательно на языке Assembler)
Вопрос отправлен: 15.05.2002, 14:14
Отправитель: Igvek
[Следующий вопрос >>] [Список вопросов]
Отвечает Beeblebrox
Приветствую Вас, Igvek!
Запусти досовский debug.exe и посмотри сегмент C000
Ответ отправлен: 15.05.2002, 15:44
Отправитель: Beeblebrox
Отвечает --- Нет данных ---
Приветствую Вас, Igvek!
int 10h AH=4fh AL=00 - получить общую SVGA-информацию.
Inp.:
AX = 4F00h
ES:DI -> buffer for SuperVGA information
Return: AL = 4Fh if function supported
AH = status
00h successful
ES:DI buffer filled
01h failed
-------------------------------
Format of SuperVGA information:
Offset Size Description
00h 4 BYTEs (ret) signature ("VESA")
(call) VESA 2.0 request signature ("VBE2"), required to receive
version 2.0 info
04h WORD VESA version number (one-digit minor version -- 0102h = v1.2)
06h DWORD pointer to OEM name
"761295520" for ATI
0Ah DWORD capabilities flags (see #00078)
0Eh DWORD pointer to list of supported VESA and OEM video modes
(list of words terminated with FFFFh)
12h WORD total amount of video memory in 64K blocks
---VBE v1.x ---
14h 236 BYTEs reserved
---VBE v2.0 ---
14h WORD OEM software version (BCD, high byte = major, low byte = minor)
16h DWORD pointer to vendor name
1Ah DWORD pointer to product name
1Eh DWORD pointer to product revision string
Ответ отправлен: 15.05.2002, 19:13
Отправитель: --- Нет данных ---
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (58) C / C++ (33) Perl (11) Delphi (20) Pascal (32) Basic / VBA (16) Java / JavaScript (12) PHP (8) MySQL / MSSQL (6) |
Пользователю Windows 95/98/Me (56) Windows NT/2000/XP (40) "Железо" (45) Поиск информации (19) |
Администратору Windows NT/2000/XP (16) Linux / Unix (10) |
Юристу Гражданское право (17) Уголовное право (4) Семейное право (8) Трудовое право (9) КоАП (6) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||