Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
Ассемблер? Это просто! Учимся программировать (FAQ)
Выпуск N 079 |
Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"
Дата выхода: 2001-08-31
Вопрос №720
На рефералах, кликах и т.п. Реально заработать???
Вы пробовали??? В России?
Ответ
Уважаемый Дмитрий!
;))))))) - это первая реакция на ваш вопрос.
Главное в этом нехитром вопросе - побольше установите на свой комп прог, выводящих в пол экрана рекламку какой-нить Spedia, еще не забывайте почаще кликать по нужным линкам. Все это обязательно окупиться (я даже видел копию чека, любезно выставленную щасливым обладателем, но у меня вызвало подозрение, что такой же точно чек я уже де-то видел...)
Отправил эксперт: Broken Sword (http://www.revolution.co.uk - скрытая реклама...)
Эксперт отправил ответов (всего): 116
Экспертная группа: Пользовательская работа с Windows
Вопрос №723
Привет всем!
Уважаемые эксперты и просто подписчики
у меня ужасная связь с интернет ! и я никак
не могу скачать MASM не может ли кто-то
из вас псислать мне его по mail MASM или TASM(желательно)
Пожайлуста, помогите!!!
Заранее благодарен!
Ответ
Здравствуйте, ...!
Ухх..! Не хотелось бы тебя растраивать, но Masm 4 весит 3,5 мега, Tasm 5 - 4 мега..
Хотя если ты хочешь голый файл Tasm + несколько необходимых прог, то получится довольно-таки мало, так что если никто не пришлёт, то пиши, вышлю чо хошь, хоть tasm, хот nasm(кстате самый компактный), хот masm.
Вот те мыло, но руки им не мой, безполезно: orlando@kaluga.ru
Отправил эксперт: Orlando
Эксперт отправил ответов (всего): 55
Экспертная группа: Работа с MASM/TASM
Вопрос №722
Здравствуйте уважаемые эксперты!
У меня такой вопрос.
Только вчера переустановил винду. Сначало все нормально работало. Но сегодня появился такой глюк. Когда я запускаю Internet Explorer, то после закрытия окна само окно закрывается, а задача остается. И когда я запускаю его снова он виснет. С Netscape то же самое. А с Opera такого глюка нет. Раньше у меня уже было такое, помню, что как-то избавился, но не помню как.
Помогите, если кто-то с таким встречался.
Заранее спасибо.
С уважением kit_psihopad.
Ответ
Про такой баг я не слыхал. Но ведь Винда она и в Африке тоже не очень... Я предлагаю юзать оперу. Но сначала попробуй реинсталл винду.
Отправил эксперт: K.A. NiCK (http://www.lightstorment.f2s.com - Lightstorm entertainment home page)
Эксперт отправил ответов (всего): 48
Экспертная группа: Пользовательская работа с Windows
Вопрос №720
На рефералах, кликах и т.п. Реально заработать???
Вы пробовали??? В России?
Ответ
А черт его знает. Я не пробовал.
Отправил эксперт: K.A. NiCK (http://www.lightstorment.f2s.com - Lightstorm entertainment home page)
Эксперт отправил ответов (всего): 49
Экспертная группа: Пользовательская работа с Windows
Вопрос №723
Привет всем!
Уважаемые эксперты и просто подписчики
у меня ужасная связь с интернет ! и я никак
не могу скачать MASM не может ли кто-то
из вас псислать мне его по mail MASM или TASM(желательно)
Пожайлуста, помогите!!!
Заранее благодарен!
Ответ
Здравствуйте, fp5@brd.zt.ukrtel.net!
Выслал. Лови!
Отправил эксперт: Василий
Эксперт отправил ответов (всего): 37
Экспертная группа: Работа с MASM/TASM
Вопрос №721
Здравствуйте!
У меня к вам есть один вопросик. При запуске отладчика td.exe в среде Windows выдается следующее сообщение и сам отладчик не запускается. Сообщение вот какое:
System: BIOS checksum does not match, please reconfigure
System: BIOS checksum does not match, please reconfigure
System: BIOS checksum does not match, please reconfigure
Error starting protected mode kernel
Что можно сделать?
Спасибо. Денис.
Ответ
Здравствуйте, Denis!
Ерунда какая-то. Чё-то у тебя с виндой, я думаю. Ибо что нужно TD от BIOS при загрузке я лично не понимаю. Помимо всего прочего процессор при старте виндов уже вогнался в V86, поэтому что значит "Error starting protected mode kernel" непонятно. Попробуй достать другой TD или на крайняк переставить винду.
Отправил эксперт: Василий
Эксперт отправил ответов (всего): 38
Экспертная группа: Работа с MASM/TASM
Вопрос №718
Здраствуйте эксперты!
Помогите заставить эту программу выводить R_Two в обратном порядке. К примеру R_Two будет равняться: 1, 0, 0, а нужно 0, 0, 1!
Зарание благодарен =)
Ответ
Здравствуйте, Александр!
Если правильно понял, что ты хош, лови прогу.
Приложение:
Отправил эксперт: Василий
Эксперт отправил ответов (всего): 39
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №727
Уважаемые эксперты!
Большое спасибо всем ответившим на вопрос 689-690.
Замена mov ax, 3Fh на mov ah, 3Fh помогла радикально! В уроке 009 приведена строка mov ax, 3F00h Чем это лучше? А если - mov ah, 3Fh; mov al, 0?
Однако с выводом содержимого тестируемого файла(y.dat; длина 400 байт, т.е. 5 срок по 80 символов) на экран не получается:сначала выводится примерно около половиины файла, потом появляются символы изсегмента данных у.ехе и после нииих продолжается вывод символов из файла y.dat, но опять с его начала !
В чЈм тут дело? Как правильно объявить Buffer? Я пробовал 4 варианта (см. листиинг) и только <2> что-то выводит. Может быть дело в регистре DS? Достаточно ли одной инициализации mov ax,@data; mov ds,ax в начале программы?
Я заметил, что если строку Buffer db 1024 dup (?) поместить не в конце сегмента данных, то exe-файл увеличивается на 1024 байта, причЈм эти байты - одни точки (по F3 вьюера). А если мне надо объявить, например, 4 буфера по 32 Кб, то получается, что ехе-файл увеличится на 128 Кб бесполезных точек? Как этого избежать?
Вопрос к Broken Sword. Ответ по п. 5 я не понял. Почему должны затереться 8 байт кода и переменная Handle? Мне казалось, что ничего не должно происходить И насчЈт экономии 10 байт тоже не понятно.
Спасибо!
Ответ
Здравствуйте, Vasil!
1.Вообщето можно только в ah номер ф-ции передавать, не трогая al вообще
и так получается на 1 байт и 1 такт для 286 быстрее:)
2. Насчет буферов:
Да, конечно увеличивается размер, куда от этого деться, можно только бороться!(а)Выделяя память динамически, (б) размещая такие буфера в конце, НО! подводный камень для com-файлов:
В коме стек размещается в конце сегмента и растет вниз...И если комфайл почти в лимите 64 к без буфера, то с буфером он (буфер) может наложиться на стек..:(
ЗЫ Тот Справочник, что я предлагал, выложит Dron(c) на своей странице-много желающих
ЗЗЫ К Айкидо я не имею никакого отношения, Sem немнного ошибсмя:(, я просто работал учителем немного, там ник и пристал...
Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 100
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №717
Спасибо, эксперты.
Посмотрел через VC. Точно, сидит в корзине, скрытый.
Как ни удаляй, появляется снова.
Да! Расширение ехе описано с приложением SirC32
MIME: application/x-msdownload
Кнопки Удалить и Изменить недоступны.
В реестре тоже прописан:
HKEY_CLASSES_ROOT
exefile
shell
open
command
"C:\recycled\SirC32.exe" "%1"%*
Антивирусы запускал - не находят.
Вирус похоже отсылает почту, когда соединяюсь с инетом.
Несколько раз перед этим и сегодня получал Returned mail.
Содержания:
...от меня послано туда...
...туда имеет постоянную ошибку...
Сегодняшнее письмо даже имеет строку:
Possible virus,
see http://www.symantec.com/avcenter/venc/data/w32.sircam
.worm@mm.html
Погляжу сегодня - что за сервер этот sircam
С уважением...
Ответ
Здравствуйте, Alex12!
Пиши на deadmor@pisem.net, помогу с антивирусом.
Отправил эксперт: DM
Эксперт отправил ответов (всего): 4
Экспертная группа: Пользовательская работа с Windows
Вопрос №725
Уважаемые эксперты!
Большое спасибо всем ответившим на вопрос 689-690.
Замена mov ax, 3Fh на mov ah, 3Fh помогла радикально! В уроке 009 приведена строка mov ax, 3F00h Чем это лучше? А если - mov ah, 3Fh; mov al, 0?
Однако с выводом содержимого тестируемого файла(y.dat; длина 400 байт, т.е. 5 срок по 80 символов) на экран не получается:сначала выводится примерно около половиины файла, потом появляются символы изсегмента данных у.ехе и после нииих продолжается вывод символов из файла y.dat, но опять с его начала !
В чЈм тут дело? Как правильно объявить Buffer? Я пробовал 4 варианта (см. листиинг) и только <2> что-то выводит. Может быть дело в регистре DS? Достаточно ли одной инициализации mov ax,@data; mov ds,ax в начале программы?
Я заметил, что если строку Buffer db 1024 dup (?) поместить не в конце сегмента данных, то exe-файл увеличивается на 1024 байта, причЈм эти байты - одни точки (по F3 вьюера). А если мне надо объявить, например, 4 буфера по 32 Кб, то получается, что ехе-файл увеличится на 128 Кб бесполезных точек? Как этого избежать?
Вопрос к Broken Sword. Ответ по п. 5 я не понял. Почему должны затереться 8 байт кода и переменная Handle? Мне казалось, что ничего не должно происходить И насчЈт экономии 10 байт тоже не понятно.
Спасибо!
Ответ
Уважаемый Vasil! Ты конечно извини, но после 10 втыкания в твою прогу я решил написать свою (просто от твоих include, macro и proc рябит в глазах) и получилось вполне невесомое созданье (по сравненью с вашим БТР). Поменяй имя файла на любое другое в текущей директории и вперед!!! Насчет моего предыдущего ответа:
1. Действительно, должна затереться токо переменная Handle (2 байта) и еще 8 байт за ней (не кода, т.к. код в другом сегменте) - это моя (не последняя) ошибка. А почему?, да потому что buffer у тебя аккурат перед этой самой handle и стоит почему-то...
2. Объявления переменных типа buffer db 1000 dup (0) влечет к тому, что размер файла увеличивается на 1000 байт (в данном случае) - это ясно. Но если заменить на buffer db 1000 dup (?), то файл в этом случае НЕ увеличит своего размера, т.е. фактически в процессе трансляции этим 1000 байтам не отводиться места на жестком диске, но при запуске в проге в ОПЕРАТИВНОЙ памяти будут отведены те же 1000 байт как и в предыдущем случае с нулями... в своей проге я использую нули, т.к. в сегменте данных, если файл меньше 4000 байт, может (так оно и будет) оказаться мусор.
Приложение:
Отправил эксперт: Broken Sword (http://www.revolution.co.uk - скрытая реклама...)
Эксперт отправил ответов (всего): 117
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №730
Здравствуйте эксперты.
У меня такой вопрос: Как можно искать файлы не только в заданной папке, с помощью ф-ций 4Eh и 4Fh но и например в на диске C со всеми вложенными папками.
Ответ
Здравствуйте, Алексей!
Напрямую никак нельзя. Придется искать каталоги, а потом, зная их имена, искать файлы в них.
Отправил эксперт: Василий
Эксперт отправил ответов (всего): 40
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №729
Уважаемые эксперты!
Большое спасибо всем ответившим на вопрос 689-690.
Замена mov ax, 3Fh на mov ah, 3Fh помогла радикально! В уроке 009 приведена строка mov ax, 3F00h; чем это лучше? А если: mov ah, 3Fh; mov al, 00 ?
Однако с выводом на экран содержимого тестируемого файла (y.dat; длина 400 байт, т.е. 5 строк по 80 символов) не получается: сначала выводится примерно около половины файла правильно, потом появляются символы из сегмента данных y.еxe и после них продолжается вывод символов из файла y.dat, но опять с его начала!
В чЈм тут дело? Как правильно объявить Buffer? Я пробовал 4 варианта (см. прилагаемый листинг) и только <2> выводит "неправильную" строку на экран.
Может быть, дело в значении регистра ds? Достаточно ли одной инициализации ds (mov ax, @data; mov ds, ax) в начале программы?
Я заметил, что если строку Buffer db 1024 dup (?) поместить не в конце сегмента данных, то exe-файл увеличивается на 1024 байта, причЈм эти байты - одни точки (по F3 вьюера). А если мне надо объявить, например, 4 буфера по 32 Кб, то получается, что ехе-файл увеличится на 128 Кб бесполезных точек? Как этого избежать?
Вопрос к Broken Sword. Ответ п.5 я не понял. Почему должны затереться 8 байт кода и переменная Handle? Мне казалось, что ничего не должно происходить. И насчЈт экономии 10 байт тоже не понятно.
Спасибо!
Ответ
Здравствуйте, Vasil!
Энто не есть хорошо. Ты хочешь, чтобы фактически за тебя разобрались в нехилой проге, да еще и исправили. Так не бывает.
Отправил эксперт: Василий
Эксперт отправил ответов (всего): 41
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №732
Уважаемые эксперты!
Большое спасибо всем ответившим на вопрос 689-690.
Замена mov ax, 3Fh на mov ah, 3Fh помогла радикально! В уроке 009 приведена строка mov ax, 3F00h; чем это лучше? А если так: mov ah, 3Fh; mov al, 00 ?
Однако с выводом на экран содержимого тестируемого файла (y.dat; длина 400 байт, т.е. 5 экранных строк по 80 каких-либо символов) не получается: сначала выводится примерно около половины файла правильно, потом появляются символы из сегмента данных y. еxe и после них продолжается вывод символов из файла y.dat, но только опять(!?) с его начала.
В чЈм тут дело? Как правильно объявить Buffer? Я пробовал 4 варианта (см. прилагаемый листинг) и только <2> выводит строку на экран, да и то неправильно.
Может быть, дело в значении регистра ds? Достаточно ли одной инициализации ds (mov ax, @data; mov ds, ax) в начале программы?
Я заметил, что если строку Buffer db 1024 dup (?) поместить не в конце сегмента данных, то exe-файл увеличивается на 1024 байта, причЈм эти байты - одни точки (по F3 - вьюер). А если мне надо объявить, например, 4 буфера по 32 Кб, то получается, что ехе-файл увеличится на 128 Кб бесполезных точек? Как этого избежать?
Вопрос к Broken Sword. Ответ по п. 5 я не понимаю. Почему должны затереться 8 байт кода и переменная Handle? Мне казалось, что ничего такого не должно происходить. И насчЈт экономии 10 байт тоже не понятно.
Прилагаю всю программу целиком: 9 файлов, главный называется "y.asm".
Спасибо!
Ответ
Здравствуйте, Vasil!
Ну что тебе сказать...
мсье тонкий извращенец!
Зачем такое количество инклюдов???
Программа на 3 килобайта и 8 инклюдов?!? неужели непонятно что это только усложняет понимание ее...
Мало того что ты вообще не совсем понимаешь как это все функционирует, так ты еще и усложнил себе процесс.
Теперь ответы на твои вопросы.
Buffer надо указывать именно через db!
Если ты плохо понимаешь как программа разбивается на сегменты, не связывался бы пока с сегментами.. сделай com программу. она не потребует от тебя заботы о регистре ds.
Если ты хочешь буффер на 128 килобайт - то тебе его вообще не надо описывать, ибо он не влезет в сегмент. Используй досовые функции выделения памяти... только не надо спрашивать почему память не выделяется!
И оформи программу почеловечески...
Убери инклюды, убери макросы, убери процедуры из двух команд!
Тогда и присылай с вопросами. в этом я разобраться не хочу.
Умеют же люди усложнять себе жизнь...
Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 90
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №735
Я ЛАМО Что мнЕ делААААть??????????
Ответ
Мдя.... ПОВЕСИТЬСЯ!!!!! Или хотяб задавать НОРМАЛЬНЫЕ вопросы.
Отправил эксперт: K.A. NiCK (http://www.lightstorment.f2s.com - Lightstorm entertainment home page)
Эксперт отправил ответов (всего): 50
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №734
Я ЛАМО Что мнЕ делААААть??????????
Ответ
Здравствуйте, Wasea!
Лечись, пока не поздно! И качай выпуски рассылки из раздела для начинающих.
Отправил эксперт: DM
Эксперт отправил ответов (всего): 5
Экспертная группа: Дизассемблеры
Вопрос №733
Привет коллеги!
Вопрос по Exsel
Есть два документа
Слышал, но не знаю как, что
Можно сравнить эти документы по столбцу А и ести ячейки в столбце А совпадают, то обновить соответствующие строки из второго документа
Для примера-обновление цен на комплектующие
Ответ
Здравствуйте, Sensey!
Похоже, ты попал на VB for Applications. Пиши макрос, который эти столбцы сравнит и обновит. Если знаешь VB, то после нескольких часов мучений и дней осознания хелпа по работе функций Excel-евского VBA есть шанс написать сравнение столбцов. С обновлением - незнаю.
Кстати, в последних выпусках "Мира ПК" есть довольно занятные уроки главредактора, который решил учить пользователей программированию и начал с VBA.
Отправил эксперт: DM
Эксперт отправил ответов (всего): 6
Экспертная группа: Пользовательская работа с Windows
Вопрос №735
Я ЛАМО Что мнЕ делААААть??????????
Ответ
Здравствуйте, Wasea!
Учиться, учиться и ещё раз учиться!
(c) Владимир Ильич Ульянов aka Ленин
Отправил эксперт: Nik
Эксперт отправил ответов (всего): 87
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №726
Уважаемые эксперты!
Большое спасибо всем ответившим на вопрос 689-690.
Замена mov ax, 3Fh на mov ah, 3Fh помогла радикально! В уроке 009 приведена строка mov ax, 3F00h Чем это лучше? А если - mov ah, 3Fh; mov al, 0?
Однако с выводом содержимого тестируемого файла(y.dat; длина 400 байт, т.е. 5 срок по 80 символов) на экран не получается:сначала выводится примерно около половиины файла, потом появляются символы изсегмента данных у.ехе и после нииих продолжается вывод символов из файла y.dat, но опять с его начала !
В чЈм тут дело? Как правильно объявить Buffer? Я пробовал 4 варианта (см. листиинг) и только <2> что-то выводит. Может быть дело в регистре DS? Достаточно ли одной инициализации mov ax,@data; mov ds,ax в начале программы?
Я заметил, что если строку Buffer db 1024 dup (?) поместить не в конце сегмента данных, то exe-файл увеличивается на 1024 байта, причЈм эти байты - одни точки (по F3 вьюера). А если мне надо объявить, например, 4 буфера по 32 Кб, то получается, что ехе-файл увеличится на 128 Кб бесполезных точек? Как этого избежать?
Вопрос к Broken Sword. Ответ по п. 5 я не понял. Почему должны затереться 8 байт кода и переменная Handle? Мне казалось, что ничего не должно происходить И насчЈт экономии 10 байт тоже не понятно.
Спасибо!
Ответ
Здравствуйте, Vasil!
Вот тебе, обещанная прога, конечно она неудачна в том плане, что для каждого символ надо использовать int 21, но в замен не надо выделять лишнюю память на буфер, так что пожертвовать чем-то тоже пришлось..
Если будут вопросы, обращайся..
Приложение:
Отправил эксперт: Orlando
Эксперт отправил ответов (всего): 56
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №735
Я ЛАМО Что мнЕ делААААть??????????
Ответ
Здравствуйте, Wasea!
Учи язык ЛМД
Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 101
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №736
Экспертам.
Изучаю ассемблер только месяц и возник такой
небольшой вопросик.
Сделал рисунок. Затем захотел переместить его в центр.
Пришлось увеличивать координаты. Напр:
было
mov cx,3
после каждой подобной координаты добавил
add cx,number
Был ли более экономный способ?
Можно ли эти две команды записать одной строкой?
С уважением ...
Ответ
Здравствуйте, Alex12!
Через макрос:
coord MACRO arg1, arg2
mov cx, arg1
add cx, arg2
coord ENDM
А в программе вместо
mov cx, ???
add cx, ***
использовать:
coord ???, *** (например, coord 3, number)
Отправил эксперт: Василий
Эксперт отправил ответов (всего): 43
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Подписаться на рассылки
Форма подачи вопроса
ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!
Регистрация в качестве эксперта
Архив выпусков
Ведущий рассылки,
Калашников Олег:
Assembler@Kalashnikoff.ru
ICQ No.: 68951340
URL сайта подписчиков:
http://www.Kalashnikoff.ru
______________
По вопросам сотрудничества, рекламы и спонсорства обращайтесь:
- Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
- Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
- Издание книги (спонсорство): Sponsor@Kalashnikoff.ru
(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав. |
Реклама на сайте Kalashnikoff.ru
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу | Рейтингуется SpyLog |
В избранное | ||