Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
"Ассемблер? Это просто! Учимся программировать (FAQ)"
Выпуск № 190
от 17.02.2002, 02:05
Администратор: Калашников Олег
Сайт Администратора: Программирование на Ассемблере
Старейшины рассылки |
1. Broken Sword - ответов: 354. 2. Painbringer (нечто наподобие домашней страницы) - ответов: 337. 3. Sensey - ответов: 298. 4. Dron (Операционная система с нуля!) - ответов: 247. 5. DiGiT - ответов: 198. |
Новости |
Вопрос № 404 |
Здравствуйте!
Извеняюсь если вопрос не по теме.
У меня такая проблема:
При включении компьютера, он с первого раза не включается, т.е. комп.
начинает работать(горит красная лампочка, мигает cdrom), но на экран ничего не
выводится и комп не загружается. Выключаешь его(от сети) ждешь 30-40 сек.
включаешь и все нормально. Так же если заходишь в биос меняшь какие либо
настройки потом save and exit y и он не перезагружается, приходится его
выключать(от сети) ждать 30-40 сек. а потом опять включать. Иногда при
перезагрузке просто лампочка на мониторе гаснет и он перезагружается,
потом идет идет презегрузка и посередине опять лампочка гаснет и заново, и так
пока его не отключешь и не подождешь опять таки 30-40 сек.
Проблемы с hard'ом исключаю(хотя кто его знает) так как я вообще там ничего не трогал, все
работало отлично.
Заранее благодарен за ответы.
Отправитель: vadim
Вопрос отправлен: 12.02.2002, 01:44
Подгруппа: Модели, виды и типы компьютеров (hard)
_______________
Отвечает VicSimon
Приветствую Вас, vadim!
Попробуйте перешить BIOS. Возможны также проблемы с блоком питания.
Отправлено: 12.02.2002, 06:26
Отправитель: VicSimon (регистрация: 25/01/2002, ответов на счету: 12)
Россия, Красноярск
_______________
Отвечает змей
Приветствую Вас, vadim!
Слухай, у тя какой БП?? если АТХ то у них бывает такая бага
что 3 и 4 (черный и зеленый)коттакты на разъеме остаються замкнутые по вторичной цепи БП когда с мамки пошел сигнал на выключение компа и 5в остаются сидеть на плате после чего команда на запуск не проходит..
если АТ БП то возможно что мама глючит
Отправлено: 12.02.2002, 08:34
Отправитель: змей (регистрация: 28/12/2001, ответов на счету: 181)
_______________
Отвечает Nick
Доброе время суток, vadim!
вероятная проблема - мощность блока питания, попробуй где нибудь найти блок помощнее и проверь
С уважением Nick
Отправлено: 12.02.2002, 13:11
Отправитель: Nick (регистрация: 30/01/2002, ответов на счету: 20)
Украина, Харьков
_______________
Отвечает Painbringer
Здравствуйте, vadim!
я так понял, что hardом ты обозвал железо. ну так вот проблемы у тебя именно с железом. скорее всего это мама. но может и память например или проц. попробуй пошатать память или поменять местами свои dimmы или кто там у тебя.
попробуй свою память и проц на другой тачке.
если есть гарантия - тащи в магазин.
Отправлено: 13.02.2002, 17:26
Отправитель: Painbringer (регистрация: 28/12/2001, ответов на счету: 337)
URL: http://limanski.narod.ru - нечто наподобие домашней страницы
ICQ 146861957
Россия, Дзержинск, Нижегородская обл.
Вопрос № 406 |
Здраствуйте уважаемые ЭКСПЕРТЫ!!!
Тут у меня проблема возникла. Суть вот в чем: есть винт, он поделен на два диска, на одном из которых стоит винд 2000НТ(NTFS), а на другом просто очень нужная информация. Нужно отформатировать тот диск где винд стоит не затронув другой. Или хотябы просто винд снести. Это очень срочно!!! Помогите, как это сделать???!!!
Да, чуть не забыл, один диск фат 32, а другой, где винд - НТФС(так это вроде называется :-))))!!!
С уважением IntroX.
Отправитель: IntroX
Вопрос отправлен: 12.02.2002, 12:56
Подгруппа: Модели, виды и типы компьютеров (hard)
_______________
Отвечает змей
Добрый день, IntroX!
В чем проблема, загрузись бутовой дискеты 98-ой или какой нить
и просто отформатируй, или лучше запусти fdisk и убей нон досовские разделы, меньше гимора
Отправлено: 12.02.2002, 13:05
Отправитель: змей (регистрация: 28/12/2001, ответов на счету: 181)
_______________
Отвечает VicSimon
Добрый день, IntroX!
Если я правильно понял, необходимо просто снести НТФС раздел?
Для этого грузимся с дискетки от Win9x, запускаем fdisk, удаляем раздел (В поле тип у раздела с NTFS будет что-то вроде Non DOS).
Отправлено: 12.02.2002, 13:51
Отправитель: VicSimon (регистрация: 25/01/2002, ответов на счету: 12)
Россия, Красноярск
_______________
Отвечает Den
Доброе время суток, IntroX!
Так в чем проблема? Запускаешь любой диск менеджер ис под доса, который поддерживает NTFS 5 и форматируешь раздел с виндой.
Программу посоветую партишн мажик (версия начиная с 4-ой), она создает загрузочную дискету - с нее грузишся, а там все понятно.
Отправлено: 12.02.2002, 14:12
Отправитель: Den (регистрация: 28/12/2001, ответов на счету: 18)
Россия, СПб, Ломоносов
_______________
Отвечает Stranger
Приветствую Вас, IntroX!
Один из способов:
1. Грузимся с дискетки, системной от Win98.
2. Запускаем FDISK.
3. Удаляем раздел NTFS.
4. Выходим и форматируем его под FAT32.
Все. Метод действиный, сам недавно сносил 2000.
Отправлено: 12.02.2002, 14:39
Отправитель: Stranger (регистрация: 28/12/2001, ответов на счету: 11)
_______________
Отвечает Nick
Доброе время суток, IntroX!
Воспользуйся pqmagic 5.0 или выше, он позволяет
С уважением Nick
Отправлено: 12.02.2002, 17:50
Отправитель: Nick (регистрация: 30/01/2002, ответов на счету: 20)
Украина, Харьков
_______________
Отвечает DiGiT
Добрый день, IntroX!
Лучше конечно второй винт и на него слить. Если у тя NTFS стоит вторым, то fdisk'om. Пробуй линуховым fdiskom. Т.е. не ставь ее а во время инсталляции почикай свой диск fdisk'om, а потом выйди.
Отправлено: 13.02.2002, 10:41
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 198)
ICQ:133534725
Russia(),Student
_______________
Отвечает Painbringer
Приветствую Вас, IntroX!
а проблема то в чём? типа тебе надо нтфс покилать. мона сделать так. ставим на фатовский раздел мастдай (98) и устанавливаем в не partition magic. делаем из нтфс фат. сносим 2000 и 98. ставим 98 или кого ты там ставить собрался на диск где раньше 2000 был. усё.
Отправлено: 13.02.2002, 17:26
Отправитель: Painbringer (регистрация: 28/12/2001, ответов на счету: 337)
URL: http://limanski.narod.ru - нечто наподобие домашней страницы
ICQ 146861957
Россия, Дзержинск, Нижегородская обл.
_______________
Отвечает Cardinal
Здравствуйте, IntroX!
И в чем вопрос-то? Есть 2 раздела, полностью независимых друг от друга. Соответственно, каждый можно форматировать автономно, другого эта участь не постигнет. Если возникает вопрос как и чем, то ответ таков: грузишься под дос с дискетки (диска) и работаешь fdisk'ом. Он сам тебе всё расскажет.
Отправлено: 13.02.2002, 18:25
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 27)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону
Вопрос № 407 |
Здравствуйте, уважаемые эксперты!
На рассылку подписался давно, но изучать асм начал совсем недавно, и сразу же возникла куча вопросов:
1. Почему не работает прога? Пробовал mov dx, 0B800h и
mov dx, [0B800h], но все равно в файле screen.txt какой-то мусор.
2. Чем отличаются команды mov dx, es:[di] от mov dx, es:di?
3. (для кучи) Раньше в Opera v5.12 в меню Файл->Настройки был пункт "Личные данные", теперь он куда-то исчез. Что делать?
Приложение:
Отправитель: Artem aka ClS
Вопрос отправлен: 12.02.2002, 18:12
Подгруппа: Общие вопросы по программированию на Ассемблере под DOS
_______________
Отвечает Dron
Доброе время суток, Artem aka ClS!
b800 - это вообще-то сегментный адрес, его надо засылать в es.
а di начинается от 0 и идет до 80*25*2
Отправлено: 12.02.2002, 18:22
Отправитель: Dron (регистрация: 28/12/2001, ответов на счету: 247)
URL: http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!
_______________
Отвечает BMR
Здравствуйте, Artem aka ClS!
По 1 - Надо не mov dx,0b800h, a
mov dx,0b800h
mov ds,dx
xor dx,dx
В файл пишется из памяти с адресом DS:DX
2. di - значение регистра [di] - значение переменной по адресу di
Отправлено: 12.02.2002, 19:20
Отправитель: BMR (регистрация: 10/02/2002, ответов на счету: 14)
Россия, Пенза
_______________
Отвечает Артём Шегеда
Приветствую Вас, Artem aka ClS!
Маленькое вступление. Я под парами C2H5OH. Посему прошу простить некоторые очепятки.
Никакого отношения загрузка dx к работоспособности твоей проги не имеет. Выполни три операции вместо загрузки dx:
mov dx,0B800h
mov ds,dx
xor dx,dx
- и всё будет в ажуре.
Вопрос второй: никакого. В режиме MASM это две одинаковые команды. Но первый вариант корректнее.
Вопрос третий:
ИМЕЮ Opera 6.01 - ни каких проблем. Правда, эту страничку не заполнял. Но она имеет место быть. И ни куда никогда не пропадала.
Отправлено: 12.02.2002, 20:00
Отправитель: Артём Шегеда (регистрация: 28/12/2001, ответов на счету: 51)
URL: http://www.shegeda.chat.ru/ - Пристанище неодинокого программиста
x-USSR, Харьков
_______________
Отвечает Broken Sword
Приветствую Вас, Artem aka ClS!
Ну наконец то ! Первый вопрос по асму в RM за последние 2 месяца !
Значит так. Начнем с ошибок в проге.
1. Чего у тебя нет вообще:
- Где открываем файл ? 3Ch - это только СОЗДАЕМ, но никак не открываем !
- Где установка указателя в начало файла ? Тоже нет...
2. Ошибки в проге:
- В секции "Создаем и открываем файл у тебя есть mov handle, ax. Так вот он нам не нужен. Нам нужен хэндл, к-рый появиться после ОТКРЫТИЯ (!) файла.
- В секции "Записываем в файл экран" ты напутал вообще. У тебя offset должен быть в DX, а ты зачем то пихаешь в DX сегмент. В DX ДОЛЖНО БЫТЬ СМЕЩЕНИЕ (0)!
Еще что. У тебя в CX (кол-во записываемых байт) = 7D0h, я так понял, ты исходил из воображений
25 строк * 80 столбцов = 7D0h байт. Так ?
На самом деле не совсем. Дело в том, что один символ на экране кодируется ДВУМЯ байтами (атрибуты/ASCII)! Т.е. в строке 160 БАЙТ, а не 80 !!!
Поэтому нада в CX пихать 25*80*2 = 0FA0h
3. Общие рекомендации:
- mov XX,00 = xor XX,XX, ну это уже классика
- не таскай по всему коду этот handle ! Он тебе вообще не нужен! Старайся манипулировать переменной "из регистра в регистр", а не обращаться каждый раз к переменной в памяти.
- int 20h = retn, ну это вообще ты обязан просто знать
p.s. В приложении смотри мой исходник с комментариями. Еще что. Скопировав экран в файл ты действительно увидишь, что половина файла - мусор. А конкретно перед каждым реальным символом экрана стоит непонятный значек. Это, как я уже говорил выше, символ кодируется двумя байтами - один тот что мы видим, а второй, который на экране не видно, но он на самом деле есть - попадает в файл - ЭТО И ЕСТЬ ТОТ САМЫЙ АТРИБУТ! Например, 0Dh - фиолетовый цвет, и если в сегменте 0B800h записать слово 0D41h, то мы увидим фиолетовую букву А (англицкая), тогда как в файл скопируется ASCII представление атрибута - 41h так и останется буквой А, а 0D - это нота какаято.. ну вообщем ты понял о чем речь
Приложение:
Отправлено: 12.02.2002, 23:19
Отправитель: Broken Sword (регистрация: 28/12/2001, ответов на счету: 354)
ICQ#64476575
Украина, Одесса
_______________
Отвечает VicSimon
Добрый день, Artem aka ClS!
1. Функция 40h записывает в файл буфер, адресуемый ds:[dx]. То есть в твоем случае
Кроме того, при таком копировании в файл будут записаны не только отображаемые символы, но и их атрибуты.
2. Команды mov dx, es:di в процессорах x86 не существует!
es:[di] - косвенная регистровая адресация.
3. Не знаю.
Приложение:
Отправлено: 13.02.2002, 08:18
Отправитель: VicSimon (регистрация: 25/01/2002, ответов на счету: 12)
Россия, Красноярск
_______________
Отвечает DiGiT
Добрый день, Artem aka ClS!
Так ты елки палки, в ds То нифига не запихал.
Делай так
push ds
mov bx, handle
mov ax,0b800h
xor dx,dx ;если нужно с нуля считывать.
mov ds,ax ;в ds 0b800h
mov cx, 7D0h ;будем надеяться что тебе столько и надо
mov ah, 40h
int 21h
pop ds
убери ss:CSEG
P.S. Вместо mov register,0
Используй xor register,register
Отправлено: 13.02.2002, 10:31
Отправитель: DiGiT (регистрация: 28/12/2001, ответов на счету: 198)
ICQ:133534725
Russia(),Student
_______________
Отвечает Ayl
Здравствуйте, Artem aka ClS!
Ну, сразу же в глаза бросаются 2 ошибки. В фрагменте записи в файл вообще-то должно предполагаться нахождение записываемой в файл области памяти по адресу 0b800h:0000h, а не ds:0b800h, как написано в программе.
Во-вторых, количество записываемых в файл байт должно равняться 4000 (0fa0h), а не 2000 (07d0h).
Поэтому вместо строк
mov dx, 0b800h
mov cx, 7D0h
int 21h
должно стоять
push ds
mov dx, 0b800h
mov ds, dx
xor dx, dx
mov cx, 0fa0h
int 21h
pop ds
Отправлено: 13.02.2002, 19:21
Отправитель: Ayl (регистрация: 28/12/2001, ответов на счету: 158)
Россия, Санкт-Петербург
_______________
Отвечает AL
Здравствуйте, Artem aka ClS!
Отправлено: 13.02.2002, 22:07
Отправитель: AL (регистрация: 12/02/2002, ответов на счету: 4)
Alexin
Вопрос № 408 |
Уважаемые эксперты!
Прочитал я в недавней рассылке ваши советы вешать винт и сидюк на разные шлейфы и решил последовать совету. Подключаю так: на primary только винт, на secondary только сидюк. Вроде все правильно, но в биосе винт не определяется совсем, а сидюк определяется. В чем тут дело? Шлейфы работоспособные, джампер правильно воткнут; винт WD 20Гб, материнка - что-то безымянное с интегрированным видео SiS530 и интегрир. звуком C-Media (может кто знает что это за материнка?).
Заранее благодарен за ответ.
Отправитель: Rust_br
Вопрос отправлен: 12.02.2002, 21:08
Подгруппа: Модели, виды и типы компьютеров (hard)
_______________
Отвечает Painbringer
Добрый день, Rust_br!
чувак! так не бывает! если шлейфы работоспособные, а джампера воткнуты правильно, то неправильно воткнуты руки!!! проверь, что и винт и сидюк мастера и сидят на ближнем к матери разъеме шлейфа. еще раз все выткни и воткни, ведь, как известно, электроника - наука о контактах.
Отправлено: 13.02.2002, 17:25
Отправитель: Painbringer (регистрация: 28/12/2001, ответов на счету: 337)
URL: http://limanski.narod.ru - нечто наподобие домашней страницы
ICQ 146861957
Россия, Дзержинск, Нижегородская обл.
_______________
Отвечает Cardinal
Здравствуйте, Rust_br!
Ну это из жанра фантастики. Мучай БИОС и проверь, хорошо ли воткнуты шлейфы. (А может пыль попала?). Подается ли питание.
Да вообще, можно было бы заикнуться про работоспособность порта, но ведь до того на нем всё работало, а сейчас работает и второй (CD)? Да, а на сидюке джампера смотрел?
Отправлено: 13.02.2002, 18:26
Отправитель: Cardinal (регистрация: 22/01/2002, ответов на счету: 27)
ДГТУ
evg_list@aport2000.ru
Россия, Ростов-на-Дону
Вопрос № 409 |
Здравствуйте, эксперты!
У меня СофтАйс 4.05 грузится при загрузке Винды,т.е. прописан в автоекзеке. При нажатии Ctrl+D появляется экран отладчика, причем клава не работает, а мышь работает не правильно, бегает быстро, при этом выйти из отладчика можно только перезагрузив комп через 3 клавиши. Помогите правильно настроить СофтАйс и каков принцип отладки проги в нем.
Заранее благодарю.
Отправитель: Эдуард
Вопрос отправлен: 12.02.2002, 22:39
Подгруппа: Пользовательская работа с Windows
_______________
Отвечает змей
Здравствуйте, Эдуард!
Слухай, ты наверное esc жмешь? чтобы выйти нажми F5
либо набери X и нажми ентер
а работаешь так же как и сдругими отладчиками трассируешь
и смотришь значения регистров (а ассемблер знаешь?)
Отправлено: 13.02.2002, 08:09
Отправитель: змей (регистрация: 28/12/2001, ответов на счету: 181)
_______________
Отвечает freeseacher
Приветствую Вас, Эдуард!
Во первых RTFM!
Во вторых если мыщь бешаная, то либо
1. она на PS/2 тогда поставь галочку на InteliMouse, у меня проканало
2. если все еще бесится, то жми ctrl M два раза!
во третьих есть файл winice.dat там ты найдешь не мало интересного(при малейшем знании English) например разремь строки
EXP=c:\windows\system\kernel32.dll
EXP=c:\windows\system\user32.dll
EXP=c:\windows\system\gdi32.dll
так ему веселее жить будет и тебе тоже!
в четвертых RTFM
в пятых
1. F8 с заходом в процедуры
2. F10 без захода
3. help в ком строке все остальное!
Отправлено: 16.02.2002, 07:08
Отправитель: freeseacher (регистрация: 03/02/2002, ответов на счету: 16)
Тел.: 8(3832)366362
Новосибирск
Форма отправки сообщения |
Внимательно(!) заполните приведенную ниже форму для того, чтобы отправить вопрос или дополнение к ответам. Дополнительную информации по пользованию формой для подписчиков и экспертов можно получить, нажав на знак вопроса в соответствующем разделе, при этом информация будет отображена в отдельном окне.
В почтовых программах форма не работает!!! Открывайте рассылку в браузере Internet Explorer, где и набирайте Ваш вопрос.
© 2000 - 2002 Россия, Москва. Авторское право: Калашников О. А. |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||