Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
"Ассемблер? Это просто! Учимся программировать
(FAQ)"
Выпуск №
176
от 29.01.2002, 02:05
Администратор: Калашников Олег
Сайт
Администратора: Программирование на
Ассемблере
Старейшины
рассылки |
1. Broken Sword - ответов: 329. 2. Painbringer (нечто наподобие домашней страницы) - ответов: 309. 3. Sensey - ответов: 278. 4. Dron (Операционная система с нуля!) - ответов: 242. 5. змей - ответов: 167. |
От Администратора |
Песня месяца: http://asm.kalashnikoff.ru/muz/song.mp3 (3Mb). Песню закачал: Калашников Олег.
Внимание! Вы будете загружать песню на свой страх и риск! Если она вам не понравится, то никто за это ответственности не несет!!!
Новости |
Вопрос № 118 |
Снова Вас беспокоит pasha. Спасибо за ответы, разобрался. Но возник новый вопрос. Запускал я программу (урок №7) в afdpro и cv. Вижу следующее:
mov sp, 0109---sp=0109, ax=0000. все правильно. Далее:
mov ax,9090---по идее AX должен стать равным 9090, однако он стал равен 20CD, код int 20- CD20.
Потом появляются следующие строки:
INC SI
ADD DH, SS:[BP+DI], а push ax и int 20- исчезли
MOV AH,9
В CV аналогично, но появляются строки:
ADD AX, WORD PTR[BX+DI]
OR BYTE PTR[3102],CH
MOV AH,9
Подозреваю, что сии вопросы возникли от того, что я не ознакомлен с help-ами к afd и cv. Скачал masm с kalashnikoff.ru, там вроде есть help к cv, но открыть его не могу ни из dos, ни из far, ни в наглую из offis2000. Подскажите пожалуйста как открыть или где взять описания.
Отправитель: pasha
Вопрос отправлен: 23.01.2002, 10:55
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает DiGiT
Здравствуйте, pasha!
Так ты пиши Mov ax,9090h(а не просто 9090)
или диррективу radix 16
Отправлено: 23.01.2002, 11:40
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 157)
ICQ:133534725
Russia(),Student
_______________
Отвечает Broken Sword
Приветствую Вас, pasha!
А ты почитай предыдущий (6) выпуск и найди такое:
...
Данный пример - типичный случай "заламывания рук" отладчикам (но не SoftIce!). И вы уже можете это делать!
...
Вывод один: указанные выше отладчики используют стек пользовательской программы (что это значит - думаю, вы разберетесь).
...
Вот и разбирайтесь! :)
На самом деле мне кажется, что тут уважаемый Олег специально ушел от объяснений, это размытое понятие :). Но я попытаюсь чето объяснить по мере возможности, т.е. конкретно то, почему левые команды в отладчике появляются.
Вот существует такой важный, помойму, момент, который почему то упускают из виду, не придают ему значения. А в нем все и заключается! Дело в том, что ПОСЛЕ первой выполненной команды почти каждый отладчик кладет в стек отладночную инфу для себя чисто (например, айпишник IP по смещению 6 (AFD), и 5 (cv) (в зависимости от отладчика - вот почему cv и afdpro дают разный код!!!!!!!!! см. дальше почему). При изменении значения SP отладчик сразу оживает, начинает перепуганно метаться, короче хвататет весь стек до 4 колена (в нашем примере, т.к. в стеке именно столько слов к этому моменту) и тащит за собой, не беспокоясь о коде, который затрет (ведь ты внимательно посмотри на команды, к-рые возникли после и даже ВМЕСТО mov ax,9090h - это ж чистая копия стека до 4 поколения включительно (4 слова всего, если бы до изменения sp мы напихали в стек еще какойнить хрени, то после изменения sp изменилось бы гораздо больше байт кода)
Так вот, у нас первая команда - mov sp,0109h, тут мы все мосты отладчику сжигаем, но он ничего и неподозревает! ...
Вообщем, я так понимаю, а понятнее объяснить не могу... :(
Короче, резюме - после изменения SP В ОТЛАДЧИКЕ (!) весь стековый кадр копируется в то место, которое мы заносим в sp, слава богу хоть IP-шник сохраняется тот что нам нада!!!
p.s. я тут в приложении переделал немного ту прогу (Олег, извини за нарушение копирайтов), так что она теперь будет выводить строку КАК В ОТЛАДЧИКЕ, ТАК И ПРИ RUN-е. Вся переделка состоит в добавлении нескольких nop-ов, зато теперь в ЛЮБОМ отладчике ты реально можешь все отследить и увидеть.
p.p.s. в отладчике все реально увидеть и отследить нам удастся лишь по счастливой случайности, т.к. в стеке небыло каких нить int и т.п. к тому моменту, как мы изменили sp .... вообщем, смотри и увидишь сам все!
Приложение:
Отправлено: 23.01.2002, 14:14
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 329)
ICQ#64476575
Украина, Одесса
_______________
Отвечает Frank
Приветствую Вас, pasha!
Help'ы тут не причем, в том же 7-м номере сказано, что эти отладчики довольно примитивны и используют тот же стек, что и наша программа, т.е. во время работы они сами пишут туда свою информацию.
Во общем обломался отладчик. (С Soft-Ice'ом такое не пройдет :) )
P.S. Если все-таки если надо, то у меня есть русская документация к CodeView V1.0 1987г рождения.
Отправлено: 25.01.2002, 07:51
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 27)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
Вопрос № 120 |
Здравствуйте,уважаемые эксперты!
Дайте, пожалуйста, полное описание функции 86h прерывания 15h, т.е. какие входные данные, какие выходные, где используется...
Знаю только, что это пауза, и при входе в регистр сх и дх грузятся старшее и младшее число микросекунд паузы, но как эти числа выбираются?
Например, мне нужно чтобы между выводами букв в проге была пауза в 30 мкс (40,50,60),т.е. сперва выводится первая буква, затем через 30(40,50,60)мкс - вторая, потом через такой же промежуток - третья и т.д.
Заранее благодарю.
Отправитель: Эдуард
Вопрос отправлен: 24.01.2002, 01:05
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Broken Sword
Приветствую Вас, Эдуард!
INT 15 86-- - BIOS - WAIT (AT,PS)
Category: B - BIOS
Inp.:
AH = 86h
CX:DX = interval in microseconds
Return: CF clear if successful (wait interval elapsed)
CF set on error or AH=83h wait already in progress
AH=status
Note: the resolution of the wait period is 977 microseconds on many systems because many BIOSes use the 1/1024 second fast interrupt from the AT real-time clock chip which is available on INT 70; because newer BIOSes may have much more precise timers available, it is not possible to use this function accurately for very short delays unless the precise behavior of the BIOS is known (or found through testing)
Отправлено: 24.01.2002, 05:10
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 329)
ICQ#64476575
Украина, Одесса
_______________
Отвечает UFO
Доброе время суток, Эдуард!
INT 15H: расширенный сервис AT
INT 15H обрабатывает специфические функции AT
ПодФнк: 00H Cass motor ON 80H Device Open 86H Wait
01H Cass motor OFF 81H Device Close 87H Move Extended Mem Block
02H Read cassette 82H Program terminate 88H Get Extended Mem Size
03H Write cassette 83H Event wait 89H Switch to Virtual Mode
84H Joystick 90H Device Busy Loop
85H SysReq key 91H Finish Interrupt
замечание: Кассетные подфункции опущены для краткости (мне не нужны, а вам?)
AH сервис
--- ----------------------------------------------------------------------------
80H открыть устр. возвращает, ничего не делая. См. подфункции 90H и 91H.
вход: BX = ID устройства; CX = ID процесса
--- ----------------------------------------------------------------------------
81H Закрыть устр. возвращает, ничего не делая. См. подфункции 90H и 91H.
вход: BX = ID устройства; CX = ID процесса
--- ----------------------------------------------------------------------------
82H завершить программу устройства. Ничего не делает. См. 90H и 91H.
вход: BX = ID устройства
--- ----------------------------------------------------------------------------
83H Ждать события. Запустить таймер и установить флаг по истечении интервала.
вход: AL = код подфункции:
AL = 0: уст. интервал (и запустить таймер)
ES:BX = адрес пользовательского байта. бит 7 в этом байте
будет включен по истечении интервала.
CX,DX = длина интервала в микросекундах (CX - старшая часть)
AL = 1: отменить ожидание события.
--- ----------------------------------------------------------------------------
84H Обеспечение джойстика.
вход: DX = код подфункции:
DX = 0: читать текущие переключатели
возврат: AL = значения переключателей (биты 7-4)
DX = 1: читать входы X,Y джойстика
возврат: AX = джойстик 'A', значение X (горизонталь)
AX = джойстик 'A', значение Y (вертикаль)
AX = джойстик 'B', значение X (горизонталь)
AX = джойстик 'B', значение Y (вертикаль)
--- ----------------------------------------------------------------------------
85H клавиша SysReq. Эта функция ничего не делает. вызывается прерыванием
INT 09H при нажатии и отпускании клавиши SysReq. Идея состоит в том, чтобы
операционная система перехватывала INT 15H и выдавала подфункцию 85H,
чтобы отслеживать состояние (нажата или отпущена) клавиши SysReq.
вход: AL = 0: SysReq нажата ('make')
AL = 1: SysReq отпущена ('break')
--- ----------------------------------------------------------------------------
86H Ждать. Циклит с разрешенными прерываниями до истечения интервала времени.
вход: CX,DX = сколько микросекунд ждать до возврата к пользователю
--- ----------------------------------------------------------------------------
87H Переслать блок extended-памяти. перемещает блок памяти в extended-память и
из нее (RAM выше 1 мегабайта на компьютерах │286│ ).
вход: ES:SI => таблица глобальных дескрипторов (GDT) - см. ниже.
CX = счетчик пересылаемых 16-битовых слов (максимум = 8000H = 32K)
выход: Carry-флаг = 1 при ошибке.
AH = 0 нет ошибки AH = 2 прерывание по исключению
AH = 1 ош. четности RAM AH = 3 gate address line 20 failure
структура GDT для подфункции 87H
ES:[SI]+00H Фиктивный дескриптор (обнуляет пользователь)
ES:[SI]+08H дескриптор этой GDT (обнуляет пользователь)
ES:[SI]+10H дескриптор блока источника (см. ниже)
ES:[SI]+18H дескриптор блока назначения (см. ниже)
ES:[SI]+20H кодовый сегмент для BIOS (обнуляет пользователь)
ES:[SI]+28H стековый сегмент для BIOS (обнуляет пользователь)
;---------- пример GDT для INT 15H, подфункции 87H
INT_15_GDT label byte
DB 8 dup(0) ;фиктивный
DB 8 dup(0) ;эта GDT
DW 0 ;source block "limit" value
SRC_LO DW ? ;24-битовый адрес
SRC_HI DB ?
DB 93H ;права доступа (read/write data seg)
DW 0 ;резерв
DW 0 ;target block "limit" value
DEST_LO DW ? ;24-битовый адрес
DEST_HI DB ?
DB 93H ;права доступа (read/write data seg)
DW 0 ;резерв
DB 8 dup(0) ;code segment setup by BIOS
DB 8 dup(0) ;stack segment setup by BIOS
;---------- конец примерной GDT
замечание: прерывания запрещаются в процессе перемещения данных, так что, если
вы запускаете пачку конкурирующих процессов асинхронной передачи,
избегайте перемещения больших объемов данных. См. VDISK.SYS
--- ----------------------------------------------------------------------------
88H дать размер extended-памяти.
выход: AX = число непрерывных 1K блоков сверх 1M (1024K)
--- ----------------------------------------------------------------------------
89H Войти в режим Protected (286 Virtual memory). это хитрая штука, если вы не
знаете, что делаете. Лучше изучите эту функцию по листингу BIOS.
вход: ES:SI => 8-элементная таблица глобальных дексрипторов (GDT) (ниже)
BH = смещение в IDT начала первых 8 аппаратных прерываний
BL = смещение в IDT начала вторых 8 аппаратных прерываний
выход: AH = 0, если не было ошибок
все сегментные регистры изменяются. AX и BP теряются.
80286 входит в режим Protected без прямого выхода в режим Real.
структура GDT для подфункции 89H
ES:[SI]+00H фиктивный дескриптор (обнуляет пользователь)
ES:[SI]+08H дескриптор этой GDT (инициализирует пользователь)
ES:[SI]+10H дескриптор для IDT (инициализирует пользователь)
ES:[SI]+18H дескриптор для caller DS (инициализирует пользователь)
ES:[SI]+20H дескриптор для caller ES (инициализирует пользователь)
ES:[SI]+28H дескриптор для caller SS (инициализирует пользователь)
ES:[SI]+30H дескриптор для caller CS (инициализирует пользователь)
ES:[SI]+38H временный BIOS CS (обнуляет пользователь)
--- ----------------------------------------------------------------------------
90H Цикл занятости устройства. Ничего не делает. Я полагаю, что, если ваши
инициалы - MS или DR, вы можете перехватывать эту функцию и заставить
ее что-то делать.
вход: AL = код типа устройства
00H = твердый диск
01H = дискета
02H = клавиатура
80H = сеть
ES:BX => управляющий блок сети
fdH = запуск мотора дискеты
feH = принтер
--- ----------------------------------------------------------------------------
91H завершить прерывание. Ничего не делает. Идея здесь - предоставить механизм
для обработчика устройства, чтобы проверять занятость устройства. когда
обработчик завершил обработку запроса, он может использовать эту функцию,
чтобы дать знать системе, что устройство свободно.
вход: AL = код типа устройства (см. подфункцию 90H)
AL = 00H - 7fH: последовательно используемые устройства
AL = 80H - bfH: реентерабельные устройства (ES:BX => пакет данных)
Отправлено: 24.01.2002, 09:25
Отправитель: UFO (регистрация: 28/12/2001, ответов на счету: 89)
Россия, Южно-Сахалинск
_______________
Отвечает Dron
Приветствую Вас, Эдуард!
одна микросекунда - это одна милионная секунды...
такого интервала ты просто не заметишь...
если в милисекундах - то проще...
30000 мкс -
mov cx, 30000 / 65536
mov dx, 30000 % 65536
mov ah, 86h
int 15h
jc FnBusy
Синтаксис правда nasm-овый...
Отправлено: 24.01.2002, 11:47
Отправитель: Dron (регистрация: 28/12/2001, ответов на счету: 242)
URL: http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!
_______________
Отвечает DiGiT
Здравствуйте, Эдуард!
Так как как cx-старшая половина,а dx -младшая.
Т.е. вместе образуют число 32 битное.
Ниже пример для задержки 11ffffh-микросекунд
Приложение:
Отправлено: 24.01.2002, 12:54
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 157)
ICQ:133534725
Russia(),Student
_______________
Отвечает Frank
Доброе время суток, Эдуард!
Вот выдержка из справочника:
INT 15 - BIOS - WAIT (AT,PS)
AH = 86h
CX:DX = interval in microseconds
Return: CF clear if successful (wait interval elapsed)
CF set on error or AH=83h wait already in progress
AH = status (see AH=84h)
Note: the resolution of the wait period is 977 microseconds on most systems because most BIOSes use the 1/1024 second fast interrupt from the AT real-time clock chip which is available on INT 70
Пробовал, но оно не хочет работать так как положено(мкс). Задержка в примерно 3 секунду у меня получается если CX=10h, DX=0, причем, то что лежит в DX по моему ни на что не влияет. Получается что задержка не CX:DX мкс, а 1/1024сек*CX:DX. Например в СХ=10h,DX=0 т. е. число 4096. 4096*1/1024=4сек,
но не уверен, что то все таки тут не так, или это башка моя дает сбои ;)
А еще меня смущают эти микросекунды: 1мкс=10^-6сек, а это очень маленький промежуток. Но реально 15h прерыванием получаются намного большие интервалы времени. Я бы на твоем месте брал по адресу 0:046C (Size Double Word) счетчик тиков таймера, он изменяется на 1 раз в 55 мс, т.е 18.2 раза в сек. А вообще подбирай как тебе надо значение регистра СХ. Пример прилагается.
Приложение:
Отправлено: 25.01.2002, 07:57
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 27)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
_______________
Отвечает Александр
Здравствуйте, Эдуард!
"Ну ты блин даёшь!" Это где ты откопал микросекунды??! Да с такой точностью тебе ни один из встроенных таймеров ничего не скажет. Все эти таймеры только в милисекундах измеряют. То есть 1000 раз медленнее, чем тебе надо. Ты повнимательнее прочитай описание этой функции, где написано - "точность 976 микросекунд". То есть не судьба тебе использовать эту функцию для своих очень быстрых целей, ведь несмотря на жуткую точность аргумента она всё равно оставляет за собой право ошибки на 1 милисекунду. Я думаю, что больше об этой функции тебе знать ничего не надо. Как эти числа выбираются? Вопрос непонятный, но постараюсь объяснить. А ты попытайся представить себе 32-х битное число(т.е от 0 до 4294967295) Запиши его в какой-нибудь двоичной или шестнадцатеричной системе счисления. Найди в нем середину. То что левее середины - в CX, то что правее - в DX. А микросекунда - это одна миллионная часть секунды. Врде бы ничего не забыл. Да, кстати. Если тебе действительно нужны такие малюсенькие задержки, то попытайся просто подогнать параметр количетва повторений пустого цикла, как это делалось в старых программах.
Отправлено: 25.01.2002, 08:20
Отправитель: Александр (регистрация: 28/12/2001, ответов на счету: 27)
Россия, Москва
Вопрос № 122 |
Доброе время суток.
Объясните мне, человеку недавно поставившему WinXP Pro RUS, а посему до сих пор пребываюшему в состоянии детской неожиданности, как при русской раскладке ставить запятые, точки - комбинация с ALT'ом не работает, судя по всему Windows окончательно зарезервировал ее как системную. Как/где можно это исправить. Переключаться на американскую раскладку только для того, чтобы поставить запятую - это... как-то медленно ;)
ЗЫ. Приношу свои извинения Эдуарду за неправильный ответ на вопрос 61 - лихо же я приравнял бридж стандарта IEEE 802.3 к IEEE 802.11 ;) Еще раз извиняюсь...
Отправитель: Эксперт DivX
Вопрос отправлен: 24.01.2002, 04:05
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает root
Добрый день, DivX!
Справа внизу на алфавитной клавиатуре клавиша "?/" - это при английской раскладке. При русской раскладке это точка, а с
Отправлено: 24.01.2002, 04:11
Отправитель: root (регистрация: 28/12/2001, ответов на счету: 21)
РГУ
URL: http://www.aofd.boom.ru - Когда-то будет homepage
ICQ: 92779849
Россия, Ростов-на-Дону
_______________
Отвечает Frank
Доброе время суток, DivX!
В винXP не работал, но в принципе в русской раскладке точка ставится нажатием клавиши "/" а запятая - Shift+"/"
Отправлено: 24.01.2002, 08:26
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 27)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
_______________
Отвечает Serik
Приветствую Вас, DivX!
С руской раскладкой кнопка(/)Это точка,(Shift
и /)Это запятая. Или используй программу виндовс
Таблица символов.
Отправлено: 24.01.2002, 15:52
Отправитель: Serik (регистрация: 18/01/2002, ответов на счету: 12)
URL: http://rusquest.boom.ru/ - Русские игры(проходилки) и другие материалы.
Украина, Первомаиск
_______________
Отвечает Tiger
Доброе время суток, DivX!
С ХРшкой я дела не имел, но могу предположить, что точка и запятая ставятся так же, как и в других местах, т.е. точка - нижний ряд, самая правая клавиша, а запятая - тоже самое, только с Shiftом.
ЗЫ: А вообще, я в первый раз слышу про эту проблему. :(( Мож у тебя дистрибут какой битый? :(
Отправлено: 24.01.2002, 19:38
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 56)
URL: http://www.tigeer.narod.ru - Что-то вроде того
Вопрос № 123 |
Добрый день!
--------------------------------------------------------------
Socket 423
1) Материнская плата ABIT BW7 Socket423
2)Материнская плата GigaByte GA-8IDX3 Socket423
Socket 478
1)Материнская плата ABIT BL7 S478
2)Материнская плата Chaintech CT-9BJA S478
3)Материнская плата GigaByte GA-8IDX Socket478
--------------------------------------------------------------
Какая из перечисленных материнских плат лучше. Обоснуйте ваш выбор пожалуйста.
P.S. Основываясь на вашем выборе будет зделана покупка.
-------------------------------
С наилучшими пожеланиями kuper.
Отправитель: kuper
Вопрос отправлен: 24.01.2002, 11:30
Подгруппа: Модели, виды и типы компьютеров (hard)
_______________
Отвечает DivX
Доброе время суток, kuper!
Socket 423 я сразу не принимаю во внимание - стандарт погубленный самой же Intel, а потому обреченный на скорую гибель.
Если вы не тяготеете разгону и избыточной комплектации платы
всяким ПО, то Chaintech-9BJA - это лучший выбор, тем более, что свою прямую обязанность показывать хорошую производительность она выполняет безупречно, обгоняя в большинстве тестов указанных конкурентов.
Вообще я бы советовал вам не торопиться с выбором чипсета i845. Дело в том, что он сделан intel на скорую руку,чтобы быстрее предложить платформу на DDR DRAM и поскорее прекратить "взаимовыгодное" сотрудничество с компанией Rambus. А посему особой производительностью не блещет. К слову, недавно появившиеся платы на VIA P4X266 обгоняют i845 на 5-10% ВО ВСЕХ тестах.
Отправлено: 24.01.2002, 12:40
Отправитель: DivX (регистрация: 28/12/2001, ответов на счету: 141)
_______________
Отвечает Cardinal
Добрый день, kuper
Так уж сложилось, что GigaByte представляет более лучшую продукцию. Но в выборе сокета - лично мое мнение 423.
GigaByte GA-8IDX3 Socket423 AGP+Audio AC"97 U100 3DIMM - хорошо работает, стабильно, безглючно. Полный (почти) набор функций работы с камнем и памятью (разгон и проч..) Посмотри на www.ixbt.com описания.
Отправлено: 25.01.2002, 17:36
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 7)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону
_______________
Отвечает Frank
Доброе время суток, kuper!
Не хочу советовать что-от от себя, поэтому посмотри обязательно эти ссылки:
http://ixbt.com/mainboard/roundup-i845-sept2k1.shtml
http://ixbt.com/mainboard/roundup-i845-oct2k1.shtml
http://ixbt.com/mainboard/roundup-i845-nov2k1.shtml
Там приводится тестирование мат. плат. под П4. Я бы при выборе обратил внимание на то, какая туда оперативка вставляется SDR,DDR или обе. Так же на внешнее качество самой платы, чтобы все было хорошо пропаяно.
Отправлено: 28.01.2002, 08:12
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 27)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
Вопрос № 124 |
Здравствуйте Эксперты. Я не помню точно, по-моему, пару месяцев назад, когда велись разговоры о новой рассылке про
защищенный режим, один из экспертов (может это был Вал.Ик.)
рассказывал про прогу в 20 байт, записывающую себя в случайный
файл с маской *.* и размножающуюся все время (увы, подробностей я не помню). Что-то типа безвредного вируса. Написали ее, вроде, после солидной порции пива. Не мог ли кто-нибудь из вас, выслать или опубликовать ее исходник? (Или дать на него ссылку).
Отправитель: TanaT (tanat@yes.ru)
Вопрос отправлен: 24.01.2002, 12:32
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Broken Sword
Здравствуйте, TanaT!
Да. На. Из 11-го инфектед войса. Кстати, я его полностью разобрал по полочкам, там всего 6 циклов, вообщем, смотри в почте преложение в xls-формате. А в этом приложении только код. Кстати, к сожаленью, больше такого типа прог в мире не существует (во всяком случае в нете точно нема).
p.s. про пиво - это гон. там реально сидело человек 5-6 и неделю ломало бошки
Приложение:
Отправлено: 24.01.2002, 17:45
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 329)
ICQ#64476575
Украина, Одесса
_______________
Отвечает Frank
Здравствуйте, TanaT!
Ну насчет очень уж безвредного не скажу ;)
Несколько лет назад выходил такой замечательный журнал про вирусы: Infected Voice назывался. В 11-м номере приводился исходник этого вира, так что смотри. Занимает он 22 байта.
P.S. Сам когда то вирусами увлекался, даже на паскале чето намутил, ну так для шутки все. Только помни за вирусы и посадить могут ;) Так что без фанатизма там...
Приложение:
Отправлено: 25.01.2002, 08:18
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 27)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
Вопрос № 125 |
Прошу прислать кто может delfi 3.0
С уважением Андрей.
Очень надо!
Отправитель: Volk (ulv@mail.kubtelecom.ru)
Вопрос отправлен: 24.01.2002, 12:55
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает Vladimir
Здравствуйте, Volk!
Дистрибутив Delphi3 (если Вы это имели ввиду) занимает около 70 МБ
С уважением
Отправлено: 24.01.2002, 13:14
Отправитель: Vladimir (регистрация: 28/12/2001, ответов на счету: 27)
Россия, Конаково Тверской обл.
_______________
Отвечает StiGGeR
Здравствуйте, Volk!
Болеешь? Он знаешь сколько весит?
Отправлено: 24.01.2002, 14:08
Отправитель: StiGGeR (регистрация: 02/01/2002, ответов на счету: 18)
ICQ: 125704802, FIDO: 2:5011/133
Россия, Уфа
_______________
Отвечает Serik
Здравствуйте, Volk!
К сожилению 3-го нету, но зато есть 5-ый(BEST)
Отправлено: 24.01.2002, 14:55
Отправитель: Serik (регистрация: 18/01/2002, ответов на счету: 12)
URL: http://rusquest.boom.ru/ - Русские игры(проходилки) и другие материалы.
Украина, Первомаиск
_______________
Отвечает Alexety
Здравствуйте, Volk!
Это, что шутка?
Тебе нужен delphi 3, он занимает больше 80 мб.
P.S.
Здравствуйте, Илья!
HF при каждом запуске проверяет наличие регистрации, вызывая процедуру, начало которой находится по адресу 0045C4BC, в начале этой процедуры, по адресу 0045C4D4 есть комманда условного перехода( jnz ), ее и надо изменить на противоположную( jz ), в каком нибудь редакторе типа HIEW.
Здравствуйте, Виталий!
Не могу сказать не чего стоящего, обьясните ситуацию подробнее.
Отправлено: 24.01.2002, 16:02
Отправитель: Alexety (регистрация: 28/12/2001, ответов на счету: 9)
E-mail: alexety@yandex.ru
Молдова, Кишинев
_______________
Отвечает UFO
Доброе время суток, Volk!
Может шестую сразу по мылу выслать_вместе с MSDN?
Очень надо, - пойди в магазине купи диск
Или сам себе посылай
http://www.filesearch.ru/cgi-bin/s?q=delphi+3&t=f&w=a&x=20&y=7
Отправлено: 24.01.2002, 18:27
Отправитель: UFO (регистрация: 28/12/2001, ответов на счету: 89)
Россия, Южно-Сахалинск
_______________
Отвечает Cardinal
Здравствуйте, Volk!
Жаль что у меня нет... Это же такая древность :-) Ну а если серьёзно - поищи в инете - там этого валом
заходишь на rambler ну или aport и получаешь линки! Всё просто!!!
Отправлено: 25.01.2002, 17:44
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 7)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону
Вопрос № 126 |
У меня такой вот вопрос, как лучше всего работать с видео памятью, прерыванием 10h вроде как то медленно получается, нельзя ли побыстрей? И еще вопрос я прогаю(начинаю прогать) в TASme 5.0 в режиме MASM(т.е там необязательно assume и т.д там просто .data и погнал .code ...), мне кажется что это не совсем удобно, правильно ли мне кажется, и что лучше использовать TAsm или MASM, если я хочу работать с железом, или это без разницы?
Отправитель: Vadim (vadim5@bel.ru)
Вопрос отправлен: 24.01.2002, 15:05
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает vitya
Доброе время суток, Vadim!
Я бы вам посовтовал, если в текстовом режиме, то работать
напрямую с памятью, начиная с адреса 0xB800, один байт символ, второй байт атрибуты (цвет, закраска), быстрее не будет,
графический режим тоже можно так, но этим я не баловался.
Отправлено: 24.01.2002, 15:08
Отправитель: vitya (регистрация: 03/01/2002, ответов на счету: 8)
Armenia, Yerevan
_______________
Отвечает Broken Sword
Здравствуйте, Vadim!
Вот сказал! Без разницы совершенно, но для виндов МАСМ покруче будет... а вообще лучше А86 пока ничего не придумали, там вообще никаких code и data даже близко нету.
Что побыстрей? Ну прямым обращением к видеопамяти тогда только получается текстовый - (B800) или графический - (A000). Или через порты. Но вообще int 10h, если ты не по точкам рисуешь, и у тебя не CGA карта, довольно быстро бегает...
Отправлено: 24.01.2002, 17:45
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 329)
ICQ#64476575
Украина, Одесса
_______________
Отвечает root
Доброе время суток, Vadim!
Насчет Tasm|Masm думаю, что без разницы. Если ты в текстовом режиме, то пиши напрямую в видеопамять в сегмент 0B800h. Устройство видеопамяти следующее: байт_=_код_символа байт_=_атрибуты вывода на экран:
Байт атрибутов: 7654 3210:с 0 по 3 - цвет символа, с 4 по 7 - цвет фона.
Отправлено: 24.01.2002, 23:44
Отправитель: root (регистрация: 28/12/2001, ответов на счету: 21)
РГУ
URL: http://www.aofd.boom.ru - Когда-то будет homepage
ICQ: 92779849
Россия, Ростов-на-Дону
_______________
Отвечает Александр
Доброе время суток, Vadim!
Конечно можно. Просто к видеопамяти можно обращаться как к обычному сегментыу данных. Видеопамять начинается с разных адресов, в зависимости от режима. Вот таблица.
Текстовые режимы - 0, 1, 2, 3, 7 с адреса B800:0000. 8 страниц видеопамяти.
Графические режимы 4 и 5 - с адреса B800:0000, но только одна страница видеопамяти.
0Dh - с адреса B800:0000, до 8-ми страниц видеопамяти.
0Eh - с адреса A000:0000, до 4-х страниц видеопамяти.
0Fh - с адреса A000:0000, до 2-х страниц видеопамяти.
Графические режимы 10h, 11h, 12h, 13h - с адреса A000:0000, 1 страница видеопамяти.
Для каждого из режимов своя формула для вычисления смещения относительно начала видеопамяти по позиции пикселя/курсора.
Поэтому уточни, что тебя конкретно интересует и получишь более подробный ответ.
Отправлено: 25.01.2002, 08:21
Отправитель: Александр (регистрация: 28/12/2001, ответов на счету: 27)
Россия, Москва
_______________
Отвечает Frank
Доброе время суток, Vadim!
По-моему надо просто напрямую писать в видеопамять. Сначала устанавливаешь регистр ES на начало видеопамяти:
mov ax,0B800h
mov es,ax
или лучше так (286+)
push 0B800h
pop es
0B800h - это сегмент видеопамяти для первого экрана. В разрешении 80х25 на экран помещается 80*25=2000 символов. Видеопамять представляется как линейный массив размером 4000 символов в котором первый символ - это сам выводимый символ, второй - его атрибут.
Например нам нужно вывести на экран строку символов "Hello World". Тогда делаем так, считая, что первые две строки уже написаны:
mov cx,len
mov bx,0
mov ah,0Ah
xor si,si
loop1:
mov al,byte ptr txt[si]
mov es:[bx],ax
add bx,2
inc si
loop loop1
...
txt db 'Hello World'
len equ $-txt
...
P.S. Работать в тасм или масм это уже тебе решать, разница небольшая, я например всегда пользують тасмом, мне хватает. Ну почему это неудобно, по-моему и так неплохо. А в принципе это дело сугубо личное. На вкус и цвет товарища нет. ;)
P. P. S.
По поводу вопроса №120 от Эдуарда:
Извиняюсь конечно, но я все-таки стормозил, все там правильно делается. Например если в CX=001Eh DX=8480h, то задержка составляет как и положено 2 секунды 001Eh*FFFFh+8480h=1E8462hмкс=1999970мкс=2сек
CX=7h, DX=A127h то задержка равна 0007h*FFFFh+A127h=7A120h=500000мкс=0.5сек и т. д.
Отправлено: 26.01.2002, 08:00
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 27)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
Вопрос № 127 |
У меня такой вот вопрос, как лучше всего работать с видео памятью, прерыванием 10h вроде как то медленно получается, нельзя ли побыстрей? И еще вопрос я прогаю(начинаю прогать) в TASme 5.0 в режиме MASM(т.е там необязательно assume и т.д там просто .data и погнал .code ...), мне кажется что это не совсем удобно, правильно ли мне кажется, и что лучше использовать TAsm или MASM, если я хочу работать с железом, или это без разницы?
Отправитель: Vadim (vadim5@bel.ru)
Вопрос отправлен: 24.01.2002, 15:06
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает DiGiT
Приветствую Вас, Vadim!
Работай через видеопамять начало видеобуфера текстового режима по адресу 0b800h. По два байта на символ(первый ASCII-код, второй аттрибуты). А у графических разные(для 320х200х256 начало по адресу 0A000h).
Например записать "S" в позиции 10х40
mov ax,0b800h
mov es,ax
mov byte ptr es:[10*160+40],'S'
Отправлено: 25.01.2002, 05:34
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 157)
ICQ:133534725
Russia(),Student
Вопрос № 128 |
1) Может не стоит отвечать на вопросы людей, которым влом
залезть на Яндекс? Или ссылку сразу давать. А то про
биос демагогию развели, а весь bios.ru или ixbt не
перескажешь.
2) И сверху рассылки написать "Не надо рассказывать КОГДА
у вас была такая проблема и что об этом переживали
бабушка, дедушка, внучка и др. а потом вы решили, что
программа (Office2000, например :))) - глючная."
Если есть что по делу сказать - говорите, а нет - читайте
файл c:\Pagefile.sys или c:\win.swp". :))
Те кто отвечают молодцы, конечно... Но если подписан
на 30 рассылок (да и эта не маленькая) - глаза повылазят...
Отправитель: Эксперт SeGa
Вопрос отправлен: 24.01.2002, 17:06
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает Tiger
Добрый день, SeGa!
Может и не стоит. Я тоже считаю, что человек должен сам полазать по поисковикам и там пошарится, а если не умеешь найти в нете то, что тебе надо, то зачем ты сюда пришел спрашивается. :)) Но, с другой стороны, если ты начинающий и помочу некому, то хоть какая-то помощь все равно необходима. Поэтому-то мы и отвечаем, хотя и бубним на таких созданий. :)))
ЗЫ: А какое приложение поддерживает расширение .swp чтобы его можно было нормально прочитать, а то у меня ничего не получилось. :)))))))))))
Отправлено: 24.01.2002, 19:41
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 56)
URL: http://www.tigeer.narod.ru - Что-то вроде того
_______________
Отвечает DivX
Доброе время суток, SeGa!
Очень может быть. Хотя, знаете, в Яндексе или Апорте можно найти ВСЁ, ЧТО УГОДНО - достаточно подобрать ПРАВИЛЬНЫЕ ключевые слова, хорошо знать основы Инета, знать языковые команды поискового движка... а люди то разные. Стало быть по вашему определению, эксперт может на любой вопрос ответить: "Пошел ты на***" (*** - поисковый движок).
А вам не кажется, что рассылка должна иметь собственное лицо, а не гибридную физиономию, состоящую из сплошных ссылок на другие ресурсы - я бы не обрадовался, если бы мне такая пришла ;) Подумайте...
Ссылки давать, конечно, хорошо (на файлы, большие документы), но давая ссылку на биос.ру или всечтоугодно.ру вы фактически показываете свой страх, неопытность передавая ответственность в чужие руки. Нужны нам такие эксперты? Решайте сами.
Отправлено: 25.01.2002, 06:53
Отправитель: DivX (регистрация: 28/12/2001, ответов на счету: 141)
_______________
Отвечает Cardinal
Добрый день, SeGa!
Сто пудов! Присоединяюсь! Кроме того порой один и тот же вопрос мелькает по 2 раза (причем целиком). И в одном и другом случае печатаются равноценные ответы...
Отправлено: 25.01.2002, 17:46
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 7)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону
Вопрос № 129 |
Здравствуйте, господа эксперты!
Ответьте, пожалуйста на вопросы:
1. Существует ли API-функция получения текущего системного времени? (что-то я не нашел)
2. Не будет ли Windows95/98/2000/NT "возмущаться" на попытку воспользоваться функциями скажем прерывания int 21h (напрямую, без API)
Отправитель: John
Вопрос отправлен: 24.01.2002, 17:40
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32
_______________
Отвечает UFO
Добрый день, John!
1)Плохо искал
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/time_4po3.asp
2)А_ты_бы взял, да сам попробовал, или все руки не доходят?
Отправлено: 24.01.2002, 19:25
Отправитель: UFO (регистрация: 28/12/2001, ответов на счету: 89)
Россия, Южно-Сахалинск
_______________
Отвечает Евгений
Доброе время суток, John!
1.Да, существуют функции получения времени. Вот они:
GetLocalTime
GetSystemTime
GetSystemTimeAdjustment
GetSystemTimeAsFileTime
GetTickCount
GetTimeZoneInformation
2. Windows95/98 хоть и использует int 21h для обращения к файлам (Microsoft кстати утверждает, что Windows не использует досовские функции, но это не совсем так, я смотрел ей в код)
тем не менее вы не сможете вызвать прерывание так как это допутстимо только для привилегированнх программ, запущенных на кольце защиты Ring0. В принципе есть способ повысить свои привилегии, изменяя непосредственно IDT, но в Windows на Ring0 есть VxD функции, часть которых - аналог int 21h так что зачем использовать int 21h напрямую?
Что касается Windows на базе ядра NT, то там ДОС не используется вообще. Это платформа, кардинально отличающяяся от Win9x (с точки зрения системного программиста). Так что в NT вам не удасться воспользоваться int 21h.
Отправлено: 25.01.2002, 02:06
Отправитель: Евгений (регистрация: 28/12/2001, ответов на счету: 30)
_______________
Отвечает masquer
Приветствую Вас, John!
1. Существуют, GetSystemTime, GetLocalTime - вторая функция для определения времени с учетом поясного времени (например, для Москвы первая функция даст, например 20 часов, вторая 23). Вызываются обе ф-ции с одним параметром, указателем на структуру SYSTEMTIME, после заполнения которой можно узнать год, месяц, день недели, день, часы, минуты, секунды и милисекунды. Подробнее в справочнике по API.
2. Win9x - Win95, Win98, WinMe - ругаться не будут, WinNT/2k - не позволит выполнять такие программы, если это программа написана под Windows, если под ДОС - запустится командный процессор cmd.exe. Собственно нет никакого преимущества применения прерываний в Windows, тем более что эти функции все равно виртуализируются, т.е. будет вызываться не действительно 21 прерывание, а подмененное самой Windows, подробностей не помню.
Отправлено: 25.01.2002, 10:48
Отправитель: masquer (регистрация: 16/01/2002, ответов на счету: 4)
Украина, Николаев
_______________
Отвечает Frank
Приветствую Вас, John!
1. Конечно же есть:
void GetSystemTime(LPSYSTEMTIME lpSystemTime); функция возвращает текущее время и дату. Возвращаемая структура:
typedef struct _SYSTEMTIME {
WORD wYear; // текущий год
WORD wMonth; // месяц 1..12
WORD wDayOfWeek; // день недели
WORD wDay; // воскресенье-0, понедельник-1
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME;
существует также обратная ей функция для установки даты и времени: BOOL SetSystemTime(CONST SYSTEMTIME * lpst);
lpst - указатель на структуру SYSTEMTIME (день недели не учитывается) Возвращает TRUE - если все прошло успешно, иначе FALSE (см. GetLastError кажется). Эти две функции устанавливают время по гринвичу, а для установки локального времени используй
VOID GetLocalTime(LPSYSTEMTIME lpSystemTime); и
BOOL SetLocalTime(CONST SYSTEMTIME * lpst);
Отправлено: 26.01.2002, 08:04
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 27)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
Вопрос № 130 |
Люди если могет кто - помогите.
...я уже устала броться со своей сестренкой. Я не знаю каким образом она удаляет свои файлики, игрушки и др., фишка в том что я их потом с корзины убить не могу все время вылетает сообщение типа "Файл "такой-то, такой-то (как правило это вещи с абсолютно дикими именами) занят одним из приложений"...
Это в корзине - то ???
...в общем такая беда...
...с уважением tiranochka...
Отправитель: tiranochka
Вопрос отправлен: 24.01.2002, 18:46
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает UFO
Здравствуйте, tiranochka!
Что то странное ты рассказываешь :)
При загрузке wind(ы) нажми F8 - загрузись в командном режиме и и_удали всю эту корзину вместе с содержимым_из под какого-нить нортон коммандера дос навигатора - лишь бы под досом он работал
Конечно, если сумеешь,- можно и ручками :)
Кажись каталог Recycled называется.
Отправлено: 24.01.2002, 19:34
Отправитель: UFO (регистрация: 28/12/2001, ответов на счету: 89)
Россия, Южно-Сахалинск
_______________
Отвечает Tiger
Доброе время суток, tiranochka!
Ну коли Винды не хотят мытьем, то возьми их катаньем. :))) Берешь, грузишься в ДОС либо с дискетки, либо в начале загрузки держишь клавишу Ctrl и потом удалеешь все что тебе не надо. Вот и все.
Отправлено: 24.01.2002, 19:34
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 56)
URL: http://www.tigeer.narod.ru - Что-то вроде того
_______________
Отвечает Alexety
Здравствуйте, tiranochka!
Могу предложить удалить файлы из корзины из под dos, для этого перезагрузи компьютер в режиме МС-ДОС и набери в коммандной строке следующее:
cd recycled
del *.*
Отправлено: 24.01.2002, 20:03
Отправитель: Alexety (регистрация: 28/12/2001, ответов на счету: 9)
E-mail: alexety@yandex.ru
Молдова, Кишинев
_______________
Отвечает Broken Sword
Доброе время суток, tiranochka! (первая Ж в рассылке, если не считать ботинок 45 размера!!!! ура!)
Ну так правильно! Занят значит занят. Даже в корзине... А что тут такого? Как правило, такие файлы нельзя удалить СРАЗУ ПОСЛЕ ПОМЕЩЕНИЯ в корзину, нада разочек перегрузиться хотя бы.
А вообще попробуй ctrlaltdel и убери все, кроме explorera (конечно, если у тя не XP), а из ДОС-а точно можно все что хош удалять, тока корзины там помойму не видать...
И еще совет - убери подальше с компа эту ;%№:;$$%# 95 винду (я так подозреваю даже, что это не ОСР2), поставь хотя бы 98 SE...
p.s. судя по твоему нику твоей "младшей сестренке" с тобой не сладко приходится... я б на ее месте точно тоже творил, так что передавай ей от меня персональный привет большой. все.
Отправлено: 24.01.2002, 22:39
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 329)
ICQ#64476575
Украина, Одесса
_______________
Отвечает SeGa
Приветствую Вас, tiranochka!
Что можно попробовать:
1) Scandisk (или Norton'овский DiskDoctor).
2) Из NC (DN, VC) потереть содержимое Recicled
(если будет ругаться - надо загрузиться под Досом - по F8
и потереть оттуда)
ЗЫ. А сестренке руки ограничить можно если поставишь Win2000
Отправлено: 25.01.2002, 09:52
Отправитель: SeGa (регистрация: 24/01/2002, ответов на счету: 5)
ICQ 139626802
_______________
Отвечает Cardinal
Доброе время суток, tiranochka!
Ну уж коли беда такая, то перегрузись под DO$ войди в каталог RECUCLED и рубани там всё что лежит. Там уж точно удалится. Ну а винда это просто система такая, неправильная, не для нормальных людей (или слишком правильных) - чуть что - обругала и засыпала ошибками.
Борись и побеждай!
Plug and pray!
Отправлено: 25.01.2002, 17:50
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 7)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону
_______________
Отвечает Serik
Здравствуйте, tiranochka!
Попробуйте установить новый Windows поверх старого!!!
Отправлено: 25.01.2002, 21:23
Отправитель: Serik (регистрация: 18/01/2002, ответов на счету: 12)
URL: http://rusquest.boom.ru/ - Русские игры(проходилки) и другие материалы.
Украина, Первомаиск
_______________
Отвечает Franchik
Доброе время суток, tiranochka!
ДеЛО в том, что перед тем, как удалять файлы, надо закрыть прилдожения, которые Вы хотите удалить
Отправлено: 25.01.2002, 21:26
Отправитель: Franchik (регистрация: 28/12/2001, ответов на счету: 11)
Вопрос № 133 |
Здравстуйте.
У меня есть комп. intel 486, 8mb оперативной , Win-95.
Винт был 800mb. После сжатия в DriveSpace стал примерно 1500mb.
Затем после небольшого глюка я переформатировал винт. Но обьем
оказался 321 mb. Я думал что Format не может отформатировать
сжатый диск. Запустил Diskedit, обнулил загрузочную область,
FAT, опять переформатировал но результат тот же. FAT32 на этой машине до сжатия вродебы стоять не мог.
Подскажите есть ли прога которая способна исправить это или
вычистить диск под полный ноль?
Отправитель: inter
Вопрос отправлен: 24.01.2002, 21:44
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает DivX
Доброе время суток, inter!
Безусловное форматирование не делали - format "диск" /u
Отправлено: 25.01.2002, 06:53
Отправитель: DivX (регистрация: 28/12/2001, ответов на счету: 141)
_______________
Отвечает SeGa
Здравствуйте, inter!
Во первых попробуй переразбить fdisk'ом (все же стандартное
средство - могет помочь).
А во вторых - очень толковая для работы с дисками прога -
Particion Magic. Последняя версия - 7.0. Но тебе (на FAT32)
и 4.0-5.0 хватит.
Скачать мона с
http://www.powerquest.com/partitionmagic/pmdemo.html
Под винды - с ограничениями работает, под Дос - полная.
Отправлено: 25.01.2002, 09:46
Отправитель: SeGa (регистрация: 24/01/2002, ответов на счету: 5)
ICQ 139626802
_______________
Отвечает Cardinal
Добрый день, inter!
Скорее всего произошла ошибка самого DriveSpace, так что бери второй винт, пробуй спасти с этого ( 800 мб ) и форматируй под ФАТ32. И никогда не используй Space!!! У меня у самого бала 486 машина с этой же проблемой. Еле-еле откачал! А доков была - куча и ещё больше...
Удачи..
Отправлено: 25.01.2002, 17:54
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 7)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону
_______________
Отвечает Franchik
Добрый день, inter! вы не праыильно указали в Биосе (Cmos) тип винчестера, укажите Lba ил что- нмибудь
Отправлено: 25.01.2002, 21:32
Отправитель: Franchik (регистрация: 28/12/2001, ответов на счету: 11)
_______________
Отвечает Frank
Добрый день, inter!
Попробуй запустить fdisk и там, сначала удалить все разделы а потом создать заново. А уже потом все форматировать. А FAT32 начал поддерживаться только начиная с Windows 95 OSR 2.
P.S. Не считай это за шутку, когда-то был у меня такой прикол: Комп P100,Seagate на 800MB. Так вот, когда винт стоит в вертикальном положении(на боку), то он детектится нормально, а если его положить горизонтально, то BIOS видит 280MB :( И такое бывает, честно.
Отправлено: 26.01.2002, 08:05
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 27)
КПИ,ФЭЛ,ДА-02
ICQ: 100341415 E-mail: Frank_U@mail.ru
Украина, Киев
Форма отправки сообщения |
Внимательно(!) заполните приведенную
ниже форму для того, чтобы отправить вопрос или дополнение к ответам.
Дополнительную информации по пользованию формой для подписчиков и экспертов
можно получить, нажав на знак вопроса в соответствующем разделе, при этом
информация будет отображена в отдельном окне.
В программе The Bat! форма не
работает.
c 2000 - 2002 Россия, Москва. Авторское право: Калашников О. А. |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||