Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 300
от 25.06.2002, 19:00
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 539 Отправлено ответов: 1487 Активность: 275.8 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Shal Статус: Доверительный Общий рейтинг: 105.5 [Подробней >>] |
kvINT Статус: Опытный Общий рейтинг: 115.57 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 132.3 [Подробней >>] |
igorash Статус: Опытный Общий рейтинг: 123.82 [Подробней >>] |
Portnov Статус: Опытный Общий рейтинг: 160.2 [Подробней >>] |
Guess Who Статус: Доверительный Общий рейтинг: 105.21 [Подробней >>] |
Zloy Статус: Доверительный Общий рейтинг: 105.3 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 160.06 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 146.73 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 144.33 Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 120.82 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 488. Уважаемые эксперты! спасибо всем вам. Теперь вопрос, прерывание 29, где найти описание ? Может быть ... (ответов: 6)
Вопрос № 490. Здравствуйте уважаемые эксперты! Это не вопрос, а скорее ответ читателю АлекСандр. Я прошу у... (ответов: 1)
Вопрос № 491. Не понимаю, почему все задают такие глупые вопросы по поводу ошибок в их программах,когда сам masm г... (ответов: 3)
Вопрос № 492. Уважаемые эксперты! Подскажите следующие: Как в софтайсе реализовать так называемую "Back trace... (ответов: 2)
Вопрос № 493. Эксперты! А где же взять этот TECH HELP ? У меня вот есть один "HELP". Под редакцией Абеля... (ответов: 5)
Вопрос № 494. спасибо экспертам:Портнов, Shal,Ayl,kvINT,Guess Who,Dark Lord, Vint by Shz. С вашей помощью преодоле... (ответов: 1)
Вопрос № 495. Здравствуйте X-перты! Огромная просьба - закидайте мой мэйл инфой о связи ASM'а с ЯВУ (а именно С). ... (ответов: 2)
Вопрос № 496. Вырожаю свою благодарность Экспертам "Beeblebrox" и "Alex" за ваши ответы и вним... (ответов: 1)
Вопрос № 497. Здравствуйте уважаемые эксперты. Хотел бы задать такой вопрос: как можно программно узнать на какое ... (ответов: 1)
Вопрос № 498. Доброе время суток ув. Эксперты! Хочу уточнить свой вопрос: мне не нужен MSDN и что-то типа asm ... (ответов: 2)
Вопрос № 499. Здравствуйте, господа Эксперты. Каким образом можно определить настройки прокси для данного пользова... (ответов: 2)
Вопросов: 11, ответов: 26
Вопрос № 488 |
Уважаемые эксперты! спасибо всем вам.
Теперь вопрос, прерывание 29, где найти описание ?
Может быть кому нибудь не лень.
2.Команда shrd чем отличается от shr/У меня старый справочник Скэнлона, там этого нет.
Вопрос отправлен: 20.06.2002, 13:08
Отправитель: oleg
[Следующий вопрос >>] [Список вопросов]
Отвечает Shal
Приветствую Вас, oleg!
1.int 29h- вывод символа из al.
2.shrd приемник, источник, счетчик-сдвиг повышенной точности вправо. Приемник сдвтгается вправо на число битов, указанное в счетчике. Старший бит не обнуляется, а считывается из источника. значение которог не изменяется.
3.shr-лочиче-й сдвиг вправо. Младший бит заносится в CF, все биты сдвигаются на 1 вправо, старший бит обнуляется.
Ответ отправлен: 20.06.2002, 19:08
Отправитель: Shal
Отвечает kvINT
Добрый день, oleg!
shrd - сдвиг вправо двойной точности.Входит в систему команд начиная с 386.
shrd операнд_1,операнд_2,счетчик_сдвигов
Команда производит замену путем сдвига битов операнда операнд_1 вправо, заполняя его биты слева значениями битов, вытесняемых из операнд_2. Количество сдвигаемых бит определяется значением счетчик_сдвига, диапазон 0...31. Оно или задается операндом счетчик_сдвига или должно содержаться в регистре cl. Значение операнд_2 не изменяется.
Ответ отправлен: 20.06.2002, 15:44
Отправитель: kvINT
Отвечает Ayl
Доброе время суток, oleg!
Ну типа, а чего его описывать? Выводит символ на экран. Символ задается в регистре al.
Отличается очень сильно. Во-первых, требует 3-х параметров - ячейку памяти (16-ти или 32-хразрядную), регистр соответствующего размера и количество сдвига либо CL.
Рассматривает регистр и содержимое памяти как одно 32-хразрадное или 64-разрядное число и выполняет сдвиг на соответствующее количество разрядов.
Скэнлон, разумеется, уже устарел. Пользуйся Tech Help...
Ответ отправлен: 20.06.2002, 14:12
Отправитель: Ayl
Отвечает igorash
Добрый день, oleg!
1. Interrupt list
2. SHR - логический сдвиг вправо. Команда сдвигает биты
вправо, последний, младший, бит попадает во флаг переноса, а в
старший бит попадает ноль. Сдвиг на один разряд эквивалентен
деленению на два. Операнды такие же, как и в командах ротации.
Команда устанавливает по результатам операции флаги CF, PF, ZF
и SF, флаги AF и OF не определены.
SHRD (в процессоре 8086 отсутствует) - логический двойной
сдвиг вправо. Команда сдвигает биты вправо из одногоо регистра в
другой. Значение первого при этом не изменяется. Все
биты второго также сдвигаются вправо. Команда имеет три
операнда, два регистра или значения в памяти и величину сдвига.
Разрядности операндов равны, кроме величины сдвига. Команда
устанавливает по результатам операции флаги CF, PF, ZF и SF,
флаги AF и OF не определены.
Ответ отправлен: 21.06.2002, 18:07
Отправитель: igorash
Отвечает Portnov
Здравствуйте, oleg!
Пожалуйста...
1) Прерывание 29 или 29h? Int 29, или Int 1dh - это вообще не прерывание, по адресу, соотв. этому прерыванию в таблице векторов прерываний лежит указатель на область данных с видеопараметрами. А прерывание 29h выводит на экран символ из AL, с учетом некоторых управляющих кодов вроде 07 - звонок, 13,10 - CR,LF и т.п. Т.е. вместо
mov ah,2
mov dl,'X'
int 21h
можно писать
mov al,'X'
int 29h
Называется это почему-то "быстрый вывод". В TechHelp сказано, что это только чуть быстрее, чем если выводить на консоль через Handle Oriented I/O.
2) Это называется "Double precision shift".
SHRD dest,src,count (есть и SHLD)
Сдвигает dest на count бит вправо/влево, а в освободившиеся биты записываются а) при SHRD - младшие, б) при SHLD - старшие биты src. Например:
mov dx,1234h
mov ax,5678h
Теперь после SHRD dx,ax,4 будет dx=8123h,ax=5678h,
а после SHLD dx,ax,4 будет dx=2345h,ax=5678h.
С уважением, Portnov.
Ответ отправлен: 20.06.2002, 19:30
Отправитель: Portnov
Отвечает Guess Who
Добрый день, oleg!
1) Сейчас тебе 10 человек напишут, что все по прерываниям ищи в Ralf Brown's Interrupt List, юзай поисковик, сразу найдешь! Это на будущее, а так, это вывод символа из al на экран.
2)Команда sh(l,r)d - сдвиг повышенной точности влево,вправо.
Формат команды:
sh(l,r)d [приемник],[источник],[кол-во_сдвигов]
Приемник: 16 или 32 регистр или переменная в памяти этих же размеров.
Источник: 16 или 32 регистр только.
Кол-во сдвигов: непосредственное число(8 бит) или число в cl.
Флаг CF устанавливается равным последнему выдвинутому из приемника биту.
Ответ отправлен: 20.06.2002, 17:24
Отправитель: Guess Who
Вопрос № 490 |
Здравствуйте уважаемые эксперты!
Это не вопрос, а скорее ответ читателю АлекСандр. Я прошу у него прощения, за то что отвечая на его вопрос, об электронном адресе В.И. Юрова, ввел его в заблуждение. Я не являюсь этим человеком.:) Я не могу ответить на его персональный вопрос в силу не понятных мне причин, отсутствует поле для ответа!:) Поэтому прошу отправить экспертов, это письмо в рассылку. Смотрите ПОДРОБНЕЙ чтоб десять раз не отвечать!
Спасибо за внимание.
Вопрос отправлен: 20.06.2002, 17:39
Отправитель: Guess Who
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Добрый день, Guess Who!
Отправляю...
Ответ отправлен: 20.06.2002, 17:51
Отправитель: Ayl
Вопрос № 491 |
Не понимаю, почему все задают такие глупые вопросы по поводу ошибок в их программах,когда сам masm говорит в какой строке ошибка, и намного интереснее самомму разобраться где напортачил...8)
Могу посоветовать блокнот Edit Plus 2,он как раз нумерует все строки...
А вообще хотелось бы выразить огромную благодарность всем занимающимся этим проектом...
ЗЫ:if ответите,пишите в латынице,у меня ящик глючит 8(
ЗЫЫ:Заранее спасибо!!!
Вопрос отправлен: 20.06.2002, 18:58
Отправитель: Darkheart (Darkheart@hotbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Zloy
Доброе время суток, Darkheart!
Obichno takie voprosi zadaiud te, kto ne znaem, chto takoe masm !!!!
Ответ отправлен: 20.06.2002, 20:32
Отправитель: Zloy
Отвечает igorash
Приветствую Вас, Darkheart!
polnostiu soglasen
Ответ отправлен: 21.06.2002, 18:04
Отправитель: igorash
Отвечает Portnov
Zdravstvuite, Darkheart!
Esli eto vopros, to ya ispanskij letchik! A za chto spasibo-to??
Ответ отправлен: 20.06.2002, 19:39
Отправитель: Portnov
Вопрос № 492 |
Уважаемые эксперты! Подскажите следующие:
Как в софтайсе реализовать так называемую "Back trace"?
Перепробывал всё!И все документы перекопал, все хелпы, и память под етот сраный бак трейс увеличивал до 100кб а он всё своё , типа не бэк траёс симулятион моде, знаю што набив trace вываливает бэк траёс симулятион моде офф!А не знаю как сделать он.
Помогите кто чем может, очеееень надо..
Вопрос отправлен: 20.06.2002, 20:35
Отправитель: лёшка
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, лёшка!
Насколько я знаю, оно на автомате работает, я уже с пяток лет в айсе работаю, никогда такого не видел. Пиши подробнее, что ты хочешь сделать. Туда просто история команд заноситься и все, по умоляанию 8кб на это дело выделяется.
Ответ отправлен: 21.06.2002, 18:31
Отправитель: masquer
Отвечает Broken Sword
Приветствую Вас, лёшка!
не гони, все пашет! жмешь -
TRACE b
(маленькая латинская "б" (буква :) )
но ОБЯЗАТЕЛЬНО (!) в буфе должна быть хотя б одна выполн. инструкция
Если не поможет - пиши brokensword@mail.ru разберемся
Ответ отправлен: 20.06.2002, 23:37
Отправитель: Broken Sword
Вопрос № 493 |
Эксперты!
А где же взять этот TECH HELP ?
У меня вот есть один "HELP". Под редакцией Абеля, версия 1.2., это то что надо ? Или вы о другом Хелпе говорите. Потому что в Абелевском не было 29н.
Спасибо.
Вопрос отправлен: 20.06.2002, 22:30
Отправитель: Олег
[Следующий вопрос >>] [Список вопросов]
Отвечает Guess Who
Добрый день, Олег!
Нет, который у тебя, он русский, а про который говорят - это английский и версия 6.0. Возьми его на сайте Артема Шегеды, там он точно был! И ищи, как я тебе уже сказал, Ralf Brown's Interrupt List.
Ответ отправлен: 20.06.2002, 23:03
Отправитель: Guess Who
Отвечает Shal
Приветствую Вас, Олег!
У меня есть хелпники. Но они на английском. Если тебя это устараивает, то пиши. Там есть ВСЕ!
Ответ отправлен: 21.06.2002, 07:47
Отправитель: Shal
Отвечает Portnov
Приветствую Вас, Олег!
Вот у меня лежит TechHelp версия 6. Я его взял на сайте нашего уважаемого Dron'а, asmdev.narod.ru - сейчас точно не помню, не то в разделе документации, не то разделе средств разработки. В общем посмотрите, должно там где-то быть.
С уважением, Portnov.
Ответ отправлен: 21.06.2002, 08:17
Отправитель: Portnov
Отвечает Sensey
Доброе время суток, Олег!
Ссылка
Ответ отправлен: 21.06.2002, 11:21
Отправитель: Sensey
Отвечает baldr
Доброе время суток, Олег!
TechHELP был на www.kalashnikoff.ru. Если там уже нет,
то посмотри на http://www.asm.al.ru/.
А что касается INT 29h, то вот выдержка из одного справочника:
=====================
INT 29 - внутреннее DOS 2+ - FAST PUTCHAR
- быстрый вывод символа -
AL = выводимый символ
Возвращает: ничего
Примечания: это прерывание вызывается изнутри программ вывода DOS если вывод
производится на устройство отличное от файла, и установлен 4 бит
слова атрибута драйвера устройства (10h).
COMMAND.COM v3.2 и v3.3 сравнивает вектор INT 29 с вектором INT 20
и считает что ANSI.SYS установлен если сегмент больше.
Драйвер по умолчанию под DOS 2.x и 3.x просто вызывает INT 10/AH=0Eh
Драйвер по умолчанию под DESQview 2.2 распознаёт последовательность
очистки экрана[2J, и вызывает INT 10/AH=0Eh во всех осталь-
ных случаях
Смотри: INT 79
=====================
Ответ отправлен: 23.06.2002, 00:49
Отправитель: baldr
Вопрос № 494 |
спасибо экспертам:Портнов, Shal,Ayl,kvINT,Guess Who,Dark Lord, Vint by Shz.
С вашей помощью преодолен очередной барьер в познания матрицы!( гы-гы, над собой смеюсь)
Вообщем приятно, когда ты не один, и знаешь, что есть наод хооший, на котоый можно положиться!
Олег.
Вопрос отправлен: 20.06.2002, 22:39
Отправитель: Олег
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Приветствую Вас, Олег!
Пожалуйста.
С уважением, Portnov.
Ответ отправлен: 21.06.2002, 08:18
Отправитель: Portnov
Вопрос № 495 |
Здравствуйте X-перты!
Огромная просьба - закидайте мой мэйл инфой о связи ASM'а с ЯВУ (а именно С).
Спасибо.
bin
Вопрос отправлен: 21.06.2002, 05:51
Отправитель: bin (e002403@softhome.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает kvINT
Доброе время суток, bin!
Пару примеров из книги Юрова - смотри в ящике.
Ответ отправлен: 21.06.2002, 13:46
Отправитель: kvINT
Отвечает masquer
Здравствуйте, bin!
MSDN смотри по поводу С
например,
__asm
{
...
}
Ответ отправлен: 21.06.2002, 13:36
Отправитель: masquer
Вопрос № 496 |
Вырожаю свою благодарность Экспертам "Beeblebrox" и "Alex" за ваши ответы и внимание.
Вопрос отправлен: 21.06.2002, 06:00
Отправитель: Рифат (abriofh@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Приветствую Вас, Рифат!
Видимо, я первый получил, отправляю в рассылку. Надеюсь, остальные жмут "Дополнительно".
С уважением, Portnov.
Ответ отправлен: 21.06.2002, 08:19
Отправитель: Portnov
Вопрос № 497 |
Здравствуйте уважаемые эксперты.
Хотел бы задать такой вопрос: как можно программно узнать на какое физическое устройство ссылается какой-либо логический диск (OS-MSDOS)
Вопрос отправлен: 21.06.2002, 12:50
Отправитель: Dmitriy (PrihDmitriy@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Доброе время суток, Dmitriy!
Вообще-то не очень, ясно, что значит "на какое устройство". Какую именно информацию об устройстве вы хотите получить? Ну да ладно. Есть такая ф-ция - 32h/Int21h. Позволяет узнать много чего о диске по его букве. Возвращает указатель на специальную структуру с данными о диске. Подрбности в TechHelp.
C уважением, Portnov.
Ответ отправлен: 22.06.2002, 17:05
Отправитель: Portnov
Вопрос № 498 |
Доброе время суток ув. Эксперты!
Хочу уточнить свой вопрос: мне не нужен MSDN и что-то типа
asm {
...
}
Мне нужна инфа о вазове процедур на асме из С. Т.е. как все заносится в стек, как извлекается (порядок) и.т.д. Еще инфа о USES, ARG...
Спасибо эксперту kvINT за примеры, но (глупый вопрос) как их компилировать ? :)
P.S. Будут пирмеры - шлите не стесняйтесь
Вопрос отправлен: 21.06.2002, 17:44
Отправитель: bin (e002403@softhome.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Приветствую Вас, bin!
Ну, значит так.
Функции в Си могут иметь один из двух модификаторов - cdecl (по умолчанию) и pascal. Эти модификаторы отвечают за передачу параметров и состояние стека.
Если задан модификатор cdecl, то параметры помещаются в стек справа налево и функция не очищает стек.
Если используется модификатор pascal, то параметры помещаются слева направо и функция должна сама очищать стек.
Примеры - в приложении.
Про USES и ARG сейчас не скажу, так как нет под рукой справочника.
Приложение:
Ответ отправлен: 21.06.2002, 18:14
Отправитель: Ayl
Отвечает kvINT
Доброе время суток, bin!
Для компилятора Borland C++:
Скопировать tasm.exe в каталог bin пакета Borland C++.
Запустить исходники на трансляцию командной строкой
bcc prg14_19.cpp prg14_20.asm. Получится prg14_19.exe.
Можно по шагам:
1. транслировать модуль C++, получить объектный
bcc -c prg14_19.cpp,
-c -выполняется только компиляция.
Получится prg14_19.obj.
2. транслировать пр-му на асме
tasm prg14_20,,,
3. объединить объектные модули
bcc -ms prg14_19.obj prg14_20.obj,
получится опять же prg14_19.exe.
Ответ отправлен: 22.06.2002, 13:46
Отправитель: kvINT
Вопрос № 499 |
Здравствуйте, господа Эксперты.
Каким образом можно определить настройки прокси для данного пользователя/компьютера???
Вопрос отправлен: 21.06.2002, 18:53
Отправитель: Gibbel
[Следующий вопрос >>] [Список вопросов]
Отвечает igorash
Добрый день, Gibbel!
Оффтопик, ваще-то.
В 9х винде -> свойства сети, tcp/ip-<сетевуха, через которую идет прокси> -> Шлюз -> пишешь ip-адрес прокси и жмешь добавить.
Еще в интернет експлорере нужно по-моему тогда в "соединение"-"установки локалки" тоже адреса и порты указать
Ответ отправлен: 21.06.2002, 20:10
Отправитель: igorash
Отвечает Shal
Здравствуйте, Gibbel!
В IE->сервис->св-ва обозревателя->подключение->настрокйка сети.
Ответ отправлен: 22.06.2002, 06:56
Отправитель: Shal
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (49) C / C++ (29) Perl (9) Delphi (17) Pascal (27) Basic / VBA (16) Java / JavaScript (6) PHP (8) MySQL / MSSQL (9) |
Пользователю Windows 95/98/Me (46) Windows NT/2000/XP (34) "Железо" (40) Поиск информации (21) |
Администратору Windows NT/2000/XP (17) Linux / Unix (10) |
Юристу Гражданское право (10) Семейное право (4) Трудовое право (6) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||