Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Питер Абель Весь текст 992.61 Kb

Ассемблер и программирование для IBM PC

Предыдущая страница Следующая страница
1 ... 76 77 78 79 80 81 82  83 84 85

                          Частное   Остаток   Шест.

          42936 / 16       2683       8        8    (младшая цифра)
           2683 / 16        167      11        B
            167 / 16         10       7        7
             10 / 16          0      10        A    (старшая цифра)

     Для преобразования чисел из десятичного формата  в  шестнадцатеричный
можно также воспользоваться таблицей  B-1.  Для  десятичного  числа  42936
необходимо найти в таблице число равное или ближайшее меньшее исходному, и
записать соответствующую  шестнадцатеричную  цифру  и  ее  позицию.  Затем
следует вычесть  найденное  десятичное  число  из  42936  и  с  полученной
разностью проделать проделать ту же операцию:

                                           Дес.     Шест.

          Исходное десятичное число       42936
          Вычесть ближайшее меньшее       40960     A000
                                          -----
          Разность                         1976
          Вычесть ближайшее меньшее        1792      700
                                           ----
          Разность                          184
          Вычесть ближайшее меньшее         176       B0
                                            ---
          Разность                            8        8
                                                    ----
          Результирующее шест. число                A7B8


         Таблица B-1. Шестнадцатерично-десятичные преобразования
ЪДДДДДДДДДДДДВДДДДДДДДДДДВДДДДДДДДДДВДДДДДДДДВДДДДДДДВДДДДДДВДДДДДВДДДДД¬
¦Ш           ¦Ш          ¦Ш         ¦Ш       ¦Ш      ¦Ш     ¦Ш    ¦Ш    ¦
¦Е           ¦Е          ¦Е         ¦Е       ¦Е      ¦Е     ¦Е    ¦Е    ¦
¦С           ¦С          ¦С         ¦С       ¦С      ¦С     ¦С    ¦С    ¦
¦Т     ДЕС   ¦Т    ДЕС   ¦Т    ДЕС  ¦Т   ДЕС ¦Т   ДЕС¦Т  ДЕС¦Т ДЕС¦Т ДЕС¦
ГДДДДДДДДДДДД†ДДДДДДДДДДД†ДДДДДДДДДД†ДДДДДДДД†ДДДДДДД†ДДДДДД†ДДДДД†ДДДДДґ
¦0          0¦0         0¦0        0¦0      0¦0     0¦0    0¦0   0¦0   0¦
¦1  268435456¦1  16777216¦1  1048576¦1  65536¦1  4096¦1  256¦1  16¦1   1¦
¦2  536870912¦2  33554432¦2  2097152¦2 131072¦2  8192¦2  512¦2  32¦2   2¦
¦3  805306368¦3  50331648¦3  3145728¦3 196608¦3 12288¦3  768¦3  48¦3   3¦
¦4 1073741824¦4  67108864¦4  4194304¦4 262144¦4 16384¦4 1024¦4  64¦4   4¦
¦5 1342177280¦5  83886080¦5  5242880¦5 327680¦5 20480¦5 1280¦5  80¦5   5¦
¦6 1610612736¦6 100663296¦6  6291456¦6 393216¦6 24576¦6 1536¦6  96¦6   6¦
¦7 1879048192¦7 117440512¦7  7340032¦7 458752¦7 28672¦7 1792¦7 112¦7   7¦
¦8 2147483648¦8 134217728¦8  8388608¦8 524288¦8 32768¦8 2048¦8 128¦8   8¦
¦9 2415919104¦9 150994944¦9  9437184¦9 589824¦9 36864¦9 2304¦9 144¦9   9¦
¦A 2684354560¦A 167772160¦A 10485760¦A 655360¦A 40960¦A 2560¦A 160¦A  10¦
¦B 2952790016¦B 184549376¦B 11534336¦B 720896¦B 45056¦B 2816¦B 176¦B  11¦
¦C 3221225472¦C 201326592¦C 12582912¦C 786432¦C 49152¦C 3072¦C 192¦C  12¦
¦D 3489660928¦D 218103808¦D 13631488¦D 851968¦D 53248¦D 3328¦D 208¦D  13¦
¦E 3758096384¦E 234881024¦E 14680064¦E 917504¦E 57344¦E 3584¦E 224¦E  14¦
¦F 4026531840¦F 251658240¦F 15728640¦F 983040¦F 61440¦F 3840¦F 240¦F  15¦
ГДДДДДДДДДДДД†ДДДДДДДДДДД†ДДДДДДДДДД†ДДДДДДДД†ДДДДДДД†ДДДДДД†ДДДДД†ДДДДДґ
¦      8     ¦     7     ¦     6    ¦    5   ¦   4   ¦   3  ¦  2  ¦  1  ¦
АДДДДДДДДДДДДБДДДДДДДДДДДБДДДДДДДДДДБДДДДДДДДБДДДДДДДБДДДДДДБДДДДДБДДДДДЩ
     Шестнадцатиpичные позиции


     ПРИЛОЖЕНИЕ 3:                            Зарезервированные слова
     ________________________________________________________________

     Большинство из следующих зарезервированных слов при использовании  их
для определении элементов данных могут привести к ошибкам  ассемблирования
(в ряде случаев - к весьма грубым):


                             Имена регистров
                            -----------------
                     AH   BH   CH   DH   CS   SS   BP
                     AL   BL   CL   DL   DS   SI   SP
                     AX   BX   CX   DX   ES   DI


                                Мнемокоды
                               -----------
          AAA       DIV       JLE       JS        OR        SBB
          AAD       ESC       JMP       JZ        OUT       SCAS
          AAM       HLT       JNA       LAHF      POP       SHL
          AAS       IDIV      JNAE      LDS       POPF      SHR
          ADC       IMUL      JNB       LEA       PUSH      STC
          ADD       IN        JNBE      LES       PUSHF     STD
          AND       INC       JNE       LOCK      RCL       STI
          CALL      INT       JNG       LODS      RCR       STOS
          CBW       INTO      JNGE      LOOP      REP       SUB
          CLC       IRET      JNL       LOOPE     REPE      TEST
          CLD       JA        JNLE      LOOPNE    REPNE     WAIT
          CLI       JAE       JNO       LOOPNZ    REPNZ     XCHG
          CMC       JB        JNP       LOOPZ     REPZ      XLAT
          CMP       JBE       JNS       MOV       RET       XOR
          CMPS      JCXZ      JNZ       MOVS      ROL
          CWD       JE        JO        MUL       ROR
          DAA       JG        JP        NEG       SAHF
          DAS       JGE       JPE       NOP       SAL
          DEC       JL        JPO       NOT       SAR


                           Директивы ассемблера
                          ----------------------
          ASSUME    END       EXTRN     IFNB      LOCAL     PURGE
          COMMENT   ENDIF     GROUP     IFNDEF    MACRO     RECORD
          DB        ENDM      IF        IF1       NAME      REPT
          DD        ENDP      IFB       IF2       ORG       SEGMENT
          DQ        ENDS      IFDEF     INCLUDE   OUT       STRUC
          DT        EQU       IFDIF     IRP       PAGE      SUBTTL
          DW        EVEN      IFE       IRPC      PROC      TITLE
          ELSE      EXITM     IFIDN     LABEL     PUBLIC


                          Прочие элементы языка
                         -----------------------
          BYTE      FAR       LENGTH    MOD       PRT       THIS
          COMMENT   GE        LINE      NE        SEG       TYPE
          CON       GT        LT        NEAR      SHORT     WIDTH
          DUP       HIGH      LOW       NOTHING   SIZE      WORD
          EQ        LE        MASK      OFFSET    STACK



     ПРИЛОЖЕНИЕ 4:                РЕЖИМЫ АССЕМБЛИРОВАНИЯ И КОМПОНОВКИ
     ________________________________________________________________

                        Ассемблирование программы
                       ---------------------------
     На дискете с ассемблерным  пакетом  имеются  две  версии  ассемблера:
ASM.EXE - сокращенная версия, в которой отсутствуют некоторые возможности,
и  MASM.EXE  -  полная  версия,  имеющая  все  возможности  и   являющаяся
предпочтительной.  Для ассемблирования  вставьте  ассемблерную  дискету  в
дисковод А, а дискету с исходной программой -  в  дисковод  В.  Кто  имеет
винчестер или RAM-диск (виртуальный диск  в  памяти),  могут  в  следующих
примерах заменить соответствующие номера дисководов.  Введите команды MASM
(или ASM), что приведет к загрузке программы ассемблера с диска в  память.
На экране появится:

               source filename [.ASM]:
               object filename [filename.OBJ]:
               source listing  [NUL.LST]:
               cross-reference [NUL.CRF]:

     Курсор при этом расположится в конце первой  строки,  где  необходимо
указать имя файла.  Введите номер  дисковода  (если  он  не  определен  по
умолчанию) и имя файла.  Не следует набирать тип  файла  ASM  -  ассемблер
подразумевает это.  Во втором запросе предполагается аналогичное имя файла
(но можно его заменить).  Если необходимо, введите номер дисковода. Третий
запрос предполагает, что листинг ассемблирования программы  не  требуется.
Последний  запрос  предполагает,  что  листинг  перекрестных  ссылок    не
требуется. Для получения листинга на дисководе В введите В:.
     Если вы хотите оставить значения по умолчанию, то  в  трех  последних
запросах просто нажмите Return. Ниже приведен пример запросов и ответов, в
результате которых ассемблер должен создать  OBJ-,  LST-  и  CRF-файлы  на
дисководе В:

               source filename [.ASM]:B:ASMPROG [Return]
               object filename [filename.OBJ]:B: [Return]
               source listing  [NUL.LST]:B: [Return]
               cross-reference [NUL.CRF]:B: [Return]

     Альтернативный вариант вызова ассемблера:

          MASM B:name.ASM,B:name.OBJ,B:name.LST,B:name.CRF

     В следующей команде используются значения по умолчанию:

               MASM B:filename,B:,B:,В:;

          - первый параметр B:filename идентифицирует исходную  программу,
     которая должна быть ассемблирована;
          - второй  параметр  В:  указывает  ассемблеру  на  необходимость
     записать объектный модуль на дисковод В под именем filename.OBJ;
          - третий  параметр  В:  указывает  ассемблеру  на  необходимость
     записать  листинг  ассемблирования  на  дисковод   В    под    именем
     filename.LST;
          - четвертый параметр В: приводит к генерации файла  перекрестных
     ссылок под именем filename.CRF;
          - Точка с  запятой  в  конце  команды  указывает  ассемблеру  на
     необходимость  игнорировать  любые  последующие  параметры.  Хотя   в
     приведенном примере таких параметров нет, кодирование точки с запятой
     является хорошим правилом для других вариантов команды.

     При наличии ошибок ассемблирования программа ASM выдает  только  коды
ошибок, которые объяснены в руководстве по  Ассемблеру,  в  то  время  как
программа MASM выдает и коды ошибок, и  пояснения  к  ним.  Всего  имеется
около 100 сообщений об ошибках.
     Режимы ассемблирования включают следующие:

MASM /A   организовать исходные сегменты в алфавитном порядке;
MASM /D   генерировать LST-файл в обоих проходах ассемблирования;
MASM /E   ассемблировать команды  для  сопроцессора  8087  и  генерировать
          связи для языка ФОРТРАН и пакета эмуляции языка ПАСКАЛЬ;
MASM /N   отменить генерацию таблицы идентификаторов;
MASM /R   ассемблировать команды для сопроцессора 8087 (аналогично /E);
MASM /S   сохранить исходные сегменты в оригинальной последовательности.


                         Файл перекрестных ссылок
                        --------------------------
     Генерируемый в ходе ассемблирования CRF-файл может использоваться для
создания  листинга  перекрестных  ссылок  на  метки,   идентификаторы    и
переменные в программе.  Для получения CRF-фала  необходимо  на  четвертый
запрос ассемблера ответить, например.  В:, полагая, что файл  должен  быть
создан на диске В:

               cross-reference [NUL.CRF]:B: [Return]

     Для преобразования полученного  CRF-файла  в  удобно  отсортированную
таблицу перекрестных ссылок  используется  программа  CREF,  имеющаяся  на
ассемблерном диске. Введите команду CREF; на экране появится два запроса:

               Cref filename [.CRF]:
               List filename [cross-ref.REF]:

     На первый запрос введите имя CRF-файла, например B:ASMPROG. На второй
запрос можно ввести только номер дисковода и получить  имя  по  умолчанию.
Такой выбор приведет к преобразованию CRF-файла в файл перекрестных ссылок
по имени filename.REF на дисководе В. Можно также кодировать всю команду в
одной строке, например:

          CREF  В: filename. CRF, CON иди CREF B:filename.CRF,B:

     В первом примере файл перекрестных ссылок выводится на экран.  Второй
пример записывает файл по имени filename.REF на диск В.


                           Компоновка программ
                          ---------------------
     Для компоновки ЕХЕ-программы вставьте дискету DOS  в  дисковод  А,  а
дискету с программой - в дисковод В.  Те, кто имеют винчестер или RAM-диск
(виртуальный  диск  в  памяти),  могут  в  следующих  примерах    заменить
Предыдущая страница Следующая страница
1 ... 76 77 78 79 80 81 82  83 84 85
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (15)

Реклама