atmiņas adresēšana

7
1 1. slaids Datoru organizācija un asambleri 3. laboratorijas darbs Atmiņas adresēšana Viendimensijas masīvi C++ valodā: const int N = 3; char VectC[N] = {1, 2, 3}; short VectS[N] = {1, 2, 3}; long VectL[N] = {1, 2, 3}; 1 2 3 0 1 2 VectC 3 baiti Iekšēja realizācija: 1 2 3 0 1 2 VectS 6 baiti 1 2 3 0 1 2 VectL 12 baiti

Upload: clark-sanders

Post on 02-Jan-2016

37 views

Category:

Documents


5 download

DESCRIPTION

Atmiņas adresēšana. Viendimensijas masīvi C++ valodā:. const int N = 3; char Vect C [N] = {1, 2, 3}; short Vect S [N] = {1, 2, 3}; long VectL[N] = {1, 2, 3};. Iekšēja realizācija:. 1. 2. 3. 1. 2. 3. 1. 2. 3. 0. 1. 2. 0. 1. 2. 0. 1. 2. VectC 3 baiti. VectS 6 baiti. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Atmiņas adresēšana

11. slaids

Datoru organizācija un asambleri

3. laboratorijas darbs

Atmiņas adresēšana

Viendimensijas masīvi C++ valodā:const int N = 3;char VectC[N] = {1, 2, 3};short VectS[N] = {1, 2, 3};long VectL[N] = {1, 2, 3};

1 2 3

0 1 2

VectC3 baiti

Iekšēja realizācija:

1 2 3

0 1 2

VectS6 baiti

1 2 3

0 1 2

VectL12 baiti

Page 2: Atmiņas adresēšana

22. slaids

Datoru organizācija un asambleri

3. laboratorijas darbs

Viendimensijas masīvi Assembler valodā

N Equ 3VectB DB 1, 2, 3VectW DW 1, 2, 3VectD DD 1, 2, 3

1 2 3

x x+1 x+2

VectB3 baiti

Iekšēja realizācija

1 2 3

x x+2 x+4

VectW6 baiti

1 2 3

x x+4 x+8

VectD12 baiti

Page 3: Atmiņas adresēšana

33. slaids

Datoru organizācija un asambleri

3. laboratorijas darbs

Cikls Loop

Mov Cx, N ; skaitītājs S: ... Loop S ; 1. Cx := Cx-1 ; 2. Cx=0 ?

Pārskaitļa (nepārskaitļa) pārbaudeMov Ax, 5Test Ax, 00000001B ;Test Ax, 1Jz _Even

? ? ? ? ? ? ? 1

0 0 0 0 0 0 0 1

and =1? ? ? ? ? ? ? 0

0 0 0 0 0 0 0 1

and =0

Page 4: Atmiņas adresēšana

44. slaids

Datoru organizācija un asambleri

3. laboratorijas darbs

Elementu izvietošana akumulatorā: baiti un vārdi.

Mov Cx, N

Xor Bx, Bx

S:

Mov Al, VectB[Bx]

Inc Bx

Loop S

Mov Cx, N

Xor Bx, Bx

S:

Mov Ax, VectW[Bx]

Add Bx, 2

Loop S

Indeksa adresēšana

Elementu izvietošana akumulatorā: dubultvārdi....Mov EAx, VectD[Bx]Add Bx, 4

Page 5: Atmiņas adresēšana

55. slaids

Datoru organizācija un asambleri

3. laboratorijas darbs

Elementu izvietošana akumulatorā: baiti un vārdi.

Mov Cx, N Lea Bx, VectBS: Mov Al, [Bx] Inc Bx Loop S

Bāzes adresēšana

Mov Cx, N Lea Bx, VectWS: Mov Ax, [Bx] Add Bx, 2 Loop S

Elementu izvietošana akumulatorā: dubultvārdi....Mov EAx, [Bx]Add Bx, 4

Page 6: Atmiņas adresēšana

66. slaids

Datoru organizācija un asambleri

3. laboratorijas darbs

Iespējamie indeksa reģistri: Bx, Si, Di, Bp

Indeksa adresēšana ar mērogošanu

Mov Cx, N Xor EDx, EDxS: Mov Al, VectB[EDx*1] Inc EDx Loop S

Elementu izvietošana akumulatorā: baiti un vārdi.

Mov Cx, N Xor EDx, EDxS: Mov Ax, VectW[EDx*2] Inc EDx Loop S

...Mov EAx, VectD[EDx*4]Inc EDx

Elementu izvietošana akumulatorā: dubultvārdi.

Page 7: Atmiņas adresēšana

77. slaids

Datoru organizācija un asambleri

3. laboratorijas darbs

Bāzes-indeksa adresēšana

Mov Cx, N Xor Bx, Bx Xor Si, SiS: Mov Al, VectB[Bx][Si] Inc Bx Loop S

Elementu izvietošana akumulatorā: baiti un vārdi.

Mov Cx, N Xor Bx, Bx Xor Si, SiS: Mov Ax, VectW[Bx][Si] Inc Bx Inc Si Loop S

VectB[Bx][Si] = VectB[Si][Bx]VectW[Bx][Si] = VectW[Si][Bx]