Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 152

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-12-11


Вопрос №1771

Подскажите, пожалуйста где достать TechHelp. Нашел штук 10 ссылок - ни одна не работает :-(. А если кому не трудно лучше пришлите его.
Заранее спасибо.

Ответ

Здравствуйте, Dzik!

На моем сайте скачай.
Ссылка чуть ниже.


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 210

Экспертная группа: Оптимизация программ

Вопрос №1785

Здравствуйте уважаемые Эксперты!

Есть маленький вопрос - имеется две проги (скажем аналог паскалевской INSERT - работа со строками, только длиной 64кб), одна полностью писана на паскале, вторая соответственно на асме. Вопрос: как замерить время выполнения обеих программ? нужно настырному преподу время выполнения блин представить... желательно конечно замерять не "сколько раз прога выполнилась за единицу времени" а "время выполнения проги". Заранее спасибо.

С уважением, Диман

Ответ

Здравствуйте, Диман!

Напиши батник, выполни в нем прогу - 1000 раз и время подели на 1000. получишь примерно точное время выполнения программы.

Можешь в программу встроить...


Отправил эксперт: Dron (http://spawnhole.narod.ru/asmos/asmos.html - Операционная система с нуля!)
Эксперт отправил ответов (всего): 211

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1758

Здравствуйте,уважаемые эксперты.Я только начал изучать
курс ассемблера. При выполнении ассемблирования программы
E:\MASM611\BIN\ml.exe prog.asm /AT у меня возникли
следуюшие ошибки:
error A4910:cannot open file E:\Masm611\BIN\Ml.err
Fatal error A1000: prog.asm

Обясните пожалуста в чем тут дело.Зарание благодарен
Юрий(ua4aqc)

Ответ

Здравствуйте, Юрий!
В дирректории E:\Masm611\BIN\ отсутствует файл с сообщениями об ошибках ассемблирования ML.ERR.
Видимо этот файл был удален после установки MASM-а или Вы при копирования MASM без его установки с дистрибутива не все переписали.
Следует дописать сам MASM или доустановить его с дисрибутива.
Использовать один только ML.EXE - не выйдет.


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 2

Экспертная группа: Работа с MASM/TASM

Вопрос №1751

Здрасте,Уваж. Эксперты!
Ответьте, пожалуйста,на седующий вопрос :
почему при компиляции Masm 6.14 выдает ошибку:
fatal error LNK1190:invalid fixup found, type 0x0001

Ответ

Здравствуйте, Alf!
Инфо о Err можно найти в MSDN - там для ошибки LNK1190 - дается такое объяснение: один из объектных файлов изменился и нет возможности произвести линковку. Следует перекомпилировать этот модуль.


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 3

Экспертная группа: Работа с MASM/TASM

Вопрос №1766

Вопрос по SoftIce. При просмотре содержимого регистров,
информация выдается в HEX кодах. Можно ли как-нибудь поменять вывод на другой? Надеюсь, что вопрос сформулирован понятно.

Ответ

Здравствуйте, TanaT!
Нет. Можно в командном окне перевести в десятичную нотацию:
? eax
будет значение eax в HEX и DEC, а также в строковом виде для 4 байт.


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 4

Экспертная группа: Дизассемблеры

Вопрос №1779

Никогда не диззассемблировал и не ломал программы под ДОС,
но имею опыт с программами под win32, тут все легко и понятно, в основном :) Так вот надо расколоть одну программу
досявую и узнать что она пишет в файл. Хочу узнать где можно найти инфу по функциям/прерываниям дос для записи/чтения файла, и что ещЈ посоветуете?

P.S. поковырял программку и узнал что писана она на
микрософтовском фортране, может есть какие-нибудь
декомпиляторы вроде деклиппера?

Ответ

Здравствуйте, Armarine!

По поводу функций - лучшее дело - TechHelp. Если надо - вышлю


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 102

Экспертная группа: Дизассемблеры

Вопрос №1782

Здравствуйте, уважаемые эксперты!
Хочу написать програмульку-напоминалку, чтоб при включении компа сравнивала текущую дату с имеющимся списком(массивом) дат и соответствующим им(датам) имён, и за один-два дня до наступления этих дат(тех что в списке) выплёвывала соответствующее сообщение, к примеру, "10.12 - день рожд. кота Васьки," и т.п. Так вот вопрос: как лучше сделать, чтобы этот список можно было модифицировать, не перекомпил. каждый раз прогу, может создать отдельный текстовый файл и чтоб прога из него читала даты, имена, или это слишком уродливо будет? Посоветуйте алгоритмик плиз(от примеров прог тоже не откажусь).
Заранее благодарен, Гена.

Ответ

Здравствуйте, Gena!
Я бы делал текстовый файл


Отправил эксперт: Ivan
Эксперт отправил ответов (всего): 6

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1782

Здравствуйте, уважаемые эксперты!
Хочу написать програмульку-напоминалку, чтоб при включении компа сравнивала текущую дату с имеющимся списком(массивом) дат и соответствующим им(датам) имён, и за один-два дня до наступления этих дат(тех что в списке) выплёвывала соответствующее сообщение, к примеру, "10.12 - день рожд. кота Васьки," и т.п. Так вот вопрос: как лучше сделать, чтобы этот список можно было модифицировать, не перекомпил. каждый раз прогу, может создать отдельный текстовый файл и чтоб прога из него читала даты, имена, или это слишком уродливо будет? Посоветуйте алгоритмик плиз(от примеров прог тоже не откажусь).
Заранее благодарен, Гена.

Ответ

Здравствуйте, Gena!

Ха! писал я такую бяку недавно для себя, правда под SCO UNIX. И письмо отсылалось текущим днем. Завел текстовый файл с описанием дней рождений и списки рассылок. Если хочешь, могу прислать.
Правда она мне не очень нравится, потому как у меня пока не получилось выбирать дни за период :(


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 103

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1786

У мнея имеется код на ассемблер, он должен убирать пароль в БИОС, вот он:
model tiny
.code
org 100h
start:
mov al, 5eh
out 70h, al
mov al, 0
out 71h, al
ret
end start
Но почему то не чего не происходит.
СОМ файл получаю так:
tasm.exe имя файла
tlink.exe /t имя файла

Ответ

Здравствуйте, Вячеслав!

А что это за ячейка 5e? Вообще-то надо затирать значения в диапазоне 10h-20h. Именно они контролируются checksum.


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 104

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1779

Никогда не диззассемблировал и не ломал программы под ДОС,
но имею опыт с программами под win32, тут все легко и понятно, в основном :) Так вот надо расколоть одну программу
досявую и узнать что она пишет в файл. Хочу узнать где можно найти инфу по функциям/прерываниям дос для записи/чтения файла, и что ещЈ посоветуете?

P.S. поковырял программку и узнал что писана она на
микрософтовском фортране, может есть какие-нибудь
декомпиляторы вроде деклиппера?

Ответ

Здравствуйте, Armarine!
Очень хорошо описаны сервисные ф-ции (прерывания) DOS-а в Teach Help.
Teach Help в attachment-е. Был еще эл. вариант книги от Журдена что-то вроде "Системного программирования под DOS". В ней так же очень хорошо описан сервис DOS и приемы его пользования на разных языковых уровнях программирования.
А насчет дефортрамирования - ничего не выйдет - фортран компилирующая система и генерирует из исходного процессорозависимый код.
Обратный процесс очень трудоемок.


Отправил эксперт: Kgm
Эксперт отправил ответов (всего): 6

Экспертная группа: Дизассемблеры

Вопрос №1788

Здравствуйте, экперты!

1. С какой версии IE и NC поддерживаеют JavaScript?
2. Как определить версию и название броузера?
3. Как из файла folder1\page.htm осуществить доступ к folder2\pic.gif, если folder1, folder2 - папки на сайте? Напишите , пожалуйста.
4. Как узнать размеры области, в которой отображаются страницы в IE через JavaScript?
5. Есть ли фильтр, поворачивающий текст на 90 градусов?

С уважением,
Антон.

Ответ

Здорово друган Антон, это я Слава.
Вот лови ответ на 3 вопрос, а остальные пошлю лично :)
3.


Отправил эксперт: Гуров Вячеслав (
http://www.archivs.narod.ru - Большой архив програм)
Эксперт отправил ответов (всего): 1

Экспертная группа: Пользовательская работа с Windows

Вопрос №1790

Эй, народ!!!
А я предлагаю в качестве приза экспертам Олегову будущую книжку с автографом. Мне, например, нужно...:))))). Хотя я не эксперт, и ее не получу:((((
С уважением Вал.Ик.

Ответ

Здравствуйте, Вал.Ик.!
Я за!
Очень интересно будет почитать!


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 225

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1787

Всем Привет!

Подскажите как научиться писать Базы Данных.
Если у кого есть адреса по данной тематике то пошлите меня на.... WWW.

%-)))

Tahnks!!!


Ответ

Здравствуйте, bazilevs!
Почитай то что я тебе послал... Научишься (слегка).


Отправил эксперт: ScientiaCupidus
Эксперт отправил ответов (всего): 11

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №1792

Для Broken Sword !!!!
Нужна помощь в некоторых командах:
опишите как более подробно эти команды(не понымаю их) :-)))
1.org 100h
2.check macro var
3.local @@1
4.mov byte ptr var,al
5.что за текстовый режим 3 в int 10h
6.not ax
7.or al,30h
8.calculate proc near
9.чем отличается fld1 от fild y
10.fyl2x,fdivp,fmulp,fistp-опишите как происходят операции в этих командах(деление акам.на рег. и .....)
11.чем отличается calculate endp от end calculate

Заранее благодарен за огромную помощь во всем (пиво как всегда с меня) :-)))))))

Ответ

Здравствуйте, Jester's!

Только для Broken Sword или интересно про команды? :)

Значится так, как говорил Глеб Жиглов в роли Высоцкого :))

1. org 100h - устанавливает Instruction Pointer (указатель команд IP) в значение 100h. Дело в том, что в DOS программа типа COM обязательно должна начинаться с адреса 100h в сегменте кода (адресуется через сегментный регистр cs). Потому что первые 256 байт этого сегмента (256 = 100h!) заняты PSP программы. На самом деле это даже не команда, а директива компилятора. В сгенерированном коде вы ее не увидете, просто все адреса начнутся с адреса 100h.

2. check macro var - начало описания макроопределения с именем check и параметром var. В теле программы обращение к этому макросу будет выглядеть примерно так: check addr.

3. local @@1 - описание локальной метки для макроопределения. При развертывании этого макроопределения вместо @@1 будет сгенерирован внутреннее имя для метки. Сделано для избежания дублирования меток в программе.

4. mov byte ptr var, al - запись в переменную (ячейку памяти) значения, находящегося в регистре al. byte ptr - указывает на то, что обращение будет к байту.

5. Текстовый режим 3 имеет следующие характеристики: 80 символов по горизонтали, 25 - по вертикали, 16 цветов для цвета символа, 8 цветов для цвета фона + 1 бит для указания повышенной яркости фона или мерцания символов. Является режимом по умолчанию при включении компа.

6. not ax - а кто будет изучать систему команд x86? А? Ладно, скажу по секрету, что эта команда выполняет операцию побитового НЕ с операндом. Т.е. для каждого бита в регистре ax выполняется операция:
b = not (b) или, что то же самое, b = 1 - b. Т.е. каждая 1 заменяется на 0, а 0 - на 1.

7. or al, 30h - теперь выполняем команду побитового ИЛИ. Результат получается по правилу:
a b c = a or b
0 0 0
0 1 1
1 0 1
1 1 1

В данном случае эта команда устанавливает 5 и 6-й биты в регистре al.

8. calculate proc near - описание ближней процедуры с именем calculate. Данный кусок кода должен завершиться командами:
ret или retn
calculate endp

Вызов процедуры осуществляется командой call calculate.

9. Ну, fild загружает на вершину стека сопроцессора значение по адресу, переданного в качестве операнда, а fld1 просто записывает на вершину стека число 1.0.

10. fyl2x - команда получения значения Y * log2(X). log2 - двоичный логарифм числа X. При этом в качестве числа Y берется значение с вершины стека, а в качестве числа X - второе число от вершины.

fdivp, fimulp - команда выполнения деления или умножения числа, указанного в качестве операнда, на число, находящегося на вершине стека сопроцессора. Результат записывается на место операнда, число с вершины удаляется.

fistp - вынимает число, записанное на вершине стека и записывает его в указанную ячейку памяти.

11. Что-то я не понял про end calculate. Кажется, tasm такого не понимает. А вот calculate endp - это конец описания процедуры calculate.


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 105

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1795

Здраствуйте!
Вопрос такой:
Автор приводит данный пример и утверждает что приведенная ниже конструкция ошибочна:

STUD STRUKT
FAM DB 30 DUP(?)
STUD ENDS
;--------------
S1 STUD <'Типа поле M не строка...?'>; нельзя (поле FAM- не строка)

Ответ

Здравствуйте, Alex!

То ли автор что-то другое имел... в виду... то ли я чего-то не понял... У меня прекрасно следующий код скомпилировался... Да, структура в асме описывается через команду struc, кстати... :)

Приложение:


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 106

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1796

Здравствуйте.
Я согласен с товарищем, что изучать язык лучьше при решении практических задач.
Собственно задача. Идея состоит в следующем.
Работает например какая нибудь программа, например игрушка МИГ29.
Мы ее не ломаем, а просто смотрим с помощью программы например artmoney по какому адресу
у нее хранятся какие нибудь нужные нам параметры, например тангаж.
А теперь задача состоит в том чтобы написать программу, которая просто считывала параметры их другой
программы и выполняла бы требуемые действия. Например во время игры качала площадку с игроком.
Или другой пример, выводила бы данные стандартной другой программы на ЖК дисплей.
Конкретный вопрос к экспертам. Как можно в Виндузе прочитать корректно
параметры другой программы в ОЗУ.
Дополнительный вопрос. Подскажите, где можно найти информацию в интернет
по созданию многофцнкциональной платы цифро-аналогового ввода-вывода.

Ответ

Здравствуйте, Александр!
ReadProcessMemory


Отправил эксперт: Ivan
Эксперт отправил ответов (всего): 7

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №1794

Здравствуйте эксперты.
1)Можно ли заставить печатать принтер
Lexmark Z12 из Windows 3.11 FWG (продавец клялся что можно)
2)Есть ли где нибудь драйвера для видео карты S3 Trio3D /2X
под Windows 3.11

Ответ

Здравствуйте, Kostyan!
Поставь 95! А Лекс печатает замечательно, видео, если найдешь АГП драйверпод 311 то тоже должна работать!!!


Отправил эксперт: AllAddIn
Эксперт отправил ответов (всего): 15

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №1795

Здраствуйте!
Вопрос такой:
Автор приводит данный пример и утверждает что приведенная ниже конструкция ошибочна:

STUD STRUKT
FAM DB 30 DUP(?)
STUD ENDS
;--------------
S1 STUD <'Типа поле M не строка...?'>; нельзя (поле FAM- не строка)

Ответ

Здравствуйте, Alex!
Правильно, что ошибочна.
Для Tasm'a, надо так:
STUD STRUС
FAM DB 30 DUP(?)
STUD ENDS
Изменения в слове STRUKT
А для Masm'a, помоему так (но здесь я могу ошибаться)
STUD STRUСT
FAM DB 30 DUP(?)
STUD ENDS

Обращение к элементу структуры так:
mov byte ptr [stud.fam],0
или
mov byte ptr [stud.fam+30],0


Отправил эксперт: Andy Bitoff (http://bitoff.pisem.net - HomePage или что-то типа того :))
Эксперт отправил ответов (всего): 35

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1790

Эй, народ!!!
А я предлагаю в качестве приза экспертам Олегову будущую книжку с автографом. Мне, например, нужно...:))))). Хотя я не эксперт, и ее не получу:((((
С уважением Вал.Ик.

Ответ

Здравствуйте, Вал.Ик.!
Что же идея интересная. Советую Олегу рассмотреть приведенный выше вариант.


Отправил эксперт: Andy Bitoff (http://bitoff.pisem.net - HomePage или что-то типа того :))
Эксперт отправил ответов (всего): 36

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1789

Почему The Bat! не отправляет заполненные прямо в нЈм формы?

Ответ

Здравствуйте, Anton!
И не будет. Он работает только как просмотровщик. Чтобы редактировать форму, сохрани message.html и открой его в браузере.


Отправил эксперт: Andy Bitoff (http://bitoff.pisem.net - HomePage или что-то типа того :))
Эксперт отправил ответов (всего): 37

Экспертная группа: Пользовательская работа с Windows

Вопрос №1797

Здрасте ВСЕМ экспертам, а особенно Ayl или Broken Sword
ПОМОГИТЕ разобраться вот с чем:

xor dx,dx ; c этого места начинается простая процедурка перевода hex в ASCII для вывода на экран
mov bl,10
div bl
inc ah
or al,30h
int 29h
xchg al,ah
or al,30h
int 29h
Опишите как более гуще о ней
Спасибо ВАМ !!!!

Ответ

Здравствуйте, Jester's!

Так все понятно... У нас есть число в al (судя по куску кода больше 99 не обрабатывается).

Зачем очищать dx непонятно. У нас делиться будет только ax.

Далее. Делим ax на bl, в который записали 10. Т.е. получаем частное и остаток при делении на 10. Причем в al - частное, в ah - остаток.

Непонятен смысл прибавления 1 к остатку - по-моему, это лишнее.

Далее выводим цифирки. Для этого переводим результат в ASCII представление символов. При этом 0 = 30h, 1 = 31h, ..., 9 = 39h. А так как у нас точно цифра от 0 до 9, то просто устанавливаем соответствующие биты (так быстрее).

Далее вызывается прерывание 29h, которое выводит символ в al на экран.

Вот и все.


Отправил эксперт: Ayl
Эксперт отправил ответов (всего): 107

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1792

Для Broken Sword !!!!
Нужна помощь в некоторых командах:
опишите как более подробно эти команды(не понымаю их) :-)))
1.org 100h
2.check macro var
3.local @@1
4.mov byte ptr var,al
5.что за текстовый режим 3 в int 10h
6.not ax
7.or al,30h
8.calculate proc near
9.чем отличается fld1 от fild y
10.fyl2x,fdivp,fmulp,fistp-опишите как происходят операции в этих командах(деление акам.на рег. и .....)
11.чем отличается calculate endp от end calculate

Заранее благодарен за огромную помощь во всем (пиво как всегда с меня) :-)))))))

Ответ

Здравствуйте, Jester's!
1. Ассмеблер при трансляции ведет внутренний счетчик текущего адреса команды. Он используется для вычисления смещений и пр. Org устанавливает его в заданное значение. Это используется при генерации com файлов, т.к. при загрузки com программы, значение регистра ip устанавливается в 100h и все смещения в программе смещены на 100h.
2. Судя по всему это объявление макроса с именем check.
3. Не уверен, но помойму вы что-то не дописали, по идее это объявление локальной переменной, но не укакзан её тип.
4. BYTE PTR означает, что переменая var имеет тип db, т.е. размером в один байт. В данном случае использование BYTE PTR необязательно, т.к. и так понятно, потому что al тоже всего один байт. Это необходимо если не используются непосредственно регистры при пересылке.
Например чтобы записать в var два байта через указатель бо BX необходимо записать следующее
mov word ptr [var],[bx]
5. Ну 10h прерывание известно как графический сервис биос. Если мы
mov ah,00
mov al,03
int 10h
то у нас инициализируется обычный текстовый режим.
6. Это побитовое не. Т.е. каждый битик AX поменяет своё значение на противоположное.
7. Это побитовое или. 30h=110000b, т.е. 4 и 5 ,биты в al установятся в еденицу.
8.Объявление процедуры calculate.
9-10. Ну это не знаю
10. Первое означает конец процедуры, второе конец кода программы со входовым именем calculate


Отправил эксперт: RelB
Эксперт отправил ответов (всего): 1

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1791

Подскажите, пожалуйста, такую штуку.
Имеется клавиатура(PS/2) "no name" сделаная в Китае,
маленькая такая, удобная. На ней имеется три доп. кнопки:
Power, Sleep, WakeUp. Проблема в том, что они не работают...
Драйвера - ясно отсутствуют. Подскажите как их заставить
работать под Win2K. ..Да, еще, на клаве намалевано Rainbow",
может кто сталкивался с такими...

Ответ

Здравствуйте, Alex!
У меня похожая клава, на ней еще должна быть кнопка Fn, при нажатии на нее и на какую-нибудь из Power, Sleep, Wake комп либо выключится, либо "уснет", либо включится (если выключен был). Эти клавиши работают только если у тебя корпус ATX, на AT работать не должны. Если клавиши Fn нет, то можно попробовать зажать их на несколько секунд. Если и это не поможет, то драйвера установить (в нете поискать).


Отправил эксперт: DaM
Эксперт отправил ответов (всего): 7

Экспертная группа: Пользовательская работа с Windows

Вопрос №1791

Подскажите, пожалуйста, такую штуку.
Имеется клавиатура(PS/2) "no name" сделаная в Китае,
маленькая такая, удобная. На ней имеется три доп. кнопки:
Power, Sleep, WakeUp. Проблема в том, что они не работают...
Драйвера - ясно отсутствуют. Подскажите как их заставить
работать под Win2K. ..Да, еще, на клаве намалевано Rainbow",
может кто сталкивался с такими...

Ответ

Здравствуйте, Alex!
Для того, чтобы попытаться, да-да, ты не "ослышался", я сказал именно попытася заставить комп засыпать и выключаться от клавы тебе надо залезть в БИОС и там поставить соответствующие параметры (я сколько не ставил, так и не получилось ни на одном компе) :(( Хотя мож я чего не учел??? Так что лезь в БИОС и читай руководство по маме. :))


Отправил эксперт: Tiger (www.tigeer.narod.ru - Что-то вроде того)
Эксперт отправил ответов (всего): 6

Экспертная группа: Пользовательская работа с Windows

Вопрос №1789

Почему The Bat! не отправляет заполненные прямо в нЈм формы?

Ответ

Здравствуйте, Anton!
Все дело в том, что "Летучая мышь" не предназначена изначально для получения всяческих "красивостей" в виде ХТМЛ, следовательно она не может и формы отправлять. То что она показывает тебе письма в ХТМЛ`овском формате - это еще не значит, что она для этого предусмотрена. The Bat! - это почтовый клиент в котором риск атаки через НТМЛ и почту в целом сведен к минимуму, хотя и возможен. :(
А для того, чтобы отправить форму, нужми Shift и дважды щелкни на прикрепленном файле Message.html - Бат откроет его в Броузере и тогда можешь отправлять форму.


Отправил эксперт: Tiger (www.tigeer.narod.ru - Что-то вроде того)
Эксперт отправил ответов (всего): 7

Экспертная группа: Пользовательская работа с Windows

Вопрос №1788

Здравствуйте, экперты!

1. С какой версии IE и NC поддерживаеют JavaScript?
2. Как определить версию и название броузера?
3. Как из файла folder1\page.htm осуществить доступ к folder2\pic.gif, если folder1, folder2 - папки на сайте? Напишите , пожалуйста.
4. Как узнать размеры области, в которой отображаются страницы в IE через JavaScript?
5. Есть ли фильтр, поворачивающий текст на 90 градусов?

С уважением,
Антон.

Ответ

Здравствуйте, Anton!
Чтобы посмотреть версию ИЕ заходишь сюдЫ:
Пуск->Программы->Стандартные->Служебные->Сведения о системе Там тебе будет и версия Броузера и еще много всяческих полезностей. :)))


Отправил эксперт: Tiger (
www.tigeer.narod.ru - Что-то вроде того)
Эксперт отправил ответов (всего): 8

Экспертная группа: Пользовательская работа с Windows

Вопрос №1789

Почему The Bat! не отправляет заполненные прямо в нЈм формы?

Ответ

Здравствуйте, Anton!
Не хочется ему, не умеет он, его колбасит ;) Еще раз повторяю: чтобы полноценно работать с HTML в TheBat нужно открыть html-письмо в браузере - для этого включите панель прикрепленных файлов и щелкните в ней , удерживая клавишу shift, по html-файлу.


Отправил эксперт: DivX
Эксперт отправил ответов (всего): 75

Экспертная группа: Пользовательская работа с Windows

Вопрос №1788

Здравствуйте, экперты!

1. С какой версии IE и NC поддерживаеют JavaScript?
2. Как определить версию и название броузера?
3. Как из файла folder1\page.htm осуществить доступ к folder2\pic.gif, если folder1, folder2 - папки на сайте? Напишите , пожалуйста.
4. Как узнать размеры области, в которой отображаются страницы в IE через JavaScript?
5. Есть ли фильтр, поворачивающий текст на 90 градусов?

С уважением,
Антон.

Ответ

Здравствуйте, Anton!
1. По-моему IE - с 3.x, а NC - с 4.xx, а без виртуальной машины Java, вообще не будут поддерживать.
2. Т.к. не указано при каких обстоятельствах это делается, то отвечу - в последней закладке меню найдите пункт "О программе" и кликните по нему...
3. это надо писать в соответствующем теге "a" под опцией "href" - http://www.ваш_сайт.ru/folder2/pic.gif
4. Попробуй объект screen , а вообще по правде говоря не знаю, ну не програмирую я на JScript.
5. Есть, есть... (видел такое ;)

ЗЫ. Ну зачем вставлять начало тега, а потом забывать про него !?


Отправил эксперт: DivX
Эксперт отправил ответов (всего): 76

Экспертная группа: Пользовательская работа с Windows

Вопрос №1804

Здравствуйте.
Надо написать программу, резидент. Суть в следующем: в любом текстовом редакторе, при нажатии на клавишу печатается соответствующий символ, надо сделать чтобы и при отжатии клавиши печатался этот же символ. Я делаю так:
1. Перехватываю int09h.
2. В своем обработчике определяю сканкод нажатой клавиши (через порт 60h, 1 байт)
3. Если старший байт =0, то передаю управление старому обработчику.
Если стариший байт = 1, значит прерывание произошло по отжатию (насколько я знаю, код отжатия равен коду нажатия +80h). Меняю 1 на 0.
4. А вот что дальше делать - не знаю. Надо бы обработанный код запихнуть туда, откуда я его взял (или еще куда-то?), но как это сделать? Пробовал поместить в буфер клавиатуры но вызов int16h вешает комп. В каких-то доках прочел про адреса буфера клавиатуры в памяти, указатель на начало/конец буфера, адерс начала/конца. Не могу понять, в чем разница между указателем и адересом в данном случае.
Вобщем запутался окончательно. Помогите, плз. Лабу сдавать надо, а сессия уже через 2 недели.

С уважением, Антон.

Ответ

Здравствуйте, Anton!
В общем прерывание 16h нельзя вызывать в 09-ом так как оно вызывает его. Адрес в общем
es==0
mov ax,es:041ah ;адрес головы
cmp ax,es:041ch ;адрес начала. Или наоборот.
если неравно, то было нажатие.
И еще перед этим разрешай прерывание командой sti,после запрещай cli.
И потом вызывай старый обработчик 09h например
jmp far ptr oldaddres_09h
В общем это кусок из моей проги.


Отправил эксперт: DiGiT
Эксперт отправил ответов (всего): 132

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №1803

У меня такой вопрос:
Как В borland c++ 3.11 или Visual C++ 6.0 написать прогу для запуска двух программ без всяких параметров и ключей (com и exe файлы). Необходимо для завершения курсовика. Заранее спасибо!

Ответ

Здравствуйте, Kingos!
В них по разному,первый под Дос, второй под винды. Так вот во втором API CreateProcess(...) или более старую версию WinExec(...), А в первом что-то вроде Exec, или еще чего-то в хелпе посмотри. А насчет без ключей, все каких -то параметров требуют,ну не пиши ключи, а параметры придется.


Отправил эксперт: DiGiT
Эксперт отправил ответов (всего): 133

Экспертная группа: Оптимизация программ

Форма подачи вопроса

ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!

Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!


Ваше имя *:

Ваш e-mail *:

Подгруппы:

Вопрос *:

Прилагаемая программа (если необходимо):


Регистрация в качестве эксперта

Архив выпусков


Управляющий рассылкой,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное