Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Glossary
Address counter
Addressing mode
Address operands
Address Space
ALU registers
Attribute of segment alignment (type of alignment)
Attribute of segments combining (combining type)
Assembly Language
Binary Coded Decimals (BCD)
Blocks of Repetition
Comparison operators
Control and state registers
Constant or direct operands
Directives
Effective address
Expressions
Flags register
Groups of Instructions and Modes of their execution
Identifiers
Index operator [ ]
Input language
Instructions
Instructions of Control Break
Lexical units (tokens)
Macroinstructions
Macro-means in Assembly
Memory Organization
Microprocessor’s System Model
Model of Memory (used by a program in Assembly)
Operator mask
Operator of obtaining offset of expression offset
Operator of re-declaration (redefinition) of the ptr type
Operator of segment re-declaration ’:’ (colon)
Organization of Loops
Output language
Physical address
Prefixes
Procedures
Protected mode
Real address mode
Record
Register operand
Registers of common destination
Removable operands
Segment Memory Organization
Segments registers
Shift operators
Simple Data Types in Assembly
Structure
Structure of machinery instruction
Symbols chains
System programming
Turbo Debugger
Types of jumps
Explanation of used terms and expressions.
User’s programs are: executable modules or application program packages and libraries of object modules for solving specialized problems, which as a rule are written in understandable to wide circle of programmers languages.
* Application programs are such programs, which are written for a specific application to perform functions specified by end users.
System programs support the work of computer systems or computer networks.
*System programs are generalized programs, that manage the resources of the computer, such as the CPU, buses and peripheral devices.
System programming is an elaboration of software (operational systems and programming systems), and creation of application program packages for common usage.
Programs, which translate user’s programs written in some certain language into the other language are called translators. The language, in which initially a program was written is called input language, the language, in which a program is translated is called output language.
The Assembly Language is such a language, in which to every proposition exactly one machinery instruction corresponds.
real address mode, which is characterized by: 1) addressing only to 1Mbyte of main memory; 2) single-tasking operating system (Real—time operating System (RTS)).
*Now there are some more modes of microprocessor work:
- protected mode (it is characterized by possibility of addressing up to 64 Giga bytes);
- virtual 8086 mode (it is characterized by possibility of the processing a number of programs simultaneously), the transition to this mode is possible if microprocessor has been working in the protected mode;
- system control mode (this mode provides the operational system with mechanism for execution machinery dependable functions).
Microprocessor’s System Model.
The knowledge of Microprocessor’s System Model is important for programming on Assembly language. This model includes:
a. Microprocessor
b. RAM
c. Input/output devices
User’s registers are the following:
- registers of common destination (used for storing data and addresses);
- segments registers (used for storing RAM’s segments addresses);
- co-processor’s registers (intended for elaboration programs when data with a floating point are used);
- integer MMX-registers (for processing graphic, multimedia and communication programs);
- control and state registers (hold information on the state of microprocessor and executed program, and allowing to change this state);
- flags register (serves for tuning of the program executing);
- instruction pointing register.
Memory Organization.
On the bottom level the main memory can be considered as a bits massive (each of bits can hold 0 or 1). Physical realization of bits ideally put into practice by logic circuits. But a work with bits is not economical, that is why RAM is organized as a sequenced system of cells – bytes. A unique address corresponds to each byte, and it’s called a physical address.
Microprocessor supports two models of the main memory usage:
-segment model. In this model some continues areas of the main memory are picked out in the program, and the program itself can call only to those data, which are in these segments.
-page model. The usage of this model is connected with the virtual memory organization.
Segment Memory Organization.
Segment is a section in the main memory of 64 Kbytes volume, which begins with an address dividable by 16. It is undependable and supported on hardware level block of RAM.
Memory segmentation is a mechanism of dividing RAM into segments of the fixed length and forming of the address space by the way of writing an address in the form “segment : offset”. This mechanism guaranties existence of some undependable address spaces as within the limits of the given problem so in the system as a whole for protecting problems from reciprocal influence.
relative address or offset, which microprocessor uses for the access to data inside the segment is called effective address.
Physical address is an address handled on the microprocessor’s data bus.
Address Space(AS) is a set of addresses, which the microprocessor is able to generate.
The general purpose registers are allocated inside the ALU, that is why they often call them ALU registers.
All these registers admit an undependable access as to the senior (high: AH, BH, CH and DH), so junior (low: AL, BL, CL and DL) halves.
Some characteristic of ALU registers.
AX - Accumulator register. This register is used for storing intermediate data; sometimes the usage of AX is obligatory.
BX – Base register. This register is used for storing a base address of some memory objects.
CX – Count register. CX is used in instructions with repeating operations.
DX – Data register. DX is analogous to AX, but it is often used indirectly, and all input/output operations can be executed only through AX.
SI – Source Index register. It is used for supporting so called chains operations (i. e. operations, which realize sequential processing of elements, each of these elements may have a length equal t0 32, 16 or 8 bits ). In the chain operations SI contains the current address of an element in the chain-source.
DI – Destination Index register. It is also used for supporting so called chains operations and contains the current address in the chain-destination.
SP – Stack register. It contains a pointer of vertex (node) of the current segment of stack.
BP – Base pointer register (register of stack’s frame base pointer). This register is intended for the organization of arbitrary access to data inside the stack.
Instructions(commands) are such expressions, which determine concrete operations to be executed by the computer (each instruction determines only one operation) and their (its) operands.
Directives(pseudo-instructions) are intended for the transfer of service information to the translator, which is necessary during the process of the program assembling.
Assembly sentences are formed by lexical units (tokens) [лексемы], which are not separable sequences of permissible language symbols (they have sense only for the translator).
The lexical units are:
- Identifiers are sequences of permissible symbols, which used for designation such program’s objects as: codes of operations, names of variables and labels names. There is a regulation of spelling (writing) identifiers: Identifier may include one or more symbols, but not more than 255. Symbols may be letters of Latin alphabet and some special signs: __, ?, $, @. It can not(!) begin with a digit.
- Symbols chains are sequences of symbols enclosed in inverted commas (single or double);
Integers are presented in: binary, decimal or hexadecimal calculation system.
Constant or direct operands: number, string, name or expression, which have a fixed meaning. The name must be not removable (i. e. it mustn’t depend on an address of program loading into the memory (for example, it may be defined by operators equ or = .
Address operands. These operands set physical location of operand in the memory with help of pointing to address components: segment and offset.
Removable operands are any symbolic names, which represent some memory addresses. These addresses may designate a place inside the memory of an instruction (if operand is a label), or data (if operand is a name of the memory area inside a data segment). These operands are not fastened to a concrete address of the physical memory. The segment component of the a removable operand address is not known and will be determined only after loading of the program into the memory for execution.
Address counter is a specific type of operand. It is designated as $. The specificity of this register consists in following: when the translator meats this symbol in a program, it puts instead of it the current contents of the address counter.
Register operand. This is simply a name of one of ALU’s registers.
In common operands may be components of more complex formations, which are called expressions. Expressions are combinations of operands and operators.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


