Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 368
от 16.09.2002, 01:50
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 1246 Отправлено ответов: 3857 Активность: 309.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Kiss Статус: Начальный Общий рейтинг: 141.93 [Подробней >>] |
SonicX Статус: Доверительный Общий рейтинг: 123.29 [Подробней >>] |
Sinner Статус: Доверительный Общий рейтинг: 106.35 [Подробней >>] |
Dron Статус: Профессиональный Общий рейтинг: 120.39 URL: Операционная система с нуля! [Подробней >>] |
kvINT Статус: Профессиональный Общий рейтинг: 111.53 Телефон: (34316)2-31-45 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 157.37 [Подробней >>] |
ASMодей Статус: Опытный Общий рейтинг: 123.88 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 134.83 URL: моя рассылка по Protected Mode [Подробней >>] |
DiGiT[old] Статус: Начальный Общий рейтинг: 115.55 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 128.46 URL: Страничка рассылки по Паскаля... Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
Portnov Статус: Профессиональный Общий рейтинг: 122.04 URL: Мой сайтик... [Подробней >>] |
Артём Шегеда Статус: Профессиональный Общий рейтинг: 118.2 URL: Пристанище неодинокого программиста [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 119.57 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 1220. Здравствуйте!!! Как отличить версию WindowsNT комерческую от отладочной. Можно ли это сделать имея т... (ответов: 1)
Вопрос № 1221. Уважаемые эксперты! Помогите пожалуйста в решении проблемы: У нас на работе 8 "386" компов... (ответов: 4)
Вопрос № 1224. Доброе время суток, уважаемые эксперты! Я снова по поводу вопроса № 1221. Спасибо всем, кто прислал ... (ответов: 3)
Вопрос № 1225. Ув. эксперты! У кого есть инфа про команду LCS (загрузить регистр CS), 100% помню де то читал нечто ... (ответов: 5)
Вопрос № 1226. Люди, читаю сектор дискеты, однако чтение, по-моему, не происходит (нет знакомого треска). Boot-сект... (ответов: 6)
Вопрос № 1227. обшение c usb средствами assembler'a! ясна что такое возможно , вопрос не в этом. возможно ли такое ... (ответов: 2)
Вопрос № 1228. Здравствуйте ув. Эксперты! Помогите, пожалуйста, разобраться с указателями на Фасме под мастдай. Доп... (ответов: 3)
Вопрос № 1229. Доброе время суток, уважаемые эксперты! В приложении приведены inline-подстановки на языке Pascal. В... (ответов: 5)
Вопросов: 8, ответов: 29
Вопрос № 1220 |
Здравствуйте!!!
Как отличить версию WindowsNT комерческую от отладочной.
Можно ли это сделать имея только дистрибутив (не устанавливая систему). И вообще пишется ли на обложке диска с WinNT, какая там находится версия?
Спасибо
Вопрос отправлен: 11.09.2002, 02:19
Отправитель: Сергей (cppdummy@narod.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Kiss
Доброе время суток, Сергей!
Как правило на обложке пишут версию, но если нет то вызови свойства 'Моего компьютера' или поставь прожку определения конфигураций 'компутера'!
С уважением Kiss!
Ответ отправлен: 11.09.2002, 08:03
Отправитель: Kiss
Вопрос № 1221 |
Уважаемые эксперты! Помогите пожалуйста в решении проблемы: У нас на работе 8 "386" компов; дос из под 98 окошек... На каждом из этих компов переодически пропадают файлы, причем не полностью, а частично. Размер файла показываемый досом, нортоном или волковым несоответствует его реальному размеру. Причем, если открыть файл на редактирование ( в том же нортоне или волкове), ввести один байт, стереть его и сохранить "изменения", то мы снова видим реальный размер данного файла и, соответственно, имеем доступ к нему.
Прошу прощения за запутанное объяснение! Это с непревычки!:)
Буду признателен за любые советы и здравые предположения!:)
Вопрос отправлен: 11.09.2002, 09:26
Отправитель: Vitally
[Следующий вопрос >>] [Список вопросов]
Отвечает SonicX
Приветствую Вас, Vitally!
Очень вероятно что у вас на компах плохо написанный stealth-вирь.
Ответ отправлен: 11.09.2002, 20:07
Отправитель: SonicX
Отвечает Sinner
Добрый день, Vitally!
Не знаю, как в твоем случае, но у меня когда-то такая проблема решилась отключением smartdrv.
Стало медленнее, но надежнее...
Ответ отправлен: 11.09.2002, 11:23
Отправитель: Sinner
Отвечает Dron
Приветствую Вас, Vitally!
Хм.. интересно...
Темные силы эллектричества наверное... :)
Могу предположить что это вирус.
Или проверить на наличие посторонних резидентов... всякое может быть.
Ответ отправлен: 11.09.2002, 11:37
Отправитель: Dron
Отвечает Kiss
Добрый день, Vitally!
Возможно это просто вирусняк, хотя может быть, что развелся народ котоый издевается над людьми трудящимися. Говорю так, потому что знаком с подобными ситуациями. Также может быть что у Вас очень большой 'винт', и старая версия Dos, подробно о такой проблеме я находил описание в Левине!
С уважением Kiss
Ответ отправлен: 11.09.2002, 11:51
Отправитель: Kiss
Вопрос № 1224 |
Доброе время суток, уважаемые эксперты!
Я снова по поводу вопроса № 1221.
Спасибо всем, кто прислал ответы.
Самый большой винчестер, который у нас стоит - 80 метров. Версия Дос, как я уже говорил, взята из под 98 Виндов(SE). Компьютеры обслуживают швейные машины, так что никаких посторонних программ, резидентов и пр. там нет. СмартДрайв не используем....
Самое интересное, что такая проблема происходит не только с файлами, которые УЖЕ на винте, но и теми которые ТОЛЬКО ЧТО переписаны. Беру дискету на которой находится какой-то (нормальный) файл, переношу его командой copy и вижу вместо 31000 байт - 28000 байт... Запускаю Нортон, нажимаю F4 записываю пробел, удаляю пробел, сохраняю "изменения" - 31000 байт!
Вопрос отправлен: 11.09.2002, 13:11
Отправитель: Vitally (Vitally@inbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Dron
Приветствую Вас, Vitally!
Хм.. вероятно всетаки какие-то программы...
давай локализовать проблему...
во первых возьми DOS 6.22 загрузись с дискетки и проверь нормально ли обрабатываются файлы... возможно Win98 не рассчитан на трешки и допускает какой-то глюк?
или всетаки для выявления...
загружаясь нажми F8
все отключи (config.sys, autoexec.bat)
и попробуй проконтролировать размеры файлов. попереписывать, посмотреть. если не поможет - виновата винда или сделай MEM /D и погляди или мне пошли. если поможет надо искать дальше... смотри что грузится.
Ответ отправлен: 11.09.2002, 13:39
Отправитель: Dron
Отвечает SonicX
Здравствуйте, Vitally!
Проверь компы свежим AVP что нибудь да найдешь.
Ответ отправлен: 11.09.2002, 20:07
Отправитель: SonicX
Отвечает Kiss
Здравствуйте, Vitally это снова Kiss!
Как у Вас на работе с антивирусами? Возможно на дискете и занесли вирус который над вами издевается!
С уважением Kiss!
Ответ отправлен: 11.09.2002, 14:29
Отправитель: Kiss
Вопрос № 1225 |
Ув. эксперты! У кого есть инфа про команду LCS (загрузить регистр CS), 100% помню де то читал нечто типа такого: "... если мы внимательно посмотрим на таблицу опкодов, то заметим, что в таблице опкодов интела в череде опкодов LDS, LES, LSS и LFS есть пусатая ячейка. Как не трудно догадаться - это недокументированная команда LCS.".
У кого есть этот текст - плз вышлите мне на мыло.
p.s. советую ВСЕМ посмотреть на ЭТО:
http://www.256b.com/processDownload.php?demoId=225
Вопрос отправлен: 11.09.2002, 14:06
Отправитель: Broken Sword (brokensword@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает kvINT
Доброе время суток, Broken Sword!
Ни хрена себе! И всего 256 байт!
Ответ отправлен: 11.09.2002, 19:48
Отправитель: kvINT
Отвечает SonicX
Здравствуйте, Broken Sword!
LCS? Бред и чтоже должно быть в этой "пусатой ячейке"?
Ответ отправлен: 11.09.2002, 20:07
Отправитель: SonicX
Отвечает masquer
Добрый день, Broken Sword!
Я такую инфу нашел, касается 486 проца:
MOV CS, ... is not allowed, since this is already subsumed by JMPs.
LCS ... is not allowed either for the same reason.
Судя по всему эта инструкция работала только для троек и ниже, хотя...
Демки вообще прикольные штуки, красивая трубка :)
Ответ отправлен: 11.09.2002, 14:47
Отправитель: masquer
Отвечает ASMодей
Доброе время суток, Broken Sword!
Примерно с полчаса изучал таблицу опкодов и не нашел никакой
последовательности в этих кодах:
LDS = C5
LES = C4
LSS = 0F B2
LFS = 0F B4
LGS = 0F B5
Единственный пропущенный код здесь - это 0F B3, но это опкод
команды BTR.
Ответ отправлен: 12.09.2002, 11:36
Отправитель: ASMодей
Отвечает ASMодей
Доброе время суток, Broken Sword!
Примерно с полчаса изучал таблицу опкодов и не нашел никакой
последовательности в этих кодах:
LDS = C5
LES = C4
LSS = 0F B2
LFS = 0F B4
LGS = 0F B5
Единственный пропущенный код здесь - это 0F B3, но это опкод
команды BTR.
Ответ отправлен: 12.09.2002, 11:36
Отправитель: ASMодей
Вопрос № 1226 |
Люди, читаю сектор дискеты, однако чтение, по-моему, не происходит (нет знакомого треска). Boot-сектор работает, читаю так:
CSEG segment
.186
org 7c00h
begin:
sti
mov ah,0
mov dl,0
int 13h
mov bx,1000h
mov es,bx
mov bx,0
mov dl,0
mov dh,0
mov cx,2h
mov al,2h
int 13h
push 1000h
push 0h
retf
CSEG ends
end begin
Компилю masm'ом, пишу в 0:0:1 дискеты, затем в 0:0:2 сектор 2, но до него управление гне доходит почему???
Вопрос отправлен: 11.09.2002, 15:25
Отправитель: Шурик
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Привет Шурик!
А номер функции в ah слабо положить перед вторым вызовом int 13h, ато ah у тебя останется равен нулю после первого (если все ОК).
Ответ отправлен: 11.09.2002, 18:41
Отправитель: Broken Sword
Отвечает SonicX
Здравствуйте, Шурик!
FDD не всегда готов. Прочти сектор если AH<>0 то прочти еще раза три, если нет то нет.
Ответ отправлен: 11.09.2002, 20:08
Отправитель: SonicX
Отвечает Kiss
Добрый день, Шурик!
У меня есть ответ на твой вопрос! Ты используешь int 13h, хотя стоило бы использовать int 25h и вся проблема.
Могу предложить прогу по проще и короче. Обращайся!
С уважением Kiss.
Ответ отправлен: 11.09.2002, 16:21
Отправитель: Kiss
Отвечает DiGiT[old]
Добрый день, Шурик!
А там конец сектора должен заканчиваться 55AA или AA55 посмотри на своем жестком.
Ответ отправлен: 12.09.2002, 05:02
Отправитель: DiGiT[old]
Отвечает ASMодей
Доброе время суток, Шурик!
А под отладчиком посмотреть не смог?
У тебя же не задается номер функции в AH.
Ответ отправлен: 12.09.2002, 12:34
Отправитель: ASMодей
Отвечает Sinner
Доброе время суток, Шурик!
CSEG segment
.186
org 7c00h
begin:
sti
mov ah,0
mov dl,0
int 13h
mov bx,1000h
mov es,bx
mov bx,100h
mov dl,0
mov dh,0
mov cx,2h
mov al,2h
int 13h
mov word ptr ds:[0],100h
mov word ptr ds:[2],5000h
jmp dword ptr ds:[0]
CSEG ends
end begin
Ответ отправлен: 13.09.2002, 02:46
Отправитель: Sinner
Вопрос № 1227 |
обшение c usb средствами assembler'a!
ясна что такое возможно , вопрос не в этом. возможно ли такое из под дос, есть ли примеры,
может кто знает.
АПИ винды или линуксы не считается, мне нужно всё своими руками.
возможно ли написание программки из под дос для работы с usb.
вообще, откуда начать? только не со спецификации usb, она уже есть. посоветуйте что -нить дельное.
Заранее спасибо.
Вопрос отправлен: 11.09.2002, 17:38
Отправитель: shingrus (shing@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Здравствуйте, shingrus!
Так в спецификации все написано!
Длоя программиста там самая интересная Глава 9
Ответ отправлен: 11.09.2002, 17:55
Отправитель: Sensey
Отвечает ASMодей
Доброе время суток, shingrus!
Насколько я понимаю, для работы с USB должен быть какой-то
контроллер (наподобие контроллера последовательного порта).
И если в спецификации по USB есть описание работы с этим
контроллером через порты, то можно писать программу и для DOS.
А вообще можно найти драйвер USB для Linux, и если он
распространяется с открытыми исходниками, посмотреть как это
делается там.
Ответ отправлен: 12.09.2002, 12:34
Отправитель: ASMодей
Вопрос № 1228 |
Здравствуйте ув. Эксперты!
Помогите, пожалуйста, разобраться с указателями на Фасме под мастдай.
Допустим есть в EAX указатель на некую структуру.
Как теперь добраться до конкретного поля этой структуры?
Тоесть
struc POINT
{
.x dd ?
.y dd ?
}
point POINT
mov edx, [point.x] ;Так работает.
А теперь допустим нет у нас никакого point-а, но есть указатетель на POINT. Как теперь добраться к полям? Где тыкнуть этот самый тип POINT?
Заранее благодарю.
Вопрос отправлен: 12.09.2002, 01:26
Отправитель: Бадян (sba@litech.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Здравствуйте, Бадян!
Через EAX не получится, надо EBX, но не в том проблема. Делается это так. Пусть в EBX указатель на структуру. Тогда mov edx,[ebx] положит в EDX значение Point.x, а mov edx,[ebx+4] - значение Point.y. Вообще, все просто: в квадратных скобках EBX, потом плюс :), потом смещение поля относительно начала структуры. Последнее легко вычислить, зная размеры полей: складываете все размеры полей с первого до того, к которому обращаетесь (не включая его), и усе. Предположим, более сложная структура:
struc MyStruc
field1 dd ?
field2 db ?
field3 dw ?
field4 db ?
endstruc
(синтаксис смешанный, т.к. с Фасмом вашим я не работал, но, думаю, понятно:)). Так вот, опять же, если в EBX укзатель на эту структуру, то для обращения к полю field4 надо писать [ebx+6], т.к. sizeOf(dd)+sizeOf(db)+sizeOf(dw)=4+1+2=6.
С уважением, Portnov.
Ответ отправлен: 12.09.2002, 12:25
Отправитель: Portnov
Отвечает ASMодей
Доброе время суток, Бадян!
Придется делать так:
struc POINT
{
.x dd ?
.y dd ?
}
virtual at 0
point POINT
end virtual
mov edi,Address ;Указатель на POINT
mov edx,[edi+point.x]
Ответ отправлен: 12.09.2002, 12:35
Отправитель: ASMодей
Отвечает masquer
Здравствуйте, Бадян!
ASSUME edx:PTR POINT
Ответ отправлен: 12.09.2002, 16:56
Отправитель: masquer
Вопрос № 1229 |
Доброе время суток, уважаемые эксперты! В приложении приведены inline-подстановки на языке Pascal. Возможно ли их перевести на язык ассемблера, как это будет выглядеть?
(И значат ли что-нибудь {@0:}, {@1:}, {@2:}?)
Есть ли какие-нибудь правила или закономерности? Заранее признателен за любую помощь, подсказку или ссылку на информацию.
Где можно найти последний TechHelp?
Приложение:
Вопрос отправлен: 12.09.2002, 01:43
Отправитель: undying (undying@ezmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Kiss
Добрый день, undying!
На пасе я не программлю но про {@0:}, {@1:}, {@2:}- слышал сто это отключение макросов, или чтото вроде того!
С уважением Kiss!
Ответ отправлен: 12.09.2002, 09:38
Отправитель: Kiss
Отвечает Артём Шегеда
Доброе время суток, undying!
Твой inline-код дизассемблируется так:
cs:0100 0E push cs
cs:0101 E80000 call 0104
cs:0104 5B pop bx
cs:0105 83EB04 sub bx,0004
cs:0108 07 pop es
cs:0109 53 push bx
cs:010A B4C3 mov ah,C3
cs:010C 26886711 mov es:[bx+11],ah
cs:0110 90 nop
cs:0111 90 nop
cs:0112 B490 mov ah,90
cs:0114 26886711 mov es:[bx+11],ah
cs:0118 90 nop
cs:0119 5B pop bx
все числа - шестнадцатиричные. Очевидно, что в этой вставке идёт модификация кода программы по адресу 11h. Туда забивается машинный код инструкции ret. Для чего - похоже на то, что программа проверяет: есть ли в процессоре контроль модификации кода, уже помещённого в конвейер процессора.
Ответ отправлен: 12.09.2002, 12:01
Отправитель: Артём Шегеда
Отвечает Ayl
Приветствую Вас, undying!
Конечно, возможно. См. Приложение.
По поводу {@1} и т.д. - я думаю, что это просто комментарии для лучшего понимания...
Приложение:
Ответ отправлен: 12.09.2002, 12:47
Отправитель: Ayl
Отвечает masquer
Приветствую Вас, undying!
Судя по всему это опкоды команд, ну, по памяти, напрмер 90 - nop, и так далее. В hiew смотри.
Ответ отправлен: 12.09.2002, 16:50
Отправитель: masquer
Отвечает Sinner
Приветствую Вас, undying!
см. приложение
Приложение:
Ответ отправлен: 13.09.2002, 03:48
Отправитель: Sinner
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (42) C / C++ (28) Perl (10) Delphi (14) Pascal (24) Basic / VBA (11) Java / JavaScript (12) PHP (9) MySQL / MSSQL (11) |
Пользователю Windows 95/98/Me (39) Windows NT/2000/XP (30) "Железо" (37) Поиск информации (12) |
Администратору Windows NT/2000/XP (14) Linux / Unix (15) |
Юристу Гражданское право (10) Семейное право (6) Трудовое право (8) КоАП (5) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||