adfun.ru
 
BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо Ассемблер 3.0/tasm/#1-2
Автор ""
Размер 469003 Байт
Страница 23 из 51
СКАЧАТЬ КНИГУ ЦЕЛИКОМ


          mov     bx,offset @TABLEADDR_LIST
          call    [(@table_list ptr es:bx).SHOW]

          Это аналогично последовательности инструкций,  которые Турбо
     Ассемблер использует для выполнения косвенного вызова  через ТВМ.

                       Кое-что еще о вызове методов
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Часто может встречаться ситуация,  когда необходимо  вызвать
     метод  порождающего объекта из процедуры метода порожденного объ-

     Турбо Ассемблер 3.0/tasm/#1-2                              = 88 =

     екта.  Для этого также можно использовать оператор CALL...METHOD.

          Аналогично инструкции  CALL...METHOD  вы можете использовать
     расширение инструкции JMP с ключевым словом METHOD.  Эта инструк-
     ция обеспечивает оптимальную рекурсию.  См. Главу 13, где об инс-
     трукциях CALL...METHOD и JMP...METHOD рассказывается подробнее.

                       Создание экземпляра объекта
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Чтобы создать  экземпляр  объекта,  вы  можете вызвать метод
     конструктора объекта (который выделяет память для экземпляра объ-
     екта), или распределить экземпляр объекта в предопределенном сег-
     менте данных.

          Вы можете создать экземпляр объекта точно также, как вы соз-
     даете экземпляр структуры.  Рассмотрите,  например, следующие эк-
     земпляры объектов:

          foolist   list ()                ; экземпляр списка
          fooqueue  label queue
                    queue ()               ; экземпляр очереди
                    queue (list_head=mynode,list_tail=mynode)
                                           ; экземпляр очереди

          Когда вы создаете экземпляр объекта,  вы можете  переопреде-
     лить  любые используемые по умолчанию в объекте данные,  значения
     которых определены в описании объекта, переопределив эти значения
     в  скобках.  Однако переопределить методы при создании экземпляра
     объекта нельзя.

                      Программирование с объектами
     ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

          Хорошо хранить  процедуры метода отдельно от описаний метода
     (в отдельном файле) и отдельно от кода, использующего данный объ-
     ект.  Мы  рекомендуем  помещать процедуры метода в файл с именем,
     совпадающим с именем объекта,  и расширением .ASM. Например, про-
     цедуры  метода  для  объекта  связанного списка можно поместить в
     файл LIST.ASM.  Файл процедур метода должен включать  (с  помощью
     INCLUDE) описания метода из файла .ASO.

          В конце  данной главы показан пример процедур метода объекта
     списка.  Чтобы показать общую структуру файла,  приведем фрагмент
     файла LIST.ASM (его можно найти в примерах на дистрибутивном дис-
     ке):

           ;----------------------------------------------------
           ;-- Определение объекта связанного списка -----------
           ;----------------------------------------------------
           MODEL SMALL
           LOCALS


     Турбо Ассемблер 3.0/tasm/#1-2                              = 89 =

           ;** Определить объект связанного списка **

           INCLUSE node.aso

           ;** Создать экземпляр таблицы виртуальных методов **
           ;** связанного списка                             **

           DATASEG

           TBLINST

           ;** Методы связанного списка **

           CODESEG

           ;;<<все процедуры методов>>

          В общем случае следует использовать следующую форму объектно
     -ориентированного программирования в Турбо Ассемблере

     ЪДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
     і    Файл     і                     Содержимое                  і
     ГДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ
     і<объект>.ASO і INCLUDE <порождающий_объект>.ASO (если он есть),і
     і             і GLOBAL описание объекта и директива  GLOBAL  дляі
     і             і каждой процедуры методов.                       і





і і і і<объект>.ASM і INCLUDE <объект>.ASO содержит директиву TBLINSTі і і и описание процедур методов, содержит метод initі і і c TBLINIT. і АДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ Заметим, что вы можете использовать директивы TBLINST и TBLINIT, даже если в объекте нет виртуальных методов. В этом слу- чае никаких действий не выполняется. Таким образом, мы рекоменду- ем вам использовать директивы TBLINST и TBLINIT независимо от на- личия в объекте виртуальных методов. Поместите директиву TBLINST в соответствующий сегмент данных, а TBLINIT - в метод инициализа- ции объекта (который должен быть статическим). Вы должны вызывать этот метод перед использованием всех других методов объекта. Пример из области программирования ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД На диске с примерами содержится исчерпывающий пример объект- но-ориентированного программирования, в котором используются опи- санные ранее объекты list и queue, а также объект stack. Описан- ный объект node является базовым объектом для всех данных пользователя, записанных в связанном списке, очереди или стеке. Список соответствующих файлов примера приведен в следующей табли- це: Файлы примера объектно-ориентированного программирования Турбо Ассемблер 3.0/tasm/#1-2 = 90 = Таблица 4.3 ЪДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і Файл і Содержимое і ГДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ і NODE.ASO і Описывает объект node и методы. і і NODE.ASM і Содержит методы объекта node и экземпляр таб-і і і лицы виртуальных методов. і і і і і LIST.ASO і Описывает объект list и его методы. і і LIST.ASM і Содержит методы объекта list и экземпляр таб-і і і лицы виртуальных методов. і і і і і QUEUE.ASO і Описывает объект queue и его методы. і і QUEUE.ASM і Содержит методы объекта queue и экземплярі і і таблицы виртуальных методов. і і і і і STACK.ASO і Описывает объект stack и его методы. і і STACK.ASM і Содержит методы объекта stack и экземплярі і і таблицы виртуальных методов. і і і і і OOP.ASM і Содержит пример использования этих объектов. і АДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ Турбо Ассемблер 3.0/tasm/#1-2 = 91 = Глава 5. Использование выражений и значений идентификаторов ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Выражение и идентификаторы - это основные компоненты прог- раммы на языка Ассемблера. Выражения используются для вычисления значений и адресов в памяти. Идентификаторы представляют различ- ные виды значений. В данной главе описываются различные типы этих компонентов языка и рассказывается о том, как их использовать. Константы ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Константы представляют собой числа или строки, которые Турбо Ассемблер интерпретирует, как фиксированное числовое значение. Вы можете использовать различные типы числовых форматов, включая десятичные, шестнадцатиричные, двоичные и восьмеричные. Числовые константы ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Числовые константы в Турбо Ассемблере всегда начинаются с цифры (0-9) и содержат произвольное число алфавитно-цифровых символов. Фактическое значение константы зависит от основания, которое вы выбираете для ее интерпретации. В Турбо Ассемблере можно использовать двоичное, восьмеричное, десятичное или шест- надцатиричное основание, что показано в приведенной ниже таблице: Основания Таблица 5.1 ЪДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і Основание і Допустимые цифры і ГДДДДДДДДДДДДДДДДДДДДДДДЕДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ ідвоичное і 0 1 і івосьмеричное і 0 1 2 3 4 5 6 7 і ідесятичное і 0 1 2 3 4 5 6 7 8 9 і ішестнадцатиричное і 0 1 2 3 4 5 6 7 8 9 A B C D E F і АДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ Заметим, что в шестнадцатиричных константах вы можете ис- пользовать буквы как в верхнем, так и в нижнем регистре. Турбо Ассемблер определяет основание числовой константы, проверяя сначала последний ее символ. Символы, используемые для задания основания при интерпретации константы, приведены в следу- ющей таблице:


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.