Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 280
от 03.06.2002, 15:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 298 Отправлено ответов: 800 Активность: 268.4 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
bin Статус: Начальный Общий рейтинг: 105.4 [Подробней >>] |
Gibbel Статус: Доверительный Общий рейтинг: 110.29 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 155.38 Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 162.68 [Подробней >>] |
DiGiT Статус: Профессиональный Общий рейтинг: 148.62 [Подробней >>] |
Frank Статус: Профессиональный Общий рейтинг: 130.63 [Подробней >>] |
Vint by Shz Статус: Доверительный Общий рейтинг: 123.07 [Подробней >>] |
igorash Статус: Доверительный Общий рейтинг: 141.74 [Подробней >>] |
Тorax Статус: Доверительный Общий рейтинг: 122.75 [Подробней >>] |
Dron Статус: Профессиональный Общий рейтинг: 149.73 URL: Операционная система с нуля! [Подробней >>] |
Andy Bitoff Статус: Опытный Общий рейтинг: 118.87 URL: HomePage или что-то типа того :) [Подробней >>] |
Beeblebrox Статус: Опытный Общий рейтинг: 131.5 URL: Beeblebrox / TMA HomePage [Подробней >>] |
Shal Статус: Начальный Общий рейтинг: 107.92 [Подробней >>] |
Топор Статус: Опытный Общий рейтинг: 132.57 URL: Хорошая Русская Металлическая команда Телефон: (8462)160302, 162918 [Подробней >>] |
Александр Статус: Опытный Общий рейтинг: 118.42 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 258. Прошу помочь в написании программы in Assembler Программа получает матрицу Н*Н (Н не чётное и меньше... (ответов: 1)
Вопрос № 259. Уважаемые эксперты, у меня возникли следующие вопросы: 1. Как написать программу, которая читала бы ... (ответов: 1)
Вопрос № 260. Здравствуйте все! Кому не хватило книг на Intel-е могут сходить по этой ссылке: http://www.x86-64.or... (ответов: 4)
Вопрос № 261. Привет. Подскажите где можно взять примеры использования различных прерываний (для начинающего). Спа... (ответов: 4)
Вопрос № 262. Привет. Всем, кто плавает на Opere, в СРОЧНОМ порядке сюда: http://www.compulenta.ru/2002/5/28/30161... (ответов: 1)
Вопрос № 263. Здравствуйте, эксперты! У меня такая проблема! Пытаюсь написать программу, которая должна находить в... (ответов: 1)
Вопрос № 266. Комментарий к письму читателя Андрея. Писать систему на чистом ассемблере неразумно. Делать надо так... (ответов: 2)
Вопрос № 267. Уважаемые эксперты! Помогите пожалуйста. Я в ассемблере пока ничего не понимаю, а сдавать надо,сесси... (ответов: 1)
Вопрос № 268. Ни где не могу найти описание команды ASMa CQD(если это команда). Помогите, кто знает, PLEASE! С ув... (ответов: 11)
Вопросов: 9, ответов: 26
Вопрос № 258 |
Прошу помочь в написании программы in Assembler
Программа получает матрицу Н*Н (Н не чётное и меньше
10)
Программа проверяет если полученная матрица является
полиндромом
матрица полиндром это матрица у которой линия середины
столбик середины и диоконали(diagonal) состовляют
эксодоцемальное число и его цифры состовляют полиндром
например : Н=3
4e 5d 11
b9 44 9b
11 b5 e4
большая просьба помочь в написании этой программки
и описать её написание как можно ясно
спасибо зарание
Вопрос отправлен: 29.05.2002, 11:24
Отправитель: Stas
[Следующий вопрос >>] [Список вопросов]
Отвечает bin
Здравствуйте, Stas!
Не знаю что такое эксодоцемальное число и полиндром. Но все же попытался что-то набросать.
1) вводим размерность матрицы Н
2) проверяем на нечетность
3) вводим элементы матрицы в линейный массив слов размером Н*Н (простой буфер-строка размером Н*Н*2 байт)
4) указатель 1 (УК1) устанавливаем на начало массива, указатель 2 (УК2) на конец
5) берем содержимое УК1 (слово)
6) сдвигаем циклически вправо (можно и влево) на 8 бит, т.е. ror ax, 8 и получаем 4e->e4
7) сравниваем с содержимым по УК2, если не равны - вон на фиг, матрица не полиндром
8) увеличиваем УК1 (на след. элемент матрицы), уменьшаем УК2
9) выполняем с 4 по 8 нужное кол-во раз.
З.Ы.Возможно я не правильно понимаю эти замудр. слова, точнее все точности...
Ответ отправлен: 30.05.2002, 00:23
Отправитель: bin
Вопрос № 259 |
Уважаемые эксперты, у меня возникли следующие вопросы:
1. Как написать программу, которая читала бы всю информацию, которая приходит на сетевую карту?
2. Как написать программу, которая позволяла бы работать мыши присоединенной к LPT-порту т.е. нужно, чтобы мышь работала на порту LPT.
Заранее благодарен.
Вопрос отправлен: 29.05.2002, 18:51
Отправитель: KeVRter (kevrter@mailru.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Gibbel
Добрый день, KeVRter!
Под какую операционку тебе надо написать эти проги???
Ответ отправлен: 30.05.2002, 10:32
Отправитель: Gibbel
Вопрос № 260 |
Здравствуйте все!
Кому не хватило книг на Intel-е могут сходить по этой ссылке: http://www.x86-64.org/documentation и внизу странички найти точную копию(насколько я понимаю) этих книг(3 первых томов) в PDF датированы они 1999г. Это конечно не бумажное издание, но хоть что-то. Сказать наверняка, что это тоже самое, что слал Интел не могу, т.к. не с чем сравнивать.:)
Там кстати еще много чего интересного есть!
Приложение:
Вопрос отправлен: 29.05.2002, 20:24
Отправитель: ILYA D.
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Здравствуйте, ILYA D.!
Интересная информация.
Отправляю!
Ответ отправлен: 30.05.2002, 07:04
Отправитель: Sensey
Отвечает masquer
Доброе время суток, ILYA D.!
Все эти книги можно и с сайта Intel скачать в формате PDF
Ответ отправлен: 30.05.2002, 11:04
Отправитель: masquer
Отвечает DiGiT
Добрый день, ILYA D.!
Угу я смотрел они там не для людей у которых трафик :(((
Размер огромный.
Ответ отправлен: 30.05.2002, 05:43
Отправитель: DiGiT
Отвечает Frank
Доброе время суток, ILYA D.!
ладно отвечаю.
ЗЫ Книги вроде немного не совпадают у меня на каждом томике проставлен 2001 год, но отличия думаю не очень большие.
ЕЩЕ: вроде на самом интеловском сайте тоже можно пдфники скачать.
Я уних там документашку по PCI шине выкачал :)
Ответ отправлен: 29.05.2002, 23:23
Отправитель: Frank
Вопрос № 261 |
Привет.
Подскажите где можно взять примеры использования различных прерываний (для начинающего).
Спасибо.
Вопрос отправлен: 29.05.2002, 20:59
Отправитель: MTC
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, MTC!
Ищи Intlist by Ralf Brown
Ответ отправлен: 30.05.2002, 11:05
Отправитель: masquer
Отвечает Vint by Shz
Здравствуйте, MTC!
Могу помочь с некоторыми (ДОС ,БИОС)
vitalii@shadrinsk.zaural.ru
Ответ отправлен: 31.05.2002, 13:04
Отправитель: Vint by Shz
Отвечает igorash
Доброе время суток, MTC!
В книге по ассемблеру. Зубков, Юров и т.д.
Ответ отправлен: 29.05.2002, 21:10
Отправитель: igorash
Отвечает Тorax
Приветствую Вас, MTC!
Скачай архив основной рассылки с www.kalashnikoff.rudos
Torax
Ответ отправлен: 31.05.2002, 19:32
Отправитель: Тorax
Вопрос № 262 |
Привет.
Всем, кто плавает на Opere, в СРОЧНОМ порядке сюда:
http://www.compulenta.ru/2002/5/28/30161/
Вопрос отправлен: 29.05.2002, 22:23
Отправитель: Andy BitOff (bitoff@pisem.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, Andy BitOff!
Мне кажется, что это исключение, лишь подтверждающее надежность. Я, например, использую оперу еще с 3.х версий. А этот баг был распространен лишь в версиях 6.01 и 6.02. Период между 6.01 и 6.03 - около месяца, так что, по сравнению с друшлагом под названием IE это просто детский смех. Думаю тем, кто пользуется оперой потребуються более серьезные ошибки для перехода на что-нибудь другое.
Ответ отправлен: 30.05.2002, 11:14
Отправитель: masquer
Вопрос № 263 |
Здравствуйте, эксперты!
У меня такая проблема! Пытаюсь написать программу, которая должна находить все файлы в директории и заносить их имена в специальнно отведенный для этого файл. Столкнулся я с такой проблемой, я использую функции нахождения первого файла и следующих для файлов LFN. Находя первый файл в директоии и занося его имя в файл, функция LFN 4Fh больше не находит файлов, хотя они есть. Подозреваю, что это как-то связано с использованием 2 идентификаторов. Для функции LFN 4Fh и DOS 42h, так как если я убираю кусок с записью имени в файл программа ищет все файлы. Что я не правильно делаю и как, и чем это можно побороть?
--
С уважением, ILYA D.
Приложение:
Вопрос отправлен: 30.05.2002, 00:31
Отправитель: ILYA D.
[Следующий вопрос >>] [Список вопросов]
Отвечает Тorax
Здравствуйте, ILYA D.!
Если я тебе еще не присылал свою програму напиши - она это умеет.
Torax@dotes.west.energy.gov.ua
Ответ отправлен: 31.05.2002, 19:31
Отправитель: Тorax
Вопрос № 266 |
Комментарий к письму читателя Андрея.
Писать систему на чистом ассемблере неразумно. Делать надо так, как сделано в Linux - на ассемблере написана только аппаратно-зависимая часть. Напишешь на ассемблере- и все на другую платформу не перенесешь, например на IA-64, а привязываться только к IA-32 неправильно. А если он рвется писать собственную операционку, за основу лучше все же брать Linux(если только не собирается писать операционку на микроядре, или ОС реального времени) и изменять уже его код, так как все равно он придет к похожей системе. Естественно система должна удовлетворять стандартам на UNIX системы.
Вопрос отправлен: 30.05.2002, 11:04
Отправитель: Slava
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, Slava!
Смотря какие цели преследуются написанием своей системы. Если я, например, не собираюсь портировать ее на другие процессоры, а скорость необходима, то смысл есть, особенно те функции, которые работают с памятью. Используя ассемблер можно добиться многократного ускорения этих операций. Так что...
Ответ отправлен: 30.05.2002, 13:34
Отправитель: masquer
Отвечает Dron
Добрый день, Slava!
Почему все же линукс?
Мало того что разобраться в коде линукс - это не каждому под силу, а переписывать чужой код - это мучение, да и зачем заниматься переписыванием, когда и так все работает? :)
лучше уж делать что-то свое.
кстати почему должно удовлетворять стандартам на Unix, которые составлялись дай бог памяти - году эдак в 1960... :)
То что все писать на ассемблере - бессмысленно, это правильно. система написаная на ассемблере мало того что разрабатываться будет годами, но еще и обновляться будет очень медленно. на ассембюлере достаточно написать самую критическую и платформозависимую часть. остальное все можно писать на чем угодно.
Андрей, если хочет что-то изобрести - напиши мне. dron@infosec.ru.
Кстати к сведению всех читателей и экспертов, у нас уже появились некоторые промежуточные результаты работы ядра.
Ну вот, на этом и откланяюсь. :)
Ответ отправлен: 30.05.2002, 12:08
Отправитель: Dron
Вопрос № 267 |
Уважаемые эксперты! Помогите пожалуйста. Я в ассемблере пока ничего не понимаю, а сдавать надо,сессия полным ходом идет. Нужна небольшая прога. Дан массив 6х6 и надо отсортировать элементы по убыванию. Заранее благодарен. Спасибо.
Вопрос отправлен: 30.05.2002, 12:57
Отправитель: Сергей (serge701@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, Сергей!
Кроме того, что неполное условие дано - одних методов сортировки не меньше десятка наберется, еще и хочется разочаровать студента - никто тебе готового решения не даст. Учи матчасть. Команды ассемблера, которые тебе пригодятся - mov, cmp, jxx. Это максимум помощи.
Ответ отправлен: 30.05.2002, 13:47
Отправитель: masquer
Вопрос № 268 |
Ни где не могу найти описание команды ASMa CQD(если это команда). Помогите, кто знает, PLEASE!
С ув. Володя
Вопрос отправлен: 30.05.2002, 15:27
Отправитель: VolodL
[Следующий вопрос >>] [Список вопросов]
Отвечает Andy Bitoff
Приветствую Вас, VolodL!
Тебя, наверное, интересует команда CDQ - конвертирует двойное слово в учетверенное. Т.е. расширяет EAX в EDX:EAX.
Ответ отправлен: 30.05.2002, 18:27
Отправитель: Andy Bitoff
Отвечает Beeblebrox
Доброе время суток, VolodL!
CDQ
Opcode: 66h,99h в модели use16 и 99h в модели use32
если eax <= 7FFFFFFFh то edx := 0
иначе edx := 0FFFFFFFFh
Иными словами, преобразует 32-битное знаковое целое в 64-битное
Ответ отправлен: 30.05.2002, 15:59
Отправитель: Beeblebrox
Отвечает Vint by Shz
Здравствуйте, VolodL!
Щас , схожу пойщю...
Нет, вроде нету ни чё, да и ТАSM чего-то ругается на инструкцию....
Ответ отправлен: 31.05.2002, 13:05
Отправитель: Vint by Shz
Отвечает DiGiT
Добрый день, VolodL!
CDQ
(Convert Double word to Quad word)
Преобразование двойного слова в учетверенное слово.
Применение:
Команду cdq можно использовать для распространения значения знакового бита в регистре eax на все биты регистра edx. Данную операцию, в частности, можно использовать для подготовки к операции деления, для которой размер делимого должен быть в два раза больше размера делителя.
А CQD команды нет.
Ответ отправлен: 31.05.2002, 09:27
Отправитель: DiGiT
Отвечает Dron
Добрый день, VolodL!
cdq есть.
edx:eax <- знаковое расширение eax
Ответ отправлен: 31.05.2002, 11:24
Отправитель: Dron
Отвечает Shal
Доброе время суток, VolodL!
Конвертирование учетверенного слова в двойное по идее. По-моему такой команды нет...
Ответ отправлен: 30.05.2002, 19:11
Отправитель: Shal
Отвечает masquer
Доброе время суток, VolodL!
CQD и не найдешь, нет такой, а вот CDQ - convert double word to quad word - есть такая. Используется при умножении, в случае если результат выходит за размер регистра. Работает очень просто, распространяет знак eax на edx. Достаточно подробно?
Ответ отправлен: 30.05.2002, 19:31
Отправитель: masquer
Отвечает Тorax
Приветствую Вас, VolodL!
Команды CQD нету, а CDQ есть. Вот описание:
CDQ (Convert Double word to Quad word)
Преобразование двойного слова в учетверенное слово
Назначение:
расширение двойного слова со знаком до размера учетверенного слова(64 бита) со знаком
Синтаксис: cdq
Машинный код: 99h
Виполнение команды не влияет на флаги
Применение: команду можна использовать для распостранения значения знакового бита в регистре eax на все биты регистра edx. Данную операцию, в частности, можно использовать для подготовки к операции деления, для которого размер делимого должен быть в два раза больше делителя:
.386
delimoe dd ...
delitel dd ...
...
mov eax, delimoe
cdq
idiv delitel ; частное в eax, остаток в edx
Torax
Ответ отправлен: 31.05.2002, 19:40
Отправитель: Тorax
Отвечает Топор
Добрый день, VolodL!
Скорее всего всё-таки CDQ, а не CQD. Расширяет двойное слово в EAX до учетверённого в EDX:EAX, перенося старший бит на все остальные старшие для сохранения знака.
Ответ отправлен: 31.05.2002, 00:19
Отправитель: Топор
Отвечает igorash
Доброе время суток, VolodL!
Не cqd а cdq.
(Зубков) "Команда cdq превращает двойное слово в eax в учетверенное, младшая половина которого остается в eaxб а старшая располагается в edx. Эта команда лишь устанавливает все биты регистра edx в значение равное величине старшего бита регистра eax, сохраняя таким образом его знак."
Ответ отправлен: 31.05.2002, 23:58
Отправитель: igorash
Отвечает Александр
Доброе время суток, VolodL!
Про команду CQD ничего не понял, а вот команда CDQ действительно существует и производит знаковое расширение двойного слово из EAX до четверного слова(EDX:EAX). Т.е. если в EAX положительное число, то EDX=0, если же отрицательное, то EDX=FFFFFFFFh. Если это действительно команда АСМа(в смысле CQD), то это надо искать в 3DNow! или SSE, SSE2.
Ответ отправлен: 03.06.2002, 14:55
Отправитель: Александр
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (48) C / C++ (28) Perl (10) Delphi (19) Pascal (30) Basic / VBA (14) Java / JavaScript (8) PHP (6) MySQL / MSSQL (5) |
Пользователю Windows 95/98/Me (49) Windows NT/2000/XP (35) "Железо" (41) Поиск информации (21) |
Администратору Windows NT/2000/XP (13) Linux / Unix (8) |
Юристу Гражданское право (12) Семейное право (4) Трудовое право (6) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||