АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
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.
There are four (six for Pentium) segment registers in the Microprocessor’s System Model. It is caused by specificity of organization and usage of Intel’s RAM. This specificity consists in the fact, that the microprocessor supports in the hardware level a structure of program organization of the three-parts form (these parts are called segments). These registers point those segments of the main memory, to which the program has got an access at the current moment of time (in fact, these registers contain addresses of the main memory, which correspond the beginning of the segments). The microprocessor supports the following types of segments: code segment; data segment; stack segment; complementary data segment. For an access to these segments serve the following registers:
CS – Code Segment register, it contains an address of the segment, where all machinery instructions, to which the microprocessor has an access (i.e., these instructions are loaded on the microprocessor’s pipeline).
DS – Data Segment register, it stores an address of the segment, where data of the current program are located.
SS – Stack Segment register, it contains an address of stack’s segment.
ES – register of Extra (complementary) data Segment, it is mostly used to an access to data fields, which are not included into the program (e.g. video-buffer). For using these complementary segments, it is necessary to point their addresses directly. In Pentium two more complementary data registers (namely, GS and FS) are used.
5.Is it possible to change contents of IP register? Why there are four segment registers in the microprocessor?
These registers constantly contain information, which concerns as the state of the microprocessor itself, so the state of the program, whose instructions have been just loaded on the pipeline. By using these registers, it is possible to influence on the microprocessor’s state and get information concerning results of instructions execution.
IP – Instruction Pointer register. It contains an offset (the offset relatively to the content of CS register in the current code segment) of the following instruction (i.e. offset of instruction, which will be executed on the next step). This register is not accessible by programs.
6.How is the notion of memory segments reflected on the programs structure? What kind of key words does include text of any program in assembly?
Дата добавления: 2015-09-14; просмотров: 4; Нарушение авторских прав