Литература по ассемблеру

1.  Assembler. Учебник. - СПб.: Питер, 2002.

2.  Assembler. Практикум. - СПб.: Питер, 2001.

3.  Assembler. Специальный справочник. СПб.: Питер, 2000.

4.  Assembler. Для DOS, Windows и UNIX. - М.: ДМК, 1999.

5.  Пустоваров : программирование и анализ корректности машинных программ. - Киев: BHV, 2000. , Финогенов ассемблера: уроки программирования. - М.: Диалог-МИФИ, 2001.

6.  Пирогов для Windows. - М.: Издатель , 2002.

7.  Ассемблер. – СПб: БХВ-Петербург, 2002.

Литература для последней лабораторной работы

8.  Козаченко : руководство по применению 16-разрядных микроконтроллеров Intel MCS-196/296 во встроенных системах управления. - М.: Изд-во ЭКОМ, 1997.

9.  Микропроцессоры и микропроцессоные комплекты интегральных схем: Справочник. В 2 т./, , и др.; Под ред. . - М.: Радио и связь, 1988.

10.  Голубцов AVR: от простого к сложному.- М.: СОЛОН-ПРЕСС, 2003.

11.  , , Попов и микроЭВМ в системах автоматического управления: Справочник/Под общ. ред. . - Л.: Машиностроение, 1987.

12.  , , Мологонцева цифровых устройств на однокристальных микроконтроллерах. - М.: Энергоатомиздат, 1990.

*.map

 

*.com, *.exe

 

*.lst

 

Редактирование

исходных модулей

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


Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland International

Syntax: TASM [options] source [,object] [,listing] [,xref]

НЕ нашли? Не то? Что вы ищете?

/a,/s Alphabetic or Source-code segment ordering

/c Generate cross-reference in listing

/dSYM[=VAL] Define symbol SYM = 0, or = value VAL

/e,/r Emulated or Real floating-point instructions

/h,/? Display this help screen

/iPATH Search PATH for include files

/jCMD Jam in an assembler directive CMD (eg. /jIDEAL)

/kh# Hash table capacity # symbols

/l,/la Generate listing: l=normal listing, la=expanded listing

/ml,/mx,/mu Case sensitivity on symbols: ml=all, mx=globals, mu=none

/mv# Set maximum valid length for symbols

/m# Allow # multiple passes to resolve forward references

/n Suppress symbol tables in listing

/os,/o,/op,/oi Object code: standard, standard w/overlays, Phar Lap, or IBM

/p Check for code segment overrides in protected mode

/q Suppress OBJ records not needed for linking

/t Suppress messages if successful assembly

/uxxxx Set version emulation, version xxxx

/w0,/w1,/w2 Set warning level: w0=none, w1=w2=warnings on

/w-xxx,/w+xxx Disable (-) or enable (+) warning xxx

/x Include false conditionals in listing

/z Display source line with error message

/zi,/zd,/zn Debug info: zi=full, zd=line numbers only, zn=none

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 Подавление в листингах таблицы идентификаторов

/o,/op Генерация оверлейного кода, 32-разрядные фиксированные

адреса для компоновщика Phar Lap.

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

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

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

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

w1 или w2 - есть предупреждения

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

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

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

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

ная, zd=только о номерах строк, zn=отсутствует.

Turbo Link Version 7.1.30.1. Copyright (c) 1987, 1996 Borland International

Syntax: 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

/v Full symbolic debug information r=transfer Resident names to

/Tti Specify target & image type nonresident names table

t can be d = DOS (default) /A=dd Set segment alignment

w = Windows /R[mpekv] Specify option to RLINK

x = DPMI /t Create COM file (same as /Tdc)

i can be e=EXE or d=DLL /k Suppress "No stack" warning msg

/3 Enable 32-bit processing /Ox Optimizations

/o Overlay switch c=chained fixups

/P[=dd] Pack code segments i=iterated data

/Vd. d Expected Windows version a=minimum segment alignment

/j Specify object search paths r=minimum resource alignment

BAT-файл трансляции исходных модулей

MLAB1.ASM и MLAB1L. ASM,

компоновки и запуска программы MLAB1

под управлением отладчика

..\PROG\TASM /zi /l MLAB1

pause

..\PROG\TASM /zi /l MLAB1L

pause

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

pause

..\PROG\TD MLAB1

Пример программы вывода массива строк

.MODEL SMALL ; Модель памяти

.STACK 200h ; Размер стека

LOCALS ; Разрешение локальных переменных (@@имя)

; Объявление данных

.DATA ; Начало сегмента данных

; char *txt[]= {"", "ОАО \"ПАРУС\"",

; "Ведущий программист", NULL};

TXT DW S1, S2, S3, 0

S1 DB '', 0

S2 DB 'ОАО "ПАРУС"', 0

S3 DB 'Ведущий программист',0

.CODE

BEGIN: ; инициализация сегментного регистра DS

MOV AX, @DATA ; @DATA закреплено за сегментным

MOV DS, AX

; s = txt;

LEA SI, TXT ; SI – указатель массива адресов строк

; ПОКА не встретился нулевой указатель,

; выводить строки текста

@@L: ; while(*s!= NULL) {

CMP WORD PTR [SI], 0

JE @@R

; puts(*s);

MOV DI, [SI]

CALL PUTS

; s++;}

ADD SI, 2

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6