atmiņas adresēšana
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 PresentationTRANSCRIPT
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
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
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
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
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
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.
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]