Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
"Ассемблер? Это просто! Учимся программировать
(FAQ)"
Выпуск №
172
от 21.01.2002, 02:30
Администратор: Калашников Олег
Сайт
Администратора: Программирование на
Ассемблере
Старейшины
рассылки |
1. Broken Sword - ответов: 312. 2. Painbringer (нечто наподобие домашней страницы) - ответов: 301. 3. Sensey - ответов: 269. 4. Dron (Операционная система с нуля!) - ответов: 231. 5. змей - ответов: 167. |
От эксперта DivX
Сегодня мне опять пришел вопрос с шрифтом по типу "абракадабра".
Скопировав его в свой любимый редактор Bred2, я перекодировал его из
KOI-8 в Windows-1251 и увидед нормальный шрифт. Из этого могу сделать
следующие выводы:
1. Данные вопросы пишутся в форме рассылки, т.к. именно она приходит в
KOI-8.
2. Сама рассылка открыта при этом в кодировке Windows с этими самыми
иероглифами.(такое может быть только в IE, который иногда неправильно
распознает кодировку) Естественно текст набранный в форме
воспринимается как Windows-1251 и отсылается на сервер. На сервере
ничего не подозревающая система считает его за KOI-8 и в таком виде
отсылает его эксперту. Кстати при этом экспертам, у которых вопросы
приходят в кодировке Windows-1251, такой абракадабры должно не
приходить, т.к. при этом система производит с текстом те же обратные
действия, которые я производил в текстовом редакторе.
3. Пользователи скорее всего пользуются почтовиком TheBat, тут
психология ясна - сначала читаем рассылку в окошке TheBat, есесено, с
правильной кодировкой. Потом через панель с привязанными файлами
открываем рассылку в IE, есесено, с неправильной кодировкой, и ничего
не замечая, заполняем форму рассылки.
Так что, уважаемые подписчики, не заполняйте форму если вы видите, что
рассылка открыта в неправильной кодировке...
Комментарий Администратора.
Полностью с этим согласен. В настоящей рассылке я оставляю вопросы, пришедшие в некорректной кодировке. Уважаемые читатели! Старайтесь избегать этого, т.к. программа просто не сможет отследить верность кодировки в данном случае!
Вопрос № 52 |
Друзья, спасибо за ответы. Не знал про ключ /is в команде setup, наверное все это описано в setup.txt, но лень было прочитать. Как только получил ответ от эксперта UFO, сразу же запустил setup.exe /is, все пошло нормально, но при перезагрузке вышло меню, где появился windows 98 и на это моменте комп застрял. Видно я потер boot-сектора. Пришлось грузиться с установочных дискет NT и восстанавливать все. Но дело в том, что по-моему я уже проделывал такую штуку- поставил NT Server, потом поставил 98-й и вроде все было OK. Так вот вопрос- может за давностью мне это пригрезилось или это правда возможно? Если да, то почему в одних случаях это проходит, а в других нет? И наконец главный вопрос- есть сеть, сервером заделана машина с NT Workstation. Рабочие станции- тоже NT Workstation и Win98. ввожу новую машину с win98 на борту, конфигурирую TCP/IP, с маской подсети, с IP-адресом все в порядке, комп видит сеть и самого себя. Завожу на сервере нового пользователя в User manager, причем все так же, как для другой машины с win98,(естественно имя компа и сетевое имя другое). Сервер и другие машины его не видят. Сам же он заходит в другие машины, но при обращении к серверу появляется окно с сообщением, что идет сеанс IPC$ и требует пароль. Я перепробовал все пароли, результат- нулевой. На этом же компе стоит NT Server и из под него я захожу на сервер под паролем, который я ему и дал, без проблем. What'up? Я где-то вычитал, что IPC$- это нулевой сеанс межпроцессорной связи, при котором аутентификация не требуется, а тут у меня под этим сеансом требуют пароль. Объясните пожалуйста. Заранее признателен.
P.S. спасибо экспертам UFO, DivX, Tiger за ответы. Ваши знания впечатляют.
Отправитель: pasha
Вопрос отправлен: 16.01.2002, 09:00
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает Tiger
Приветствую Вас, pasha!
Я же тебе уже практически ответил на этот вопрос, когда ты спрашивал про Scandisk. :)) Я же сказал, что правильней будет сначала установить 98, а уже потом НТ.
Есть еще вариант, и на мой взгляд, он неплох, это использовать так называемый boot-менеждер, например PowerQuest BootMagic.
Что касается твоего главного вопроса, то честно говоря я точно не знаю что происходит и ничего определенного сказать не могу. :((( Сорри.
Отправлено: 16.01.2002, 22:57
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 45)
URL: http://www.tigeer.narod.ru - Что-то вроде того
Вопрос № 53 |
Здравствуйте все !!!
Я слышу вы тут очень расхваливаете книгу Зубкова. Толька я нигде не могу ее взять. Может у кого-то есть она в електронном виде? Да еще!!! Может кто-то всьо-таки вышлет мне ТехХелп???!!! Кстати !!! У меня есть предложение к Олегу ( возможно идиотское).
Почему бы не превратить рассылку в журнал? Конечно сделать там раздел FAQ, раздел "Для новичков", какой-то курс по єкзотическим процам. Еще публиковать материалы основной рассылки ( просто никак не могу ее получить). Можно (с согласия обоих сторон) вывести раздел под "Операционную систему с нуля", которую мог бы вести Dron. Если бы объявились добровольцы вести свои какие-то рубрики, публиковать интересные статьи и т.д. и т.п.
ЗЫ. Не судите строго. Это тупые мысли в голову лезут( а возможно не очень тупые?).
ЗЗЫ. Что-то Вал.Ик'а не слышно.
Отправитель: GUSH (nakr@dotes.west.energy.gov.ua)
Вопрос отправлен: 16.01.2002, 10:39
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Bart Simpson
Приветствую Вас, GUSH! Да ДА !!!! А то этот идиотский "Хакер" задолбал :(
Отправлено: 19.01.2002, 16:20
Отправитель: Bart Simpson (регистрация: 28/12/2001, ответов на счету: 32)
Вопрос № 56 |
Здравствуйте, уважаемые эксперты.
У меня возникла проблема при отработке материала выпуска 26 рассылки Олега Калашникова <Ассемблер? Это просто! Учимся программировать> - оболочка. Я скомпилировал программу MASM'ом версии 6.11, запустив в Windows 98 Volkov Commander 4.0. Программа работает, но при отладке в TD 5.0 при запуске программы на выполнение (F9) выдается сообщение Windows <Программа выполнила некорректную операцию и будет завершена>. Я пробовал ее запускать (компилировать и запускать) в режиме DOS, но там при запуске она выводит не список файлов, а какую-то чепуху. TD в DOS у меня не хочет работать. Требует какой-то .ovl файл. Не могли бы вы мне растолковать в чем дело с оболочкой (TD - пес с ним).
Кроме того, борясь с этой ерундой, я обнаружил, что у меня в autoexec.bat не выполняется строка SET PATH=C:\PROGRAM FILES. Пишет <Слишком много параметров>. Я думаю это потому, что там 2 слова в названии папки. Но если надо указать эту папку в пути, как это побороть?
Заранее огромное вам спасибо.
Юра.
Отправитель: Юрий
Вопрос отправлен: 16.01.2002, 12:49
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Ayl
Доброе время суток, Юрий!
По поводу путей - попробуй написать так:
set PATH=C:\PROGRA~1
Отправлено: 16.01.2002, 13:01
Отправитель: Ayl (регистрация: 28/12/2001, ответов на счету: 139)
Россия, Санкт-Петербург
_______________
Отвечает Артём Шегеда
Приветствую Вас, Юрий!
По второму вопросу.
Дело в том, что autoexec.bat выполняется в реальном режиме работы MS-DOS. А в этом режиме длинные имена файлов не поддерживаются. Но есть выход и из этой ситуации: каждое длинное имя имеет короткий псевдоним. Если имя длиннее 8 символов (longfilename.txt, например), если файл имеет точку в имени (file.pas.old, например), если расширение длиннее 3 символов (index.html), то псевдоним, как правило, имеет вид: BLABLA~N.EXT, где BLABLA - первые 6 букв имени файла, N-номер псевдонима (ведь в папке межет быть файл longfilename.txt и longfilename1.txt - тогда будет два псевдонима: LONGFI~1.TXT и LONGFI~2.TXT), а EXT - первые три буквы "последнего расширения".
Чтобы в autoexec.bat прописать свои пути, набери C:\PROGRA~1\...
Ну, а длинные имена файлов в защищённом режиме нужно заключать в двойные кавычки ("C:\Program Files\Accessories\MSPAINT.EXE")
Отправлено: 16.01.2002, 13:27
Отправитель: Артём Шегеда (регистрация: 28/12/2001, ответов на счету: 31)
URL: http://www.shegeda.chat.ru/ - Пристанище неодинокого программиста
x-USSR, Харьков
_______________
Отвечает Александр
Здравствуйте, Юрий!
А можно сразу на второй ответить? Ну когда используешь длинные имена файлов с пробелами и другими непозволительными для DOS символами заключай их в двойные кавычки или использую их короткие аналоги. Для "Program Files" это скорее всего Progra~1
Про программу. Какая чепуха? А из Vlkov Commander вышел? Может конфликтует. Вообще раз текстовый режим, то мог-бы и скриншот в приложение запихнуть. Как говорится слишком мало данных для ответа на этот вопрос.
That's all folks!
Отправлено: 18.01.2002, 22:52
Отправитель: Александр (регистрация: 28/12/2001, ответов на счету: 16)
Вопрос № 57 |
Уважаемые эксперты, не могли ли вы бы объснить, почему в уже на где-то 6-ом шаге цикла в програме:
masm
model tiny
.code
org 100h
m0:
push cs
push 100h
iret
end m0
происходит переход на адрес 100:100, хотя код должен испортиться горздо позже? Использовал обычный TD. Портится только 1-е несколько байт ПСП.
Отправитель: oleg
Вопрос отправлен: 16.01.2002, 16:35
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Dron
Здравствуйте, oleg!
Для корректности тебе надо заносить в стек еще и регистр флагов. ибо команда iret восстанавливает из стека и регистр флагов.
Отправлено: 16.01.2002, 16:43
Отправитель: Dron (регистрация: 28/12/2001, ответов на счету: 231)
URL: http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!
_______________
Отвечает Артём Шегеда
Здравствуйте, oleg!
Насколько я понял, ты издеваешься над бедной, незащищённой системой. Да будет тебе известно, что команда IRET извлекает из стека три слова, т.е после операции SP равен SP+6. Поскольку программка типа .COM (мне так показалось), SP при запуске равен 0FFFEh. После первого IRET будет лихо убито первое слово PSP (SP=0000h), поскольку PSP начинается с адреса 0000h. С каждым новым IRET твоя программа будет всё прочнее уходить в могилу... :(
А вообще почитай TechHelp - там столько интересного...
Отправлено: 16.01.2002, 17:21
Отправитель: Артём Шегеда (регистрация: 28/12/2001, ответов на счету: 31)
URL: http://www.shegeda.chat.ru/ - Пристанище неодинокого программиста
x-USSR, Харьков
_______________
Отвечает Ayl
Приветствую Вас, oleg!
Судя по всему, это проблема TD. А точнее, совместное использование стека. Точно сказать не могу, сам еще не разобрался. Проблема происходит в момент сохранения значения в стеке по адресу ss:0004h. А переход осуществляется по адресу, который в этот момент находится в стеке (смотреть через дамп памяти через регистр ds) по адресам: (ds:0000h):(ds:fffeh).
Вот еще что накопал. При выполнении команды выполняется int 3. Соответственно, в стеке должны быть сохранены ip, cs и флаги. Но при выполнении команды, которая делает push в момент, когда стек установлен как ss:0006h, то ли не происходит пуширования флагов, то ли не изменяется указатель стека. Или на команде int 3 не происходит переход через 0 указателя стека. При выполнении iret неправильно восстанавливаются регистры, в результате сегментный адрес восстанавливается как регистр флагов, старый ip используется в качестве cs, а в ip восстанавливается то, что сохранил обработчик int 3 от TD.
Отправлено: 16.01.2002, 18:55
Отправитель: Ayl (регистрация: 28/12/2001, ответов на счету: 139)
Россия, Санкт-Петербург
_______________
Отвечает Broken Sword
Доброе время суток, oleg!
??? вот мне интересно вообще, ты понял хоть что сам написал??? при чем здесь 100:100??? после iret идет возврат на то, что в вершине стека - а это CS:100, так вот CS вряд ли будет равен 100. Или это ты так, к примеру? непонятно... И почему у тебя должен меняться код? стек растет "вниз" а не "вверх", причем у тебя попортятся как раз только несколько ПОСЛЕДНИХ (а не PSP!!) байт сегмента CS (всего 3 байта). Да, и еще iret то вытаскивает не только CS и айпишник, а еще и флаги. Так вот, после первого цикла у тебя флаг I будет сброшен, прерывания от внешних устр-в не будут обрабатываться и это все завесит систему, поэтому после push 100h добавь pushf чтоли... Вообще непонятно, кто то чего то пытался создать, но это какой то бред...
Если я правильно понял твою замутку, то ты хочешь стеком запороть прогу, тогда тебе нада избавиться от iret вообще и влепить loop, но это еще больший бред, у тебя машина повиснет раньше, чем SP добереться до 100h...
Отправлено: 16.01.2002, 19:27
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 312)
Украина, Одесса
_______________
Отвечает DiGiT
Здравствуйте, oleg!
Эксперты наверное уже отвели, но отвечу на всякий случай.
Почему на 100:100 на 0:100 это место для PSP. Имеется ввиду на 100 в хексе.
Отправлено: 17.01.2002, 05:51
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 145)
_______________
Отвечает Bart Simpson
Приветствую Вас, oleg! а pushf где ? Это ведь вам не retn !
Отправлено: 19.01.2002, 16:19
Отправитель: Bart Simpson (регистрация: 28/12/2001, ответов на счету: 32)
Вопрос № 45 |
Здравствуйте Уважаемые Эксперты!
Пишу Вам в первый раз, так что прошу сильно не пинать.Вопроса два.
Первый!
Читаю Абеля и там есть такая программа(прилагается), вообщем чего-то она не хочет работать, а просто виснет. В чем причина?
Второй!
При трансляции программы (прилагается) через TD вершина стека получается ss:0040, но там стоит стрелка и вот такие
данные ->2B1E, меня мучает вопрос, откуда они взялись, на следующей сроке такое ss:003E 0000, вообщем ситуация
такая
ss:0042 50C0
ss:0040->2B1E
ss:003E 0000
При занесении в стек он уменьшается на два, но на начальном этапе откуда взялось 2B1E, объясните пожалуйста, если можно поподробнее.
Заранее приношу свои извинения за отрыв от производства.
С Уважением Юрий!
Приложение:
Отправитель: Юрий
Вопрос отправлен: 15.01.2002, 15:27
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Артём Шегеда
Добрый день, Юрий!
Под стек ты самостоятельно выделил 32 слова (строки 4-6). Следовательно SP при запуске будет равен 32*2=64=40h. В стеке реально ничего нет: то, что ты видишь - это мусор.
Теперь о грустном: в программе есть ошибка. Я не понял, ты ли её допустил, или Абель облажался (вообще-то у него в книге ошибок море - поэтому учебник считается хорошим, заставляет ученика думать :), но факт есть факт. При входе в программу нужно писать такой код (это справедливо только для .EXE):
PUSH DS
SUB AX,AX
push ax
mov ax,Datasg
mov ds,ax
- тогда выход по RETF будет корректным.
Полный код инициализации твоего примера (замени):
Приложение:
Отправлено: 15.01.2002, 18:03
Отправитель: Артём Шегеда (регистрация: 28/12/2001, ответов на счету: 31)
URL: http://www.shegeda.chat.ru/ - Пристанище неодинокого программиста
x-USSR, Харьков
_______________
Отвечает Broken Sword
Доброе время суток, Юрий!
1. Славай богу мой модем ожил наконецто! ВНИМАНИЕ! ЕСЛИ КТО ТО ЗАДУМАЛ ПЕРЕПРОШИТЬ СВОЙ СТАРЫЙ IDC-шник, то во время ПЕРВОГО ЗАВИСАНИЯ НИ В КОЕМ СЛУЧАЕ НЕ ВЫКЛЮЧАЙТЕ МОДЕМ!!!!!!!!! ато 20 грн. мне жалко теперь... :(
2. Ничего плохого про Абеля сказать не хочу, просто в самом начале проги поменяй MOV ES,AX на MOV DS,AX. Ну ошибся мужик, с кем не бывает.
3. Второй вопрос - это тебя вообще не должно волновать,. Ну 2B1E, ну посмотри свой код (именно в машиинных кодах, и увидишь, что 1E - это push ds, 2BC0 - SUB AX,AX,) ну просто CS отображается в SS по умолчанию (я тоже этого не знал до сих пор) ну и что тут такого??? итак была бы какая то хрень в стеке, а так ты хоть знаешь че у тебя там точно... оно тебе ненада впринципе, хотя если ты гений - можешь использовать это в своих целях..
Отправлено: 15.01.2002, 18:10
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 312)
Украина, Одесса
_______________
Отвечает Александр
Здравствуй Юрий!
Ответ первый. Там какие-то танцы - шманцы непонятные происходят и эта программа вместо строчки 'data ' выводит пустоту, наверное из-за дурацких аттрибутов. Если ты попытаешься чего-нибудь ввести и нажать Enter, то она опять напишет своим "невидимым" шрифтом это на экране и будет ждать следующего ввода. А если ты нажмёшь Enter ничего не набив, то попадешь на очистку экрана и выход из программы посредством retf. В ДОСе может и сработает, а вот в Windows - ошибка защиты или другая бяка обеспечены. Что она должна делать я так и не понял, подпрограмм много но до них вроде как ничего не доходит. Да, кстати если нажать Escape, то можно видеть, что ты там дальше вводишь. Почему я так и не понял.
Ответ второй. Элементарно Ватсон. Для этого тебе надо раз и навсегда разобраться с проблемой ноля. Т.е. стек занимает байты ss:00 - ss:3f, а то на что указывает Вершина это следующие за сегментом стека байты, т.е. первые байты сегмента команд. Т.е. до начала использования указатель стека стоит не на вершине а НАД ней.
P.S. Это не отрыв от производства, это одно из производств(на добровольных правда началах).
Отправлено: 16.01.2002, 11:19
Отправитель: Александр (регистрация: 28/12/2001, ответов на счету: 16)
Вопрос № 17 |
Здрасте!!!
Можно ли какими нибудь хитрыми способами, или с помощью программ - подключить винтчестер примерно где-то 20-40 гб, если биос поддерживает только винт макс. 6-8 гб.
С уважением.....
Отправитель: Грохнутый
Вопрос отправлен: 16.01.2002, 02:22
Подгруппа: Модели, виды и типы компьютеров (hard)
_______________
Дополняет SViVik
Здравствуйте.
Для функционирования винта большой ёмкости на ПК со старым BIOS необходимо сделать диск С: объёмом до 8 ГБ, оставшуюся часть диска можно и не делить совсем, не важно, какой у него будет объём (но FAT32 на обоих). Ставите Windows 95 OSR2 или выше и все диски будут работать на полную катушку. Второй диск (более 8 ГБ) при автоопределении дисков в BIOS определяться не будет - его будет распознавать Windows.
С уважением Виталий.
Отправлено: 17.01.2002, 23:17
На момент выхода рассылки эксперт в базе не был найден либо недавно сменил пароль.
Вопрос № 42 |
Привет Эксперты. Скачал новый драйвер под ХР для видеокарты NVIDEA (самораспаковывающийся). Когда начинаю устанавливать пишется такая вот фигня "The contents of this cannot be unpacked. The executable you are attempting to run has been corrupted. Please obtain another copy of the file, verify its integrity, and try again.", причем ZIPовские драйвера устанавливаются. Подскажите как установить этот драйвер.
Отправитель: BonuS
Вопрос отправлен: 15.01.2002, 12:47
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает Vladimir
Доброе время суток, BonuS!
Если я правильно понял, этот файл (самораспаковщик) был скачан с ошибкой. Попробуйте еще раз скачать его.
С уважением
Отправлено: 15.01.2002, 13:06
Отправитель: Vladimir (регистрация: 28/12/2001, ответов на счету: 25)
Россия, Конаково Тверской обл.
_______________
Отвечает Sensey
Здравствуйте, BonuS!
Тебе же английским языком написали:
contents cannot be unpacked потому что has been corrupted!
То есть не может быть распакован, так как поврежден.
Либо скачай наново, либо напиши админу того сайта где взял, чтобы выложили не corrupted версию.
Отправлено: 15.01.2002, 15:39
Отправитель: Sensey (регистрация: 28/12/2001, ответов на счету: 269)
Тел.: (0572) 41-76-04 д.
ICQ 105679124 - пока не работает
Украина, Харьков
_______________
Отвечает Tiger
Приветствую Вас, BonuS!
Скорее всего архив скачан с ошибками. :( Так что можете его качать еще раз, чтобы бвл без ошибок и тогда все будет Ок!
Можете попробовать открыть этот архив в Rare или Zipe и тогда пойдете в чем дело. Может удасться его вылечить, хотя вряд ли, так что лучше качайте еще раз.
Отправлено: 15.01.2002, 22:43
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 45)
URL: http://www.tigeer.narod.ru - Что-то вроде того
_______________
Отвечает root
Приветствую Вас, BonuS!
Оно говорит, что запорчен сам архив-исполняемый файл. Попробуйте открыть его непосредственно архиватором. Многие архиваторы умеют открывать свои самораспаковывающиеся архивы. Если не получится, попробуйте скачать его снова.
Отправлено: 15.01.2002, 23:53
Отправитель: root (регистрация: 28/12/2001, ответов на счету: 19)
РГУ
URL: http://www.aofd.boom.ru - Когда-то будет homepage
ICQ: 92779849
Россия, Ростов-на-Дону
_______________
Отвечает DivX
Здравствуйте, BonuS!
Данный exe-файл был поврежден уже на ftp'шнике или был с ошибками закачан с Инета. Насколько я понимаю это SFX Cab, который при самораспаковке автоматически вызывает инсталлятор Install Shield. Есть два способа:
1. Скачать еще раз (обязательно с другого сервера)
2. Попробовать "починить" или частично вручную распаковать файл с помощью Winrar 2.8/2.9. Причем починить вряд ли удасться, а вот частично распаковать можно, а недостающие файлы, при известном опыте, можно добавить из менее новых драйверов, например из вашего ZIP-архива.
ЗЫ. Для закачки используйте интеллектуальные ftp-клиенты(например, Flashget), которые могут определить неисправность файла еще в процессе загрузки.
Отправлено: 16.01.2002, 06:59
Отправитель: DivX (регистрация: 28/12/2001, ответов на счету: 131)
_______________
Отвечает UFO
Добрый день, BonuS!
Скачай еще раз с другого сайта, просто битый файл утянул ты
Отправлено: 16.01.2002, 07:32
Отправитель: UFO (регистрация: 28/12/2001, ответов на счету: 80)
Россия, Южно-Сахалинск
_______________
Отвечает Frank
Доброе время суток, BonuS!
Единственное, что могу посоветовать, так это скачать этот
драйвер из другого места. У меня тоже часто бывало такое: Скачал программу а она не хочет инсталлироваться, приходилось
искать в другом месте.
Свой драйвер можешь поискать тут:
http://3dnews.ru/download/drivers/nvidia/
Отправлено: 16.01.2002, 08:49
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 3)
Украина, Киев
Вопрос № 43 |
Народ! Кто знает о программах, которые помогают отследить утечку памяти(Memory Leak). Почему одна и та же наворорченная Excel'евская таблица(с кучей макросов) на 2-х разных компьютерах вызывает разную реакцию: на одном очень шустро работает, а на другом - утечка памяти. Все остальные Excel'евские файлы такой бурной реакции не вызывают
Отправитель: Эксперт Александр
Вопрос отправлен: 15.01.2002, 13:06
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает Tiger
Приветствую Вас, Александр!
Ну лично я пользуюсь утилитами дядьки Нортона, а там есть такая штука, как Norton System Doctor, который позволяет отследить не только память, но и СВОП, и загрузку процессора, и еще кучу всего, что сам захочешь.
А для очистки память использую прогу Release RAM, которая висит в трее и через определенные промежутки времени, если количество свободной памяти меньше заданной, очищает ее до заданной величины, выгружая из нее все ненужное.
ЗЫ: Если эти проги не нравятся, то в и-нете можно найти кучу аналогичных, которые Вас устроят.
ЗЫЫ: И не надо два раза нажимать на кнопочку "отправить" :)))
Отправлено: 15.01.2002, 22:43
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 45)
URL: http://www.tigeer.narod.ru - Что-то вроде того
_______________
Отвечает DivX
Добрый день, Александр!
Программ именно для реального режима? Не слышал.
По-моему утечка памяти - это веский повод задуматься об исправности аппаратного оборудования, и прежде всего о качестве модулей памяти. А вообще тут два повода:
1. Плохие модули памяти.
2. Что-то разогнано, скорее всего процессор(он и допускает ошибки записи в память)
Отправлено: 16.01.2002, 06:59
Отправитель: DivX (регистрация: 28/12/2001, ответов на счету: 131)
Вопрос № 46 |
Наидобрейший денек эксперты:)
Тут значит такая фишка. Знакомый чувак хочет дать мне Linux (вроде так пишется:) ну я конечно кроме Win нечего не видел..., т.е. дастаточно ограниченный у меня кругозор в области познания всяких там яких платформ. Ну собственно зачем он наровит мне впарить эту ОС-ку, conect лучше... .Ну я и хочу у вас спросить: неушталь и в правду связь лучше???
Ну значит я поставлю себе эту самую Linux'сушку и хотелось бы мне зделать вот так! Штоб при загрузке компа был такой вопрос: Какую ОС вы хотите загрузить. Помню я что-то было у меня (давно) прописано в autoexet.bat но что непомню...! подскажите люди добрые как это зделать. И еше как раздолбать диск (програмно конечно:) на несколько дисков!
P.S.Если вы не поленились прочитать это вот чудо которое я своими руками намудрил. то вы просто ОБЯЗАНЫ ответить на мой вопрос:))
Куда изчес эксперт Ayl?
Отправитель: Alex
Вопрос отправлен: 15.01.2002, 16:08
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Артём Шегеда
Здравствуйте, Alex!
Вообще-то Linux имеет родной BootManager(так называется эта категория утилит) - LiLo (LinuxLoader). Но он примитивен. Есть более удобная фишка - завтра выложу на своём сайте. Запускается из-под ДОС'а, настроить может даже ребёнок, позволяет загружаться с дискеты (если в BIOS'е загрузка с флоппика отключена). Ждите продолжения...
Отправлено: 15.01.2002, 17:20
Отправитель: Артём Шегеда (регистрация: 28/12/2001, ответов на счету: 31)
URL: http://www.shegeda.chat.ru/ - Пристанище неодинокого программиста
x-USSR, Харьков
_______________
Отвечает Painbringer
Приветствую Вас, Alex!
Сразу предупреждаю - будешь ставить линуха будет много гимора. Но с другой стороны, опыт и всё такое. Линух большой, отъест у тебя гиг или (лучше) больше. С винмодемом или усбэшным модемом, заманаешься.
Если не боишься - выделяй раздел под линух и ставь его туда (не советую пихать в конец диска - проблема 1024 цилиндра и все такое). А еще под своп раздел создай (метров на 100). А выбор осей он сам сотворит - там такая приблуда есть лило - ставится по дефолту. Одним словом развлекайся. Только осторожнее, а тот тут эксперт Ден, может расскажет как весь винт форматнул.
Отправлено: 15.01.2002, 21:08
Отправитель: Painbringer (регистрация: 28/12/2001, ответов на счету: 301)
URL: http://limanski.narod.ru - нечто наподобие домашней страницы
ICQ 146861957
Россия, Дзержинск, Нижегородская обл.
_______________
Отвечает root
Приветствую Вас, Alex!
Про коннект не скажу, а вот про установку: Разбивать диск можно и Partition Magic для винды или доса, но лучше fdisk'ом, причем тем, который на инсталляшке LINUX'а - он лучше. С Линухом в комплекте поставляется LILO - загрузчик, который прописывается в MBR винчестера и позволяет грузить любую из установленных систем. При инсталляции, ЛИНУХ предлагае установить и сконфигурировать LILO.
Отправлено: 16.01.2002, 00:05
Отправитель: root (регистрация: 28/12/2001, ответов на счету: 19)
РГУ
URL: http://www.aofd.boom.ru - Когда-то будет homepage
ICQ: 92779849
Россия, Ростов-на-Дону
_______________
Отвечает DiGiT
Приветствую Вас, Alex!
Да гон это все с коннектом. Как если линия лучше не может или провайдер, можно ее разогнать. А она даже два загрузчика тебе предложит поставить выдирай на вкус(мне например лило нравится). В autoexec't ниче писать не надо,т.к. это уже другая ось, хотя линух мона и из доса грузануть. Хрен знает как программно,никогда не делал, но знаю, лучше fdisk'a никто тебе не разобьет(а partition magic и т.п. дерьмо).
P.S. Никто ничего не ОБЯЗАН.
Отправлено: 16.01.2002, 02:59
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 145)
_______________
Отвечает UFO
Доброе время суток, Alex!
Если он у тебя весь занят - диск Попробуй что-нить типа PartitionMagic Pro_освободи гига три, ну а дальше возьми простецкий дистрибьют_типа Мандрэйка_or_Red_Hat_последних версий-одна хрень, ну а там RTFM
Коннект врядли улучшится:) Это твой друг пошутил._Но поиграться, я думаю, стоит_ради расширения кругозора
Отправлено: 16.01.2002, 07:54
Отправитель: UFO (регистрация: 28/12/2001, ответов на счету: 80)
Россия, Южно-Сахалинск
_______________
Отвечает Frank
Доброе время суток, Alex!
Если кроме виндовса ничего не знаешь то лучше
не надо пока.
Если все-таки будешь ставить то меню при загрузке
он сам сделает. А также может сам при инсталляции
и диск разбить (ни разу не пробовал и не советую).
В вообще для разбития диска на логические есть
одна очень хорошая программа, Partition Magic
называется. Сейчас уже версия 7.0
P.S. как гласит народная мудрость семь раз подумай
один установи ;)
Отправлено: 16.01.2002, 08:55
Отправитель: Frank (регистрация: 14/01/2002, ответов на счету: 3)
Украина, Киев
_______________
Отвечает Александр
Привет Alex.
Знаешь, что ты должен любить больше камасутры? Жену! Нет, это я к тому, что Connect в Linux'е может и лучше, но играть всё равно в Windows придётся. Наконец ответ. Во всех версиях Linux есть загрузчик, обычно называющийся LILO. С его помощью ты и будешь делать такой выбор каждую загрузку. Есть ещё "альтернативные" программы, легкодоступные по цене 70 деревянных за сборник "Несколько ОС на одном компьютере". Но разбираться с ними - одно мучение(или удовольствие для мазохистов). Для разбивки жёсткого диска на части можно воспользоваться средствами предлагаемыми установкой Linux, но это не всегда безопасно для данных. Для русских людей рекомендуется продукт фирмы PowerQuest - PartitionMagic 7.0. С помощью этой программы трудно что-либо испортить, если ты с пониманием отвечаешь на все задаваемые на чистом английском языке вопросы.
P.S. В autoexec.bat можно намутить менюшку, но выбор между операционками? Только между ДОСом и Windows 3.1
Отправлено: 16.01.2002, 11:19
Отправитель: Александр (регистрация: 28/12/2001, ответов на счету: 16)
_______________
Отвечает Alexety
Здравствуйте, Alex!
Очень сомниваюсь, что твой друг хочет впарить тебе линукс из-за коннекта:) Над тобой очень сильно хотят посмияться. НАСТОЯТЕЛЬНО советую тебе линукс не ставить. Если все таки поставишь, то настроить ликукс для работы с интернетом тебе все равно не удастся. Все, кто ставил линукс в первый раз удаляли его через 2-3 дня с помошью форматирования диска.
Autoexec.bat не имеет ни какого отношения к запуску нескольких ОС. Для долбания диска самая лучшая утилита это Partition magic.
З.Ы. Если все таки ты будешь устанавливать линукс, то рекомендую его установить на другой жесткий диск, нежели на диск где у тебя стоит windows.
Отправлено: 17.01.2002, 16:21
Отправитель: Alexety (регистрация: 28/12/2001, ответов на счету: 7)
E-mail: alexety@yandex.ru
Молдова, Кишинев
Вопрос № 48 |
ЪДТБЧУФЧХКФЕ ЬЛУРЕТФЩ.хНЕОС ФБЛПК ЧПРТПУ,ДПРХУФЙН ЕУФШ РТПЗБ,ЧЕТОЕЕ ЕЕ ФЕУФ-ЧБТЙБОФ.ч ОЕК УФПЙФ ФБКНЕТ ХУФБОПЧМЕООЩК
ОБ ПРТЕДЕМ_ООПЕ ЛПМЙЮЕУФЧП ДОЕК.рП ЙУФЕЮЕОЙЕ ЬФПЗП ЧТЕНЕОЙ РТПЗБ ПФТХВБЕФУС Й ОБ ЬЛТБО ЧЩЧПДЙФУС МЙЫШ РТЕДМПЦЕОЙЕ П РПЛХРЛЕ.дЕЙОУФБММСГЙС Й РПЧФПТОБС ЙОУФБММСГЙС РПМПЦЙФЕМШОПЗП
ТЕЪХМШФБФБ ОЕ ДБАФ.рТПЗБ ОЕ ТБВПФБЕФ.еУФШ МЙ ЧПЪНПЦОПУФШ ПФЛМА-
ЮЙФШ ФБКНЕТ? х ЛПЗП ЛБЛЙЕ ЧБТЙБОФЩ ЕУФШ,ЕУМЙ ЬФП,ЛПОЕЮОП,ЧБН
ЙОФЕТЕУОП? лПОЕЮОП,НПЦОП Й ЛХРЙФШ,ОП РТПУФП ЙОФЕТЕУОП,НПЦОП ЙМЙ ОЕФ.дБ Й ИБМСЧБ ПОБ ЛБЛ ФП РП ЧЛХУХ РПЮФЙ ЛБЛ РЙЧП.
еУМЙ ПФЧЕФЙФЕ ,ВХДХ ЧЕУШНБ РТЙЪОБФЕМЕО.
Отправитель: Vitali
Вопрос отправлен: 15.01.2002, 22:36
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает Tiger
Приветствую Вас, Vitali!
Все зависит от того, как эта прога устроена. :)
Она может обращаться к файлу, чтобы посмотреть, когда она была установлена или в реестр. Например, у меня есть одна прога, которая по истечении 30 дней начинает работать в ограниченном режиме, что мне не нравится. так вот, я провлю в реестре две цифры, просто прибавляю к ним 30 (кол-во дней) и она продолжает работать еще в течении 30 дней. :)))
Если же она обращается к файлу, то надо выяснить, какой это файл и просто его удалить и заново проинсталировать прогу. Скорее всего этот файл она пишет в директорию c:\Windows\System Есть прога, называется Filemon, которая отслеживает обращения к файлам, воспользуйся ей. но для начала глянь, что у тебя позаписала в реестр эта прога. Если там нет счетчика, то скорее всего файл.
ЗЫ: А вообще, советую установить нормальный Uninstaler, лично я использую нортоновский 2002 или firelog и эта прога будет записывать в файл все, что позаписал на диск и в реестр установщик. Потом это можно посмотреть и при необходимости все удалить. Он удалит ВСЕ, что было записано при установке, соответственно и твой счетчик пропадет. :)))
ЗЫЫ: И поменяй кодировку на Windows-1251
Отправлено: 15.01.2002, 22:55
Отправитель: Tiger (регистрация: 28/12/2001, ответов на счету: 45)
URL: http://www.tigeer.narod.ru - Что-то вроде того
_______________
Отвечает root
Доброе время суток, Vitali!
Как я понимаю, прога под винду. Вариант такой: На компьютер, куда прога еще не устанавливалась, установить ее, проследив все изменения, которые она делает на винте, в реестре и т.д.
Так как она "помнит" о предыдущей установке, то вполне вероятно, что она прописывается в реестре.
Отправлено: 16.01.2002, 00:00
Отправитель: root (регистрация: 28/12/2001, ответов на счету: 19)
РГУ
URL: http://www.aofd.boom.ru - Когда-то будет homepage
ICQ: 92779849
Россия, Ростов-на-Дону
_______________
Отвечает Painbringer
Здравствуйте, Vitali!
Ну поскольку вопрос задан в подгруппу "п.р. с W." то скорее всего нет :( Можно попробовать всякие старые гнилые приемы против гнилых заshit. Например - перевести системную дату назад или деинсталировать ее и инсталировать опять.
Но скорее всего прога умнее.
Можно также отслеживать что она творит в реестре (сразу предкпреждаю более 1000 обращений при запуске она наверное делает). Если у тебя стоит какой либо монитор реестровый или инсталевый - проблема упрощается. Можно будет восстановить то значение которое было изначально (хотя если бы я и хранил в реестре таку шнягу - то зашифровал бы).
Если же ты группу перепутал - то берешь дезассемблер. Ищешь там мессагу выводимую. Ищешь ссылки на нее. Смотришь откуда все это вызывается. И откуда туда попадается - это проще в дебагере. далее смотришь че там происходит и меняешь условие перехода.
На бумаге все просто. Но если прога написана руками (бывает и такое :)) то жопу можно порвать основательно.
Отправлено: 16.01.2002, 00:51
Отправитель: Painbringer (регистрация: 28/12/2001, ответов на счету: 301)
URL: http://limanski.narod.ru - нечто наподобие домашней страницы
ICQ 146861957
Россия, Дзержинск, Нижегородская обл.
_______________
Отвечает Калашников Олег
Здравствуйте, Vitali!
Вы мне не подскажете, в какой программе и в какой кодировке вставляли в форму Ваш вопрос?
Дело в том, что пришел он совсем непонятно в каком виде!
Администратор.
Отправлено: 16.01.2002, 03:14
Отправитель: Калашников Олег (регистрация: 29/12/2001, ответов на счету: 28)
Тел.: (095) 492-23-53
URL: http://www.kalashnikoff.ru - Информационный ресурс
ICQ № 68951340
Россия, Москва
_______________
Отвечает DivX
Добрый день, Vitali!
Вообще-то таймер не установливается, просто берется дата NN/NN/NN(условно) первой загрузки, а потом программа при каждом новом запуске в момент MM/MM/MM(тоже условно) проверяет не запустили ли ее через число дней большее число дней чем X и делает это следующим способом:
если MM/MM/MM - NN/NN/NN > X то отрубаюсь
Есть другой более надежный способ: программа заводит переменную(в постоянной памяти) и фиксирует там время последнего запуска и число прошедших дней так, что часы как не меняй - у программы все равно будут свои сведения.
Как это отключить? Это зависит от того где программа зранит свои данные, иногда может помочь Registry Tracker, а иногда и SoftIce не помогает. Но могу заверить, что обычно это фиксируется в реестре, естественно не явным образом.
ЗЫ. А вообще лучший способ "отключить таймер" - сходить на astalavista.box.sk ;)
Отправлено: 16.01.2002, 07:00
Отправитель: DivX (регистрация: 28/12/2001, ответов на счету: 131)
_______________
Отвечает Vladimir
Добрый день, Vitali!
Обычно такие программы работают с реестром, т.е. прописывают в реестр дату инсталляции и от нее отсчитывают количество дней. Попробуй поискать в реестре значения, касающиеся твоей программы и изменить их. Как вернуться, в случае неудачи, к старому реестру, было в одной из прошлых рассылок дней пять назад.
Желаю удачи
Отправлено: 16.01.2002, 09:33
Отправитель: Vladimir (регистрация: 28/12/2001, ответов на счету: 25)
Россия, Конаково Тверской обл.
_______________
Отвечает Sensey
Здравствуйте, Vitali!
1. рПУМЕ ДЕЙОУФБМСГЙЙ РПРТПВХК РПЮЙУФЙФШ ТЕЕУФТ ТХЮЛБНЙ. уН. рТЙНЕЮБОЙЕ
2. хУФБОПЧЙ УЙУФЕНОХА ДБФХ ОБ ФП ЧТЕНС, ЛПЗДБ РТПЗБ ТБВПФБМБ. уН. рТЙНЕЮБОЙЕ.
3. оБЙМХЮЫЙК ЧБТЙБОФ: рЕТЕХУФБОПЧЙ ЧЙОДХ, РПУФБЧШ 2070 ЗПД, ХУФБОПЧЙ РТПЗХ, РПУФБЧШ ОПТНБМШОХА ДБФХ Й РПМШЪХКУС. иПФС УН. рТЙНЕЮБОЙЕ
---
рТЙНЕЮБОЙЕ. еУМЙ РТБЧЙМШОП ОБРЙУБОБ РТПЗБ, ЬФП ОЕ РПНПЦЕФ.
Отправлено: 16.01.2002, 10:30
Отправитель: Sensey (регистрация: 28/12/2001, ответов на счету: 269)
Тел.: (0572) 41-76-04 д.
ICQ 105679124 - пока не работает
Украина, Харьков
_______________
Отвечает Broken Sword
Здравствуйте, Vitali!
Можно конечно, все можно... Но зависит от того, кто писал прогу - серьозные люди или ламера с jmp-ами.
Если это второй вариант (ламера с джампами), то тут все просто. Может оказаться до того просто, что простым переводом часов можно вернуть проге жизнь. На шаг сложнее может оказаться вариант, когда прога прописывает хрень в реестре (это как раз твой вариант). Тогда нужно перед установкой этой проги сохранять реестр, или какой нить regcleaner... незнаю, не мой метод.
Вариант посложнее, когда прога перехватывает таймер и ведет в себе собственный счетчик, но при определенных навыках можно и эту фишку выпасти.
Серьозная прога - это уже не 1 и не 2 проверки, может доходить до 5-6, причем с такими алгоритмами шифрования, что реально разобраться - просто нереально (каламбур).
а вообще что за прога интересно?
Отправлено: 16.01.2002, 15:35
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 312)
Украина, Одесса
Вопрос № 49 |
Delphi ...
asm
mov ax,'abcd'
mov [address of buffer],ax
end;
...
Действительно ли после такого кода я, например в notepad'е, нажав shift+ins и увижу стоку 'abcd'?
Спасибо!
Отправитель: Net@2k
Вопрос отправлен: 15.01.2002, 23:58
Подгруппа: Общие вопросы по программированию на Ассемблере под Win32
_______________
Отвечает Painbringer
Доброе время суток, Net@2k!
Х.я лысого ты увидишь. Этож защищенный режим и никто тебе не даст таким макаром пихать везде где ни попадя. Если тебе надо на делфе с буфером обмена работать так используй соответствующие компонент - TClipboard.
Отправлено: 16.01.2002, 00:51
Отправитель: Painbringer (регистрация: 28/12/2001, ответов на счету: 301)
URL: http://limanski.narod.ru - нечто наподобие домашней страницы
ICQ 146861957
Россия, Дзержинск, Нижегородская обл.
_______________
Отвечает Broken Sword
Доброе время суток, Net@2k!
нет, это гон какой-то
Отправлено: 16.01.2002, 15:35
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 312)
Украина, Одесса
Форма отправки сообщения |
Внимательно(!) заполните приведенную
ниже форму для того, чтобы отправить вопрос или дополнение к ответам.
Дополнительную информации по пользованию формой для подписчиков и экспертов
можно получить, нажав на знак вопроса в соответствующем разделе, при этом
информация будет отображена в отдельном окне.
В программе The Bat! форма не
работает.
(C) 2002 Россия, Москва. Экспертные группыKalashnikoff.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||