Ассемблер — это просто хадкорный ассемблер

купить вино испания              

Ассемблерные вставки как тестовый стенд


Как же сложно программировать на чистом ассемблере! Минимально работающая программа содержит чертовую уйму разнообразных конструкций, сложным образом взаимодействующих друг с другом и открывающих огонь без предупреждения. Одним махом мы отрезаем себя от привычного окружения. Сложить два числа на ассемблере не проблема, но вот вывести их результат на экран…

Ассемблерные вставки— другой дело. В то время как классические руководства по ассемблеру (Зубков, Юров), буквально с первых же строк буквально бросают читателя в пучину системного программирования, устрашая его ужасающей сложностью архитектуры процессора и операционной системы, ассемблерные вставки оставляет читателя в привычном ему окружении языков Си (и/или Паскаль) и постепенно, безо всяких резких скачков, знакомит его с внутренним миром процессора. Они же позволяют начать изучение непосредственно ассемблера с 32-разрядного защищенного режима процессора: дело в том, что в чистом виде защищенный режим настолько сложен, что не может быть усвоен даже гением, и потому практически все руководства начинают изложение с описание морально устаревшего 16-разрядного реального режима, что не только оказывается бесполезным балластом, но и замечательным средством запутывания ученика (помните, "забудьте все, чему вас учили раньше…"); По своему личному опыту и опыту моих друзей могу сказать, что такая методика обучения превосходят все остальные как минимум по двум категориям: а) скорость – буквально через три-четыре дня интенсивных занятий человек, ранее никогда не знавший ассемблера, начинает сносно на нем программировать; б) легкость освоения – изучение ассемблера происходит практически безо всякого напряжения и усилий, ни в какой момент обучения ученика не заваливают ворохом неподъемной и непроходимой информации: каждый последующий шаг интуитивно понятен и с дороги познания заботливо убраны все потенциальные препятствия.

Ну так чего же мы ждем? Для объявления ассемблерных вставок в Microsoft Visual C++ служит ключевое слово __asm, а простейшая ассемблерная программа выглядит так:


main()

{

       int a = 1;           // объявляем переменную a

и кладем туда значение 1

       int b = 2;           // объявляем переменную a

и кладем туда значение 1

       int c;               // объявляем переменную c, но не инициализируем ее

      

       // начало ассемблерной вставки

       __asm{

              mov eax, a    ;// загружаем значение переменной a

в регистр EAX

              mov ebx, b    ;// загружаем значение переменной b

в регистр EBX

              add eax, ebx  ;// складываем EAX

с EBX, записывая результат в EAX

              mov c, eax    ;// загружаем значение EAX в переменную c

       }

       // конец ассемблерной вставки

      

       // выводим содержимое c на экран

       // с помощью привычной нам функции printf

       printf("a + b = %x + %x = %x\n",a,b,c);

}

Листинг 4 ассемблерная вставка складывающая два числа


Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий