Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 537
от 06.05.2003, 10:00
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 3137 Отправлено ответов: 9210 Активность: 293.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Hangatyr Статус: Доверительный Общий рейтинг: 126.7 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 150.51 URL: Программирование [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 108.32 URL: Страничка обо мне и моих друзьях Телефон: +7 902 168 02 65 [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.05 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 134.38 URL: Задачи по ассемблеру Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Ramzes Статус: Опытный Общий рейтинг: 130.79 URL: Microsoft homepage [Подробней >>] |
Igoryk Статус: Профессиональный Общий рейтинг: 118.23 URL: IgorykSoft [Подробней >>] |
Andrew Vext Статус: Опытный Общий рейтинг: 106.09 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 140.03 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 115.45 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 118.99 [Подробней >>] |
keleb-glin Статус: Опытный Общий рейтинг: 109.75 [Подробней >>] |
Eugene Статус: Профессиональный Общий рейтинг: 108.71 URL: мощный файловый архив [Подробней >>] |
Dark_Lord Статус: Профессиональный Общий рейтинг: 114.1 [Подробней >>] |
Tigran K. Kalaidjian Статус: Доверительный Общий рейтинг: 114.46 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 3099. Доброе время суток! Какие были минимальные параметры для работы Win95??? Меня интересует процессор. ... (ответов: 10)
Вопрос № 3100. Здравствуйте уважаемые эксперты!Беспокою по вопросу №3066 вывод бита мерцания,сделал вроде все прави... (ответов: 4)
Вопрос № 3101. Спасибо за быстрый ответ Hangatyr!Вопрос №3066. Но всё равно не мерцает,не хочет и всё тут!Код прове... (ответов: 1)
Вопрос № 3102. Здрасте! В одной из рассылок по программированию затронули интересную тему - динамический массив. Мо... (ответов: 4)
Вопрос № 3103. У меня вообщето не вопрос...просто я хотел выразить огромную благодарность одному человеку.Его имя К... (ответов: 1)
Вопрос № 3104. Нужно получить количество головок, цилиндров и секторов жесткого диска. Использовал функцию 80h прер... (ответов: 2)
Вопрос № 3105. Здравствуйте эксперты! 1. Каким образом можно _программно_ слить/залить BIOS? 2. Тут вопрос/ответ да... (ответов: 3)
Вопрос № 3106. Доброго времени суток! Вот скажем в регистр АХ у нас устанавливается значение 01010100b так вот как ... (ответов: 10)
Вопрос № 3107. Добрый день ув.Эксперты... 1) Как при помощи АПИ записать дату в файл.... записую так.... invoke Cre... (ответов: 2)
Вопросов: 9, ответов: 37
Вопрос № 3099 |
Доброе время суток!
Какие были минимальные параметры для работы Win95??? Меня интересует процессор. Я точно знаю, что катила на Pentium. Работала ли Win95 на 386/486 ???
P.S. Спасибо masquer за чувство юмора при ответе на вопрос № 3068 :). Спасибо и всем осталным: Tigran K. Kalaidjian, Portnov
Вопрос отправлен: 01.05.2003, 16:29
Отправитель: Илья (b.i@date.by)
[Следующий вопрос >>] [Список вопросов]
Отвечает Hangatyr
Доброе время суток, Илья!
В теории должна была работать на 386DX-20, но на практике... сам понимаешь, на 486 более или менее...
Ответ отправлен: 01.05.2003, 19:14
Отправитель: Hangatyr
Отвечает Bob Johnson
Здравствуйте, Илья!
Windows 95 требует 386 и выше, хотя на 386 будет очень сильно тормозить. Еще надо 8 мб памяти для установки, после вроде можно и на 4-х гонять.
Ответ отправлен: 01.05.2003, 23:46
Отправитель: Bob Johnson
Отвечает Gibbel
Здравствуйте, Илья!
Мелкософт грит, что 386... Реально - на 486 работала...
Ответ отправлен: 01.05.2003, 19:05
Отправитель: Gibbel
Отвечает vitya
Добрый день, Илья!
386 процессора должно быть достаточно. Но для того, чтобы можно было хоть немного удобно работать советую не меньше 486DX и 16 или 32 мб ОЗУ.
Ответ отправлен: 02.05.2003, 15:24
Отправитель: vitya
Отвечает Maverick
Приветствую Вас, Илья!
Ну у меня есть комп такой конфигурации.
386 DX33, 4Mb оперативы, 512 видюха, 2гига винт и винда 95 с 97 вордом.
И работает ништяк, не жалуюсь.
Правда игры от 4 пенька не пашут почему то и XP не ставится.
Ответ отправлен: 05.05.2003, 09:51
Отправитель: Maverick
Отвечает Ramzes
Здравствуйте, Илья!
Под 486 точно работала, под 386 не знаю...
Ответ отправлен: 02.05.2003, 14:06
Отправитель: Ramzes
Отвечает Igoryk
Добрый день, Илья!
На 486DX4 c тактовой 100 MHz идет без проблем.
Ответ отправлен: 01.05.2003, 20:37
Отправитель: Igoryk
Отвечает Andrew Vext
Приветствую Вас, Илья!
Минимальная конфигурация, проверенная мной лично.
486/33Мгц 4Мб RAM.
Работает win95 (OSR 2 уже не работает) и Office 95.
Ответ отправлен: 03.05.2003, 13:03
Отправитель: Andrew Vext
Отвечает masquer
Доброе время суток, Илья!
Я запускал и на 386 с 4 Мб памяти - минимально возможная конфигурация, правда, это был скорее эксперимент, полчаса загрузки :) Правда, устанавливаться она не хотела, пришлось заставлять с применением грубой силы.
Ответ отправлен: 02.05.2003, 13:31
Отправитель: masquer
Отвечает ASMодей
Приветствую Вас, Илья!
На четверках работала точно, а вот насчет троек не знаю, но
мелкомягкие уверяли что должна работать.
Ответ отправлен: 02.05.2003, 10:40
Отправитель: ASMодей
Вопрос № 3100 |
Здравствуйте уважаемые эксперты!Беспокою по вопросу №3066 вывод бита мерцания,сделал вроде все правильно,но никак не хочет он мерцать,видимо в BIOS'е что то отключено,судя по вашим ответам,хотелось бы узнать,как включить это мерцание?
Приложение:
Вопрос отправлен: 01.05.2003, 17:12
Отправитель: dim-a
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, dim-a!
Надеюсь, что у тебя не хуже, чем EGA :-)
Код такой:
mov ax, 1003h
mov bl, 1
int 10h ; разрешить мерцание символов
Если вместо 1 в BL записать 0, то вместо мерцающих символов будут доступны 16 цветов фона.
Ответ отправлен: 05.05.2003, 12:36
Отправитель: Ayl
Отвечает Hangatyr
Здравствуйте, dim-a!
Все у тебя правильно. Попробуй установить видеорежим 80*25 (в приложении).
Приложение:
Ответ отправлен: 01.05.2003, 17:50
Отправитель: Hangatyr
Отвечает keleb-glin
Приветствую Вас, dim-a!
У меня всё нормально мигает. Так что, видимо, у вас выключено мигание.
На EGA-и-выше картах его удобнее всего включать с помощью int 10h с ах=1003h, bl = 01h ( = 00h для выключения ).
Можно ещё через порты, но это гемор.
Хотя, вообще, странно, что мигание было выключено. По умолчанию оно включено.
Ответ отправлен: 01.05.2003, 21:12
Отправитель: keleb-glin
Отвечает ASMодей
Приветствую Вас, dim-a!
Перед выводом символа сделай следующее:
mov ax,1003h
mob bl,1
int 10h
Ответ отправлен: 02.05.2003, 10:41
Отправитель: ASMодей
Вопрос № 3101 |
Спасибо за быстрый ответ Hangatyr!Вопрос №3066. Но всё равно не мерцает,не хочет и всё тут!Код проверял,пробовал даже просто копировать(так что это не описка в коде),все равно не хочет,может другая причина?
Вопрос отправлен: 01.05.2003, 20:34
Отправитель: dim-a
[Следующий вопрос >>] [Список вопросов]
Отвечает Hangatyr
Доброе время суток, dim-a!
Под какой осью тестишь?
Вот мой мыл - hangatyr@mail.ru - чтобы не спамить рассылку.
Ответ отправлен: 01.05.2003, 21:07
Отправитель: Hangatyr
Вопрос № 3102 |
Здрасте!
В одной из рассылок по программированию затронули интересную тему - динамический массив. Можно ли его реализовать на assm'е ? Мне кажется, что только через mapping. У кого какие идеи ?
Илья. mis421@list.ru
Вопрос отправлен: 01.05.2003, 20:50
Отправитель: илья (mis421@list.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, илья!
Используй функцию HeapAlloc и можешь создать себе динамический массив. Mapping тут совсем не нужен.
Ответ отправлен: 01.05.2003, 23:50
Отправитель: Bob Johnson
Отвечает masquer
Приветствую Вас, илья!
Я себе иногда через SEH делаю, т.е. выделяю минимальный участок, если его не хватает, то срабатывает защита страниц, управление получает мой SEH обработчик, который решает - продолжать выделять, очистить имеющийся, выйти вообще etc.
Ответ отправлен: 02.05.2003, 13:43
Отправитель: masquer
Отвечает keleb-glin
Здравствуйте, илья!
Можно через стандартные функции ДОС. Это, по-моему int 50h, и про них хорошо написано в Зубкове.
Ответ отправлен: 01.05.2003, 21:14
Отправитель: keleb-glin
Отвечает ASMодей
Доброе время суток, илья!
На ассемблере можно сделать абсолютно все, что реализовано на
языках высокого уровня, в том числе и динамические массивы.
Если ты пишешь под операционкой, которая может выделять память,
то в чем здесь могут возникнуть проблемы?
Ответ отправлен: 02.05.2003, 10:42
Отправитель: ASMодей
Вопрос № 3103 |
У меня вообщето не вопрос...просто я хотел выразить огромную благодарность одному человеку.Его имя Калашников Олег, да и потренироваться бить по клаве :-).Олег я вам благодарен за то, что вы тратив свое личное время, помогли такому большому большому кол-ву людей изучить прекраснеший язык Assemebler.А именно за вашу рассылку "Ассемблер это просто!Учимся программировать."С помощью вашей рассылки я легко продвигаюсь вперед.Если честно, то я таких людей в РУНЕТЕ не встречал...да и в жизни тоже наверное.Наша жизнь проклятая учит нас жить только для себя, родители учат детей "выживать".Прошли те времена, когда люди помогали друг другу, хотя я их и не помню толком(мне только 17).Мало сейчас людей готовых помочь другим.Можете считать, что вы внесли большой вклад в будущее отечественных программистов!Да...чего-то заговорился я.Ну вобщем я вам благодарен за себя и за тех кто не смог сделать это.Спасибо за саомопжертвование.Я думаю ваш великий постуопк послужит мне и многи молодым людям примером!Ваше имя, я думаю, многие благодарные люди не забудут.Respect!!!
Вопрос отправлен: 01.05.2003, 22:23
Отправитель: Bolt
[Следующий вопрос >>] [Список вопросов]
Отвечает Eugene
Добрый день, Bolt!
Переправил.
Ответ отправлен: 05.05.2003, 09:37
Отправитель: Eugene
Вопрос № 3104 |
Нужно получить количество головок, цилиндров и секторов жесткого диска. Использовал функцию 80h прерывания 13h, результат оказался неверный, т.е. он сходится с данными, к примеру, Sandra, но не сходится с тем, что написано на самом диске и в BIOS. Так вот, как получить реальное количество головок, цилиндров и секторов. И еще вопрос: как получить объем жесткого диска?
Вопрос отправлен: 02.05.2003, 07:34
Отправитель: Миха
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Доброе время суток, Миха!
int 13h ah=42h
Подробнее смотри на http://home.teleport.com/~brainy/interrupts.htm
Ответ отправлен: 03.05.2003, 11:25
Отправитель: Dark_Lord
Отвечает ASMодей
Добрый день, Миха!
Наверное ты все-таки использовал функцию 08h, а не 80h?
Тогда могу тебе сказать, что эта функция позволяет получать
параметры диска не превышающего по объему 8 гигабайт.
Если у тебя диск больше 8Гб, то используй расширение INT 13h:
функции 41h и выше. Но они будут работать только если BIOS
поддерживает диски объемом больше 8Гб.
Если же диск меньше 8Гб, то не обращай внимания на различия
между написанным на диске и возвращаемым INT 13h - это BIOS
специально конвертирует эти данные для того чтобы они вошли
в выдаваемый формат (10 бит на цилиндр, 8 бит на головку и
6 бит на сектор).
Ответ отправлен: 02.05.2003, 10:42
Отправитель: ASMодей
Вопрос № 3105 |
Здравствуйте эксперты!
1. Каким образом можно _программно_ слить/залить BIOS?
2. Тут вопрос/ответ давно в рассылке проскакивал, относительно _портов процессора_. Что это?
И если действительно существует (а не ашипка отвечавшего), то как и для чего их пользовать?
ЗЫ: Для особо любящих отвечать вопросом на вопрос уточняю, что имею ввиду камни x86.
Спасибо!
Вопрос отправлен: 02.05.2003, 07:38
Отправитель: noname
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Доброе время суток, noname!
А что такое "Порты процессора"? У процессора x86 есть пространство в 65536 портов. Он может записать или считать данные в любой из них. При этом адрес порта поступит на внешнюю шину адреса. Процессору же совершенно все равно, в какой порт он что записал - это уже декодирубт внешние устройства.
Ответ отправлен: 02.05.2003, 20:27
Отправитель: Bob Johnson
Отвечает Maverick
Добрый день, noname!
1.AMI с помощью прерываний прошивается, а вот AWARD никто толком не знает.
Ответ отправлен: 05.05.2003, 09:51
Отправитель: Maverick
Отвечает Hangatyr
Приветствую Вас, noname!
1. Сам над этим вопросом голову ломаю. Что только не делал и AwdFlash дизассеблировал, но понятней не стало.
2. Гм... правильнее будет сказать порты ввода-вывода.
А для чего их использовать? Хотя бы для того, чтобы "_программно_ слить/залить BIOS" ;) С их помощью можно взаимодействовать c оборудованием напрямую.
Ответ отправлен: 03.05.2003, 13:07
Отправитель: Hangatyr
Вопрос № 3106 |
Доброго времени суток!
Вот скажем в регистр АХ у нас устанавливается значение 01010100b так вот как определить что 6й байт установлен в единицу?
Вопрос отправлен: 02.05.2003, 07:42
Отправитель: Affy
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Доброе время суток, Affy!
bt база,смещение
считывает во флаг cf бит, номер которого находится в смещении. Требуется процессор 386. работает только со словами/двойными словами!
Ответ отправлен: 03.05.2003, 11:29
Отправитель: Dark_Lord
Отвечает Ayl
Приветствую Вас, Affy!
6-й байт? Это что такое? Может, все-таки бит? :-)
А вот так:
test ax, 01000000b ; проверить установку 6-го бита
jz @@No ; перейти, если не установлен
@@Yes:
; Сюда попадаем, если установлен
Ответ отправлен: 05.05.2003, 12:43
Отправитель: Ayl
Отвечает Bob Johnson
Доброе время суток, Affy!
Ты хотел сказать 6-й бит?
test ax, 64
jnz - установлен
Ответ отправлен: 02.05.2003, 20:27
Отправитель: Bob Johnson
Отвечает vitya
Добрый день, Affy!
test ax, 040h
jnz - бит = 1
jz - бет = 0
Ответ отправлен: 02.05.2003, 15:15
Отправитель: vitya
Отвечает Ramzes
Здравствуйте, Affy!
and ax, 1
если потом в ах "1", то b = 1, в пртивном случае b = 0.
Ответ отправлен: 02.05.2003, 14:13
Отправитель: Ramzes
Отвечает masquer
Здравствуйте, Affy!
6 бит только. Добавлю такой вариант
ror eax, 6+1
jc __bit6_contain_true
Ответ отправлен: 02.05.2003, 13:49
Отправитель: masquer
Отвечает Gibbel
Здравствуйте, Affy!
Используй комманду TEST
Ответ отправлен: 03.05.2003, 12:54
Отправитель: Gibbel
Отвечает Tigran K. Kalaidjian
Здравствуйте, Affy!
Вы имеете ввиду бит, насколько я понял.
делаем вот что:
test al, 00000100b
jnz ok
jmp no_ok
если 6-й бит - единица, то перескакиваем на метку ok, в отличном случае прыгаем на no_ok
Ответ отправлен: 02.05.2003, 12:31
Отправитель: Tigran K. Kalaidjian
Отвечает Hangatyr
Здравствуйте, Affy!
Ты, наверное, хотел сказать "бит"? Можно так:
test ax, 64
jnz @b1
или так:
bt eax, 6
jc @b1
Ответ отправлен: 02.05.2003, 08:58
Отправитель: Hangatyr
Отвечает ASMодей
Приветствую Вас, Affy!
Не байт, а бит, наверное?
Тогда так:
test al,01000000b
jnz l1 ; бит 6 установлен
или так:
rol al,2
jc l1 ; бит 6 установлен
или так:
bt ax,6
jc l1 ; бит 6 установлен
Ответ отправлен: 02.05.2003, 10:43
Отправитель: ASMодей
Вопрос № 3107 |
Добрый день ув.Эксперты...
1)
Как при помощи АПИ записать дату в файл....
записую так....
invoke CreateFile..............
invoke GetLocalTime,addr sys_time
invoke lstrlen,addr sys_time.wHour
invoke WriteFile,hFile,addr sys_time.wHour,eax,ADDR SizeReadWrite,NULL
invoke CloseHandle,hFile
...... ничего не пишет...
добавляю...
....
invoke SystemTimeToFileTime, addr sys_time, addr time_now
invoke lstrlen,addr time_now.dwHighDateTime
invoke WriteFile,hFile,addr time_now.dwHighDateTime,eax,ADDR SizeReadWrite,NULL
.... пишет.. но фигню якусь...
Может нужно представить в др. виде?
просьба сильно не ругаться...
2)Как работать (писать и читать) с ф-лами больших размеров?
3)Зачем нужна ф-ция SystemTimeToFileTime ? и что за dwLowDateTime и dwHighDateTime...
и чем они отличаются....?
4)Чем win32 7 отличается от win32 8?
Заранее благодарен
pAcU
Вопрос отправлен: 02.05.2003, 09:43
Отправитель: pAcU (pacu@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Приветствую Вас, pAcU!
1) Мы люди видим всё в Ascii формате, а ком в hex, поэтому, чтоб прочитать что-либо надо перевести всё это в читабельный для людей вид;)
2) Так-же
3) Время файла хранится в восьми байтах, измеряется в наносекундах, поэтому dwLowDateTime и dwHighDateTime единая переменная, .Low. значит его нижняя часть, .High. соответсвенно верхняя, тоесть само число равно:
dwLowDateTime + dwHighDateTime*0FFFFFFFFh
Ответ отправлен: 03.05.2003, 11:34
Отправитель: Dark_Lord
Отвечает Bob Johnson
Добрый день, pAcU!
В ОС Windows есть два способа представления даты (и времени): SYSTEMTIME и FILETIME. Первый способ предполагает, что каждый элемент даты (т.е. день или час) представлен отдельной переменной. Все вместе они составляют структуру SYSTEMTIME (см. MSDN для описания полей). Такой способ удобен для преобразования даты в строку, т.к. каждый элемент может быть легко преобразован. Но этот способ неудобен для сложения или вычитания, сравнения и т.д. дат - т.к. нужно будет заморачиваться конкретно. Для этого используется другой формат даты - FILETIME. В этом формате вся дата представляется как количество 100 наносекундных интервалов, прошедших с первого января 1601 года в виде 64-разрядного целого числа. Это удобнее для сложения и всего такого.
Если тебе нужно записать в файл дату не в текстовом виде, то преобразуй ее в FILETIME и затем запиши 8 байт. Этого будет достаточно. Если же в текстовом - то используй функцию wsprintf и SYSTEMTIME - вначале преобразуй дату в строку в нужном виде, а затем запиши в файл (но уже столько байт, сколько вернет wsprintf).
2. Что значит больших? Больше 4 Гб? Только на NTFS диске - там все просто, когда получаешь размер файла нужно указать адрес, куда будет положена старшая половина, ну и еще пару моментов. Но на FAT32 такие файлы не создашь...
3. Преобразовывать SYSTEMTIME в FILETIME. Есть функция для обратного преобразования. Полезные вещи, кстати. dwLowDateTime и тоже самое High - это просто два 32-разрядных числа, которые образуют 64-разрядную дату и время в формате FILETIME. Они нужны только вместе, сами по себе ничего полезного не несут.
Ответ отправлен: 02.05.2003, 20:27
Отправитель: Bob Johnson
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (37) C / C++ (29) Perl (7) Delphi (14) Pascal (26) Basic / VBA (10) Java / JavaScript (9) PHP (5) MySQL / MSSQL (5) |
Пользователю Windows 95/98/Me (31) Windows NT/2000/XP (26) "Железо" (24) Поиск информации (12) |
Администратору Windows NT/2000/XP (15) Linux / Unix (9) |
Юристу Гражданское право (8) Семейное право (4) Трудовое право (5) КоАП (4) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru *** Фотоальбом *** Virus.RusFAQ.ru *** Администрирование
© 2003 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||