Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник.docx
Скачиваний:
5
Добавлен:
26.11.2018
Размер:
54.24 Кб
Скачать

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-диск

(виртуальный диск в памяти), могут в следующих примерах заменить

соответствующие номера дисководов. Простейший способ запуска компоновщика

представляет ввод команды LINK, что приводит к загрузке компоновщика с

диска в память. На экране появятся следующие запросы:

Object Modules [.OBJ]:

Run File [d:filename.ЕХЕ]:

List File [NUL.MAP]:

Libraries [.LIB]:

Курсор при этом расположится в конце первой строки, где необходимо

указать имя файла. Введите номер дисковода (если он не определен по

умолчанию) и имя файла. Не следует набирать тип файла OBJ - компоновщик

подразумевает это. Во втором запросе предполагается аналогичное имя файла

(но можно его заменить). Если необходимо, введите номер дисковода. Третий

запрос предполагает, что листинг компоновки программы не требуется.

Последний запрос имеет отношение к библиотечным средствам DOS.

Если вы хотите оставить значения по умолчанию, то в трех последних

запросах просто нажмите Return. Ниже приведен пример запросов и ответов, в

результате которых компоновщик должен создать файлы ЕХЕ и CON:

Object Modules [.OBJ]:B:ASMPROG [return]

Run File [d:filename.ЕХЕ]:В: [return]

List File [NUL.MAP]:CON [return]

Libraries [.LIB]: [return]

Ответ CON приводит к выводу карты компоновки на экран для проверки на

наличие сообщений об ошибках. Команду LINK можно сформировать также

следующим образом:

LINK B:ASMPROG,В:,CON

Описание остальных режимов компоновщика LINK можно найти в

руководстве no DOS.

Программа ЕХЕ2ВIN

-------------------

Программа EXE2BIN.COM в операционной системе DOS используется для

преобразования ЕХЕ-модулей в СОМ-модули, при этом полагается, что

программы подготовлены в соответствии с требованиями для СОМ-модулей. Для

запуска программы EXE2BIN вставьте дискету DOS в дисковод А, а дискету с

ЕХЕ-файлом - в дисковод В. Для винчестерского диска следует использовать

дисковод С. Введите следующую команду:

EXE2BIN B:filename,B:filename.COM

Первым операндом является имя ЕХЕ-файла, которое вводится без

указания типа. Второй операнд представляет собой имя СОМ-файла; здесь

можно изменить имя программы, но обязательно следует указывать тип СОМ.

После того как преобразование будет выполнено, можно удалить файлы OBJ и

ЕХЕ.