Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

«Введение в низкоуровневое программирование».




Раздел 1

«Введение в низкоуровневое программирование».

 

Страница 1 «1 Циклический процесс»

 

Циклический процесс

«Редактирование-ассемблирование-компоновка-выполнение»

 (слайд №3)

Циклический процесс «Редактирование-ассемблирование-компоновка-выполнение» - процесс, реализующий цикл взаимосвязанных между собой действий по созданию программного кода, предполагающий последовательное выполнение этапов редактирования исходного кода программы на языке ассемблер, ассемблирования – перевода исходного кода программы с языка ассемблер на язык машинных команд, компоновки нескольких модулей одной программы на языке машинных команд с целью получения исполняемого модуля программы и выполнения программы путем запуска исполняемого файла.

 

Ассемблирование – один из этапов создания программного кода, предполагающий получение объектных модулей (модулей на языке машинных кодов) и включающий в себя: макрообработку, формирование таблиц, генерацию объектного модуля, а также генерацию листинга.

 

Компоновка – один из этапов создания программного кода, предполагающий компоновку отдельных объектных и библиотечных модулей с целью получения исполняемого файла программы и файла с картой загрузок всех используемых модулей программного кода.


Страница 2 «2 Процесс ассемблирования»

Процесс ассемблирование опирается на использование файла tasm. exe.

 (слайд №4)

 

TASM [параметры] исх_файл [, объект_файл] [, листинг] [, пер_ссылки]

/a, /s                             Упорядочивание сегментов по алфавитному порядку или порядку исходного код

/c                             Генерация в листинге перекрестных ссылок

/dSYM[=VAL]      Определяется SYM = 0 или SYM = VAL

/e, /r                         Эмулируемые или действительные инструкции с плавающей точкой

/h, /?                             Выводится данная справочная информация

/iPATH                      Включаемые файлы ищутся по маршруту, определяемому PATH

/jCMD                       Определяет начальную директиву Ассемблера CMD (например, jIDEAL)

/kh#                            Мощность хеш-таблицы #

/l, /la                            Генерация листинга: l=обычный листинг, la=расширенный

/ml, /mx, /mu               Различимость в регистре букв идентификаторов: ml=все, mx=глобальные, mu=не различаются

/mv#                       Установка максимально допустимой длины имен идентификаторов

/m#                             Позволяет выполнять # проходов для разрешения ссылок вперед

/n                                Подавление в листингах таблицы идентификаторов

/os, /o, /op, /oi            Генерация оверлейного кода, 32-разрядные фиксированные адреса для компоновщика Phar Lap.

/p                            Проверка перекрытия сегмента кода в защищенном режиме

/q                                Подавление записей файла. OBJ, не нужных для компоновки

/t                                 Подавление сообщений при успешном ассемблировании

/uxxxx                    Set version emulation, version xxxx

/w0, /w1, /w2           Задание уровня предупреждение: w0 - нет предупреждений, w1 или w2 - есть предупреждения

/w-xxx, /w+xxx           Запрещение или разрешение предупреждения xxx

/x                            Включение в листинги блоков условного ассемблирования

/z                             Вывести на дисплей строку исходного текста с сообщением об ошибке

/zi, /zd, /zn                Информация об идентификаторах для отладки: zi=полная, zd=только о номерах строк, zn=отсутствует.

 


Страница 3 «3 Процесс компоновки»

Процесс компоновки иcпользует файл tlink.. exe.

(слайд №5)

 

TLINK [параметры] objfiles [, exefile, mapfile, libfiles, deffile, resfiles]

@xxxx                    indicates use response file xxxx

/x                 No map

/c                 Case sensitive symbols

/m               Map including public names

/C                Case sensitive exports & imports

/M                   Map with mangled public names

/ye               Expanded memory swapping

/s                     Map plus detailed segment map

/yx               Extended memory swapping

/l                  Map plus source line #s

/d                Warn if duplicate symbols in libraries

/i                  Initialize all segments

/f                 Inhibit optimizing far calls to near

/L                Specify library search paths

/Gx             Goodies

/n                    Ignore default libraries

n=discard   Nonresident name table

r=transfer      Resident names to nonresident names table

/v                 Full symbolic debug information

/Tti              Specify target & image type

t can be d = DOS (default)

w = Windows

x = DPMI

ican be e=EXE

             or

         d=DLL

/A=dd         Set segment alignment

/R[mpekv]      Specify option to RLINK

/t                     Create COM file (same as /Tdc)

/k                    Suppress " No stack" warning msg

/3                     Enable 32-bit processing

/Ox              Optimizations

/o                     Overlay switch

c=chained fixups

i=iterated data

a=minimum segment alignment

r=minimum resource alignment

/P[=dd]       Pack code segments

/ Vd. d          Expected Windows version

/j                     Specify object search paths

 


Страница 4 «4 BAT-файл трансляции»

BAT-файл трансляции исходных модулей MLAB1. ASM и MLAB1L. ASM, компоновки и запуска программы MLAB1 под управлением отладчика

(слайд №6)

 

.. \PROG\TASM /zi /l MLAB1

pause

.. \PROG\TASM /zi /l MLAB1L

pause

.. \PROG\TLINK /v /m  MLAB1+MLAB1L

pause

.. \PROG\TD MLAB1

 


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...