Analysis of debugging process

Слайд 2

How is a program compiled in TASM?

The program translation is executed by

How is a program compiled in TASM? The program translation is executed
TASM program tasm.exe. this program is loaded with help of command string
TASM[options] name of initial file [,name of object file] [,name of listing] [,name of file of cross-references]
or more simply
TASM[options] name of initial file, , ,
(gray-colored elements are not compulsory).
Example:
TASM /z/zi/n PRG0.asm,prg0.obj,prg0.lst,prg0.crf
or
TASM /z/zi/n PRG0.ASM, , ,

Слайд 3

A listing file shows precisely how the assembler translates your source file into machine code. It’s a report

A listing file shows precisely how the assembler translates your source file
of translation.

What is meant by listing file in assembly?

Слайд 5

What are the main components (columns) of the program listing?

Program’s listing includes

What are the main components (columns) of the program listing? Program’s listing
four components (colons):
1.Numbers of Assembler sentences;
2.Offsets of Instructions relatively the Segment beginning;
3.Machinery codes of instructions;
4.The initial text of the program.

Слайд 6

Syntax

name SEGMENT [[align]] [[combine]] [[use]] [[‘class’]]
Statements
Statements
………………
Statements
Statements
name ENDS

Syntax name SEGMENT [[align]] [[combine]] [[use]] [[‘class’]] Statements Statements ……………… Statements Statements name ENDS

Слайд 7

Attribute of segment alignment (type of alignment). It informs the compiler, that

Attribute of segment alignment (type of alignment). It informs the compiler, that
it is necessary to provide an allocation of the segment beginning at the given border (it is important for simplification of access to the data). There are following permissible meanings of this attribute:
BYTE. In this case the segment may be allocated starting from an arbitrary address in the main memory;
WORD. In this situation the initial (base) address of the segment will be dividable by 2;
DWORD. The segment begins with an address dividable by 4;
PARA. The segment begins with an address dividable by 16;
PAGE. The segment begins with an address dividable by 256;
MEMPAGE. The segment begins with an address dividable by 4 Kbytes.

Слайд 9

Attribute of segments combining (combining type). It informs the compiler, that it

Attribute of segments combining (combining type). It informs the compiler, that it
is necessary to combine segments of different modules, which have the same name. The default the combining is PRIVATE. Meanings of this attribute may be following:
PRIVATE. In this case the segment will not be united with other segments;
PUBLIC. It compels the compiler to unite all segments (with the same name) in one continues segment;
COMMON. In this case all the segments will overlay and use collectively (share) the memory (the size of such segment will be equal to the size of the segment with the largest area).
STACK. It determines a segment for the stack (there is some analogy with the PUBLIC).

Слайд 10

Attribute of segment class (type of class). It is enclosed in inverted

Attribute of segment class (type of class). It is enclosed in inverted
commas (‘’) string, which helps the compiler to determine an order of segments location during compilation a program, which consists from several modules