Всем привет. Вопрос у меня ко всем по теме и почти что не по теме. В отличие от студентов, которые специализируются на ВМКСС или ЭВМ, обычный люд занимающийся изучение вссемблера самостоятельно испытывает порблемы с отсутствие задач. Если у кого то из студентов есть сборник задач по ассемблеру или ссылка на подобную книжку или методичку, или же кто то возьмет на себя отсканить и выложиь имеющуюся - буду благодарен не только я, но и многие жаждущие. Спа.
bakki, не вижу проблем. Есть топик на форуме, где студентики просят помощи в задачках http://wasm.ru/forum/viewtopic.php?id=17088 Есть гуугл, если ввести *задачи на ассемблере* то выдает несколько рассылок и кучу просьб сделать задачку на ассемблере. Сборник задач по ассемблеру, если бы такой был, не сильно отличался бы от сборника задач по С(или других языков программирования).
лучше тут (к бабушке этот netz) http://avaxhome.ws/ebooks/programming_development/assembler/asnaprim.html
bakki Задания к каждой главе Язык ассемблера для процессоров Intel - Ирвин, Кип Ассемблер и программирование для IBM PC - Абель Питер Искусство программирования на Ассемблере. Лекции и упражнения - Голубь Н.Г.
bakki На просторах Инета можно найти pdf М.Э.Абрамяна "Programming Taskbook" "...предназначенный для обучения программированию на Pascal, Visual Basic, C++, C#", содержащий свыше 1000 учебных заданий, охватывающих "все основные разделы базового курса программирования..." -- используйте его, если "при самостоятельном изучении ассемблера испытываете проблемы с отсутствием задач" и если, конечно, нет религиозных предрассудков относительно вышеназванных языков
маловато. Задач маловато! это математика. Хорошая математика, интересная. Но немного не то, думаю. Ну да, конечно. Не отличается, щаз. Тогда это сборник задач по программированию, а не по ассемблеру. Задачи, вообще-то, где-то попадаются. Могу предложить практические задачи, которые возникают, или возникали в истории низкоуровневого программирования: - написать процедуру, преобразующую 32-битное целое со знаком в строку - написать процедуру, преобразующую строку в 32-битное целое со знаком - написать процедуру, выполняющую преобразование CharToOem, без использования данной функции - написать процедуру, удаляющую из строки лишние пробелы. - написать процедуру, выполняющую деление с остатком, без использования div/idiv/mul/imul и сопроцессора - написать процедуру, выполняющую сложение 128-битных целых (без, естественно, SSE или MMX) - написать процедуру, выполняющую умножение 128-битных целых - написать процедуру, эмулирующую n-мерный массив с помощью одномерного - написать калькулятор, позволяющий складывать, вычитать, умножать и делить числа произвольного размера, с плавающей точкой (до, скажем, 65535 знаков ). Числа вводятся с клавиатуры или файла, в виде ASCII-строки. - написать процедуры вычисления синуса и экспоненты, в виде табличной функции с интерполяцией и в виде вычисления ряда (не используя сопроцессор). Сравнить скорость выполнения и погрешность обоих вариантов. - написать процедуру вычисления квадратного корня с точностью до заданного количества знаков после запятой, без сопроцессора. На входе - N, n. На выходе - SQRT(N), с n знаками после запятой. - реализовать процедуру возведения в степень, без использования сопроцессора. В том числе, с вещественной степенью. думаю, минимум на 2-3 месяца этого достаточно )) а потом супер-задачи: - взять любую из решенных ранее задач, и изменить алгоритм, порядок вычислений, или варианты (если есть) машинного представления команд, добившись уменьшения размера кода (только секции кода, если под Windows) минимум на 25% (лучше - на 50% ) - оптимизация по размеру - взять любую из решенных задач, оценить скорость ее выполнения, и изменить порядок вычислений, алгоритм или варианты (если есть) машинного представления команд, добившись ускорения минимум на 25% - оптимизация по скорости по большей части, уже не актуальные (в смысле, решенные, или отпавшие в связи с появлением сопроцессоров, внедренных в ОС функций, и т.п.) задачи, мало относящиеся к алгоритмическому программированию, с известной и не очень сложной математикой. Зато - как раз на ассемблере