Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 321
от 19.07.2002, 08:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 774 Отправлено ответов: 2189 Активность: 282.8 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Spike Статус: Доверительный Общий рейтинг: 117.18 [Подробней >>] |
Zloy Статус: Опытный Общий рейтинг: 105.91 URL: The полный отстой [Подробней >>] |
Gibbel Статус: Опытный Общий рейтинг: 109.41 URL: Страничка обо мне и моих друзьях [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 161.09 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 140.57 [Подробней >>] |
AnSim Статус: Опытный Общий рейтинг: 109.65 [Подробней >>] |
Александр Статус: Профессиональный Общий рейтинг: 117.09 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 137.23 Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
Guess Who Статус: Доверительный Общий рейтинг: 104.65 [Подробней >>] |
kvINT Статус: Опытный Общий рейтинг: 112.81 [Подробней >>] |
GL Статус: Опытный Общий рейтинг: 107.65 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 125.64 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 724. Здравия и долгих дней, уважаемые эксперты! Не сочтите вопрос за проявление лени - читать подробно вс... (ответов: 3)
Вопрос № 725. Братцы, подскажите, как можно снимать скриншоты с SoftIce? Есть примерно такой план: запускаем Айс, ... (ответов: 2)
Вопрос № 726. Здравствуйте, эксперты! Подскажите как переименовать файл под ДОС, я так догадываюсь специальной фун... (ответов: 4)
Вопрос № 727. Здравствуйте эксперты! Простенький такой вопрос, имеется смещение в BX и какое-то значение в перемен... (ответов: 5)
Вопрос № 730. Здравствуйте эксперты! Я по поводу вопроса №727. 2masquer - не и так не работает.:( Проверял, и TASM... (ответов: 1)
Вопрос № 731. Здравствуйте эксперты! Изучать Ассемблер начал недавно. Помогите пожалуйста разобраться со следующей... (ответов: 2)
Вопрос № 732. Здравствуйте эксперты! Есть такая штука как dq – значение с плавающей точкой с двойной точностью – т... (ответов: 1)
Вопрос № 733. Привет эксперты! Это конечно оффтопик, но мне нужен совет: что нужно использовать, что бы сделать сл... (ответов: 2)
Вопрос № 734. Для тех, кто непрочь пораскинуть мозгами. Вот проблема: в зависимости от числа (1...9) происходит пе... (ответов: 2)
Вопрос № 735. Здравствуйте, Эксперты! Не сочтите за труд прояснить один момент. Ситуация следующая. Задач... (ответов: 2)
Вопрос № 736. Господа эскперты рошу ответить мне на вопрос: Как у вас происходит процедура ответа на вопрос по пун... (ответов: 6)
Вопросов: 11, ответов: 30
Вопрос № 724 |
Здравия и долгих дней, уважаемые эксперты!
Не сочтите вопрос за проявление лени - читать подробно всю инфу просто времени сейчас нет.
Подскажите, какой видеорежим (лучше, чем 320х200х256 и 640х480х16) наиболее просто программируется? Очень хотелось бы что-то типа странички в памяти, которую легко засунуть в видеопамять и любоваться результатом (как, например, тот же 320х200х256).
Вопрос отправлен: 13.07.2002, 15:34
Отправитель: December
[Следующий вопрос >>] [Список вопросов]
Отвечает Spike
Здравствуйте, December!
Легче конечно 13h (320x200x256), т.к. для работы с 12h (640x480x16) требуется програмирование видеоадаптера, потому что в этом видеорежиме используется режим плоскостей.
Ответ отправлен: 14.07.2002, 13:22
Отправитель: Spike
Отвечает Zloy
Добрый день, December!
13h (320х200х256) попроще.
Ответ отправлен: 14.07.2002, 19:50
Отправитель: Zloy
Отвечает Gibbel
Доброе время суток, December!
Да со всеми можешь легко работать. Достаточно использовать VESA 2.0
Ответ отправлен: 15.07.2002, 10:07
Отправитель: Gibbel
Вопрос № 725 |
Братцы, подскажите, как можно снимать скриншоты с SoftIce?
Есть примерно такой план: запускаем Айс, делаем дам памяти в файл с адреса видеобуфера, потом как-то это все используем. Если алгоритм действительно такой, расскажите, пжлст, как это сделать технически.
Заранее сенкс.
Вопрос отправлен: 13.07.2002, 19:04
Отправитель: TanaT (tanat@smtp.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, TanaT!
Не скажу точно как все это делается, но если есть интерес, качай Icedump, там он добавляет команду для снятия экрана айса в файлик, и потом утилитка идет, которая все в html переделывает, с цветами и прочая. Все это в исходниках на асме идет, так что если есть интерес качай и разбирайся.
Ответ отправлен: 13.07.2002, 22:17
Отправитель: masquer
Отвечает Broken Sword
Доброе время суток, TanaT!
Это немного не ТО, но все же...
To save the contents of the SoftICE history buffer to a file,do the following:
1 Make sure the information you want to save is displaying to the Comman window, so that it is saved in the History Buffer. For example,before dumping data,remove the Data window to force the data to display in the Command window.
2 Open Symbol Loader.
3 Either choose SAVE SOFTICE HISTORY AS...from the File menu or click the SAVE SOFTICE HISTORY button.
Ответ отправлен: 14.07.2002, 01:17
Отправитель: Broken Sword
Вопрос № 726 |
Здравствуйте, эксперты!
Подскажите как переименовать файл под ДОС, я так догадываюсь
специальной функции для этого нет? Единственный способ, который приходит на ум, что можно где-нибудь FAT подредактировать, но где и как(функции)? Могу конечно ошибаться в своих догадках, но вы меня, надеюсь, поправите!:)
--
С уважением, ILYA D.
Вопрос отправлен: 13.07.2002, 23:57
Отправитель: ILYA D.
[Следующий вопрос >>] [Список вопросов]
Отвечает Spike
Приветствую Вас, ILYA D.!
Для этого в DOS есть функция 17h прерывания INT 21h:
Вход: AH = 17h
DS:DX = Адрес блока FCB (File Control Block)
Выход: AL = 0: Операция выполнена успешно
Исходное имя файла находится на старом месте, а новое по смещению 10h.
Ответ отправлен: 14.07.2002, 13:23
Отправитель: Spike
Отвечает AnSim
Здравствуйте, ILYA D.!
Это не в фат, а в каталоге, где файл лежит
Ответ отправлен: 15.07.2002, 14:24
Отправитель: AnSim
Отвечает masquer
Добрый день, ILYA D.!
mov dx, offset old_name
mov di, offset new_name
ah, 56h
int 21h
Ответ отправлен: 14.07.2002, 00:53
Отправитель: masquer
Отвечает Александр
Приветствую Вас, ILYA D.!
А зачем. Есть же command.com. Просто вызови команду "command.com /c ren" с нужными параметрами и не мучайся. А FAT и структура каталогов это две Ооочень разные вещи...
P.S. Прошу прощения за неоригинальность этого совета.
Ответ отправлен: 17.07.2002, 23:00
Отправитель: Александр
Вопрос № 727 |
Здравствуйте эксперты!
Простенький такой вопрос, имеется смещение в BX и какое-то значение в переменной, как записать что-то по смещению BX+[значение в переменной] и как можно короче?
Пробовал mov [bx+len],'0' - так в результате прибавляется не значение переменной, а ее смещение. Почему так происходит? Заранее спасибо!
С уважением, ILYA D.
Вопрос отправлен: 14.07.2002, 14:39
Отправитель: ILYA D.
[Следующий вопрос >>] [Список вопросов]
Отвечает --- Нет данных ---
Здравствуйте, ILYA D.!
Вот так попробуй:
...
mov ax, len
add bx, ax
mov [bx], '0'
...
Ответ отправлен: 16.07.2002, 02:42
Отправитель: --- Нет данных ---
Отвечает Александр
Добрый день, ILYA D.!
Так нельзя. Intel не боги. Используй базово-индексную адресацию. При ней допускается использование следующих сочетаний:
[BX][SI]
[BX][DI]
[BP][SI]
[BP][DI]
Причём начиная с 386 процессора возможно указание масштабного коэффициента(для упрощения доступа к массивам слов и двойных слов).
Ответ отправлен: 17.07.2002, 16:37
Отправитель: Александр
Отвечает Spike
Добрый день, ILYA D.!
Можно так:
mov bx, Disp ;Смещение
mov si, Variable ;Данные из переменной (если у тебя динамические данные, то лучше вообще не хранить в переменной)
mov [bx+si], Number ;Число для записи
Variable dw 0
Ответ отправлен: 14.07.2002, 15:07
Отправитель: Spike
Отвечает masquer
Добрый день, ILYA D.!
Смотря какой размерности число тебе туда запихнуть нужно:
mov byte ptr [bx+len], 31h
либо
mov word ptr [bx+len], 31h
либо
mov dword ptr [bx+len], 31h
Ответ отправлен: 14.07.2002, 15:11
Отправитель: masquer
Отвечает Sensey
Приветствую Вас, ILYA D.!
mov di, len
mov [bx+di], ...
Или si, точно не помню :)- для 8086
В 386 можно любые регистры использовать...
Ответ отправлен: 15.07.2002, 16:22
Отправитель: Sensey
Вопрос № 730 |
Здравствуйте эксперты!
Я по поводу вопроса №727.
2masquer - не и так не работает.:( Проверял, и TASM и MASM плюсуют смещение переменной, а не ее значение. Почему так происходит интересно? Придется наверное копировать переменную в регистр, а потом уже адресовать, если другого способа нет.
С уважением, ILYA D.
Вопрос отправлен: 14.07.2002, 17:50
Отправитель: ILYA D.
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, ILYA D.!
Да, да, mea culpa
mov ax, len
mov byte ptr [bx+ax], 031h
Ответ отправлен: 14.07.2002, 20:46
Отправитель: masquer
Вопрос № 731 |
Здравствуйте эксперты!
Изучать Ассемблер начал недавно.
Помогите пожалуйста разобраться со следующей проблемой.
После ассемблирования программ-примеров из книги "Ассемблер? Это просто! Учимся программировать под MS-DOS",запускаю получившейся *.com файл под W2k но описанного эффекта получаю не отовсех.
Hello,World (/002/PROG01.asm)выводится нормально ,а программа (/002/PROG02.asm)которая должна выводить на экран сообщение и ждать нажатия любой клавиши ,сообщение не выводит.Тоже самое и с (/003/PROG03.ASM), которая должна выводить в верхний левый угол экрана веселую рожицу на синем фоне:рожицы нету :(.И ещё,после выполнения программ заголовок Командной строки представляет собой следующее [хръєштэю D:103Prog03.com].Под WinMe всё работает нормально.
Вопрос отправлен: 14.07.2002, 18:26
Отправитель: ALEX
[Следующий вопрос >>] [Список вопросов]
Отвечает Guess Who
Добрый день, ALEX!
Во всем виновата W2k, не используйте ее, ну не позволит она вам научиться писать под ДОС(не позволяет она к железу напрямую обращаться):). Сидите под winMe раз там все работает.
Ответ отправлен: 14.07.2002, 19:15
Отправитель: Guess Who
Отвечает masquer
Доброе время суток, ALEX!
Как мило, работать в Вин2к, а программировать для ДОС. Просто эир очень разные вещи и винда многого не позволит делать, тем более что ДОС там просто эмулируется для совместимости.
Ответ отправлен: 14.07.2002, 23:30
Отправитель: masquer
Вопрос № 732 |
Здравствуйте эксперты!
Есть такая штука как dq – значение с плавающей точкой с двойной точностью – типа 64 бита(real8) - есть ли в винде или в макросах асма функция преобразующая это dq к виду LPSTR или любому другому, который можно вывести на экран:) для прочтения…
Заранее спасибо – если нет, то тогда придется завтра ей быть, но только завтра:(
С уважением,
Boris
P.S. – жара такая что мозги плавятся:(
Вопрос отправлен: 14.07.2002, 22:32
Отправитель: Boris
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, Boris!
wsprintf должен подойти
Ответ отправлен: 14.07.2002, 23:43
Отправитель: masquer
Вопрос № 733 |
Привет эксперты!
Это конечно оффтопик, но мне нужен совет: что нужно использовать, что бы сделать следующее:
нужно написать например карточную игру через html. Т.е. заходят 4 чела на сайт, один кликает начать, другие коннект. И поле игры видно в браузере. Каждый кликает на карты, а у других это отражается моментально (ну в зависимости от скорости :). Соответственно нужно сделать подержку чтения/записи файлов на сервере.
Использовать обычное программирование не предлагать, т.к. нужна не игра, а нечто иное (что секрет фирмы:)
Ссылки или почта по теме приветствуется.
PS ко мне почему-то пришёл битый вопрос 731 (asm) - жму отправить ничего не происходит :( Остальные вопросы нормально ???
Вопрос отправлен: 14.07.2002, 22:57
Отправитель: Zloy (zloy-site@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Александр
Доброе время суток, Zloy!
Дарагой ты, что нас своей морокой грузищь. Да это же простой HTML-чат. И кроме того - это действительно оффтопик. Плюс тебе, негодяй ;-) А что же это за секрет такой??? Шепни на ушко(kptz@newmail.ru) - помогу.
P.S. Чем можно програмить на сервере???
Ответ отправлен: 17.07.2002, 16:37
Отправитель: Александр
Отвечает masquer
Приветствую Вас, Zloy!
Хотя я в этом не очень смыслю, но на html ты этого никак не сделаешь, Java+Perl - скорее всего без этого никак. И как ты себе представляешь игру без программирования???
Ответ отправлен: 14.07.2002, 23:35
Отправитель: masquer
Вопрос № 734 |
Для тех, кто непрочь пораскинуть мозгами.
Вот проблема: в зависимости от числа (1...9) происходит переход на соотв. метку:
cmp число,4
jb @@1_3
jz @@4
cmp число,9
jb @@5_8
jmp @@9
@@1_3: jmp finish
@@4: sub cl,2
dec bp
jmp finish
@@5_8: dec si
sub cl,4
inc bp
jmp finish
@@9: sub cl,8
sub bp,2
finish:
И вот она вся мощь асма! То же самое можно сократить до:
cmp число,4
jb @@1_3
jz @@4
cmp число,9
jb @@5_8
@@9: dec bp
sub cl,5
@@4: add cl,2
sub bp,2
inc si
@@5_8: dec si
sub cl,4
inc bp
@@1_3:
finish:
(мы вообще избавились от jmp-ов, проверьте, все правильно)
Теперь собственно говоря вопрос: кто может создать еще меньший шедевр из данной задачи и особенная честь и уважение тому, кто опишет хотя бы примерный алгоритм решения всех подобных задач.
p.s. все условие дано для начального значения bp=-1, вот его и можно менять на свое усмотрение как угодно... т.е. если вы его начальное значение примите за 0, то тогда для @@1_3 понадобится dec bp, зато для @@4 sub bp,2 уже можно заменить на dec bp, что на байт короче... (не забудьте про все остальные - они тоже поменяются)
p.s. попробуйте подумать хотя бы минуту...
Вопрос отправлен: 14.07.2002, 23:37
Отправитель: Broken Sword (brokensword@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Gibbel
Приветствую Вас, Broken Sword!
Вот так будет проще, да и быстрее:
Приложение:
Ответ отправлен: 15.07.2002, 10:31
Отправитель: Gibbel
Отвечает masquer
Приветствую Вас, Broken Sword!
На 4 байта меньше - достаточно? Универсального решения, я думаю, нет, все от условий зависит.
Приложение:
Ответ отправлен: 15.07.2002, 00:29
Отправитель: masquer
Вопрос № 735 |
Здравствуйте, Эксперты!
Не сочтите за труд прояснить один момент.
Ситуация следующая.
Задача. Запустить комп из выключенного состояния, используя системный сервис в назначенное время.
Имеем: мать, биос которой не поддерживает данную функцию. :-(
Решение (как вариант).
Теория.
Учитывая наличие в КМОП - микросхеме возможность установить время будильника, используем это.
Дальше сложнее.
Узнать какую функцию вызывает будильник при наступлении назначенного времени, перехватить её и вписать в обработчик прерывания
процедуру запуска или начальный адрес старта системы.
Практика.
Как найти где в компе лежит эта нужная процедура (процедура запуска компа, с тестированием как положено) и её размеры для копирования или адрес в памяти, с которого и начинается старт системы.
Хотелось бы узнать Ваши соображения относительно данного геморроя.
К желающим выдать умозрительные ответы просьба - воздержаться от комментариев с пожеланием отправиться погулять по инету.
Погулять можно, но адрес должен быть определён однозначно.
С уважением, Anton.
Вопрос отправлен: 15.07.2002, 02:25
Отправитель: Anton
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, Anton!
То есть тикает таймер и биос должен в назначенное время включить компьютер? Теоретически такое возможно, а вот практически?, попробуй на сайтах производителей чипсетов и материнок порыть.
Ответ отправлен: 15.07.2002, 10:17
Отправитель: masquer
Отвечает Александр
Добрый день, Anton!
Так вот, для тех кто в танке. Этот вопрос тут всплывает каждые 2 недели. НЕВОЗМОЖНО. Программно включить если у тебя не ATX блок питания и BIOS этого не поддерживает - НЕВОЗМОЖНО. Если блок питания можно довести до состояния ATX, сам в интернете статью читал, то кой-чего в BIOS добавить практически невозможно. Для решения вашей задачи дайте начальнику по башке, чтобы на электричестве не экономил и поставьте энергосберегающий режим всего чего можно - монитор, HDD. А уж программ планировщиков-запускальщиков пруд пруди.
Ответ отправлен: 17.07.2002, 16:37
Отправитель: Александр
Вопрос № 736 |
Господа эскперты рошу ответить мне на вопрос:
Как у вас происходит процедура ответа на вопрос по пунктам, и если используете браузер то какой?!
Благодарю за ответы!
Вопрос отправлен: 15.07.2002, 08:02
Отправитель: Pablo
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Добрый день, Pablo!
1. Читаю вопрос
2. Думаю, лень мне отвечать или нет иначе выход
3. Думаю, есть ли у меня время ответить иначе выход
4. Думаю, знаю ли я ответ сразу
5. Если не знаю сразу, ищу по справочникам или думаю как это решается.
6 Решаю, иначе выход
7. Пишу ответ.
Лично у меня все работает в ОутГлюке Експресс 5.0 (ставится вместе с W2k), никаких проблем, только изредка пробел не срабатывает, но я уже привык - если быстро набирать, то все работает :)
Ответ отправлен: 17.07.2002, 12:43
Отправитель: Sensey
Отвечает masquer
Здравствуйте, Pablo!
Элементарно, получаю почту The Bat!, оттуда message.html перетягиваю в Opera.
Ответ отправлен: 15.07.2002, 09:55
Отправитель: masquer
Отвечает kvINT
Здравствуйте, Pablo!
У меня обычные Аутлук и IE.
1. Просматриваю вопрос в Аутлуке.
2. Если заинтересовал, щелкаю "открыть".
3. В открывшемся файле выбираю "Сохранить как" и сохраняю в формате html, где-нибудь.
4. Когда появляется свободное время открываю сохраненные таким образом файлы (открываются в IE) и отвечаю на вопросы.
5. Если возникают проблемы с дозвоном к провайдеру, копирую текст ответа и сохраняю его где-нибудь, потому что при закрытии файла он потеряется.
Ответ отправлен: 16.07.2002, 12:34
Отправитель: kvINT
Отвечает GL
Добрый день, Pablo!
Иногда отвечаю из аутлука, в остальных случаях сохраняю вопросы в html, открываю их и отправляю с помощью IE6.
Ответ отправлен: 15.07.2002, 14:17
Отправитель: GL
Отвечает Ayl
Доброе время суток, Pablo!
Получаю в Outlook Express (сейчас версия 5)
Открываю письмо и отвечаю. Кстати, при этом нет проблемы с клавишей пробел (какая сволочь все-таки в Мелкософте придумала эту багу?).
Ответ отправлен: 15.07.2002, 14:23
Отправитель: Ayl
Отвечает --- Нет данных ---
Здравствуйте, Pablo!
Я открываю приаттаченную к моему письму, HTML страницу, в IE 5.0. Там (предварительно прочитав вопрос) ввожу в поле Текст ответа, свой ответ. Потом, жму кнопку "Отправить до ###### >>>". И все, появляется страничка с уведомлением об отправке ответа.
P.S. Может хватит, а?
Ответ отправлен: 16.07.2002, 02:41
Отправитель: --- Нет данных ---
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (41) C / C++ (30) Perl (8) Delphi (16) Pascal (27) Basic / VBA (10) Java / JavaScript (7) PHP (6) MySQL / MSSQL (9) |
Пользователю Windows 95/98/Me (41) Windows NT/2000/XP (32) "Железо" (34) Поиск информации (17) |
Администратору Windows NT/2000/XP (18) Linux / Unix (15) |
Юристу Гражданское право (7) Семейное право (3) Трудовое право (7) КоАП (2) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||