Download presentation
Presentation is loading. Please wait.
Published byJulie Hart Modified over 9 years ago
2
Riistvarapõhine programmeerimine Loeng 3 Arvuti programmeerija pilguga Mälu korradus
3
12/07/2005 ID218 Riistvaralähedane programmeerimine2 Arvuti programmeerija pilguga Registrid Mälu korraldus Käsustik
4
12/07/2005 ID218 Riistvaralähedane programmeerimine3 Registrid Üldregistrid Segmendiregistrid Eriregistrid
5
12/07/2005 ID218 Riistvaralähedane programmeerimine4 Üldregistrid I
6
12/07/2005 ID218 Riistvaralähedane programmeerimine5 Üldregistrid II Axaccumulator Bxbase register Cxcount register Dxdata register
7
12/07/2005 ID218 Riistvaralähedane programmeerimine6 Üldregistrid III Sisource index Didestination index Bpbase pointer Spstack pointer
8
12/07/2005 ID218 Riistvaralähedane programmeerimine7 Segmendiregistrid Cscode segment Dsdata segment Ssstack segment Esextra segment
9
12/07/2005 ID218 Riistvaralähedane programmeerimine8 Eriregistrid IPinstruction pointer Flags register
10
12/07/2005 ID218 Riistvaralähedane programmeerimine9 Mälu korraldus Segmendid Adresseerimisviisid Intel 8086 adresseerimine
11
12/07/2005 ID218 Riistvaralähedane programmeerimine10 Füüsiline segment
12
12/07/2005 ID218 Riistvaralähedane programmeerimine11 Loogiline segment Andmete segment (Data segment) Koodi segment (Code segment) Pinu segment (Stack segment) Lisasegment (Extra segment)
13
12/07/2005 ID218 Riistvaralähedane programmeerimine12 Mälu adresseerimisviisid Otseadresseerimine Vahetu adresseerimine Kaudne adresseerimine
14
12/07/2005 ID218 Riistvaralähedane programmeerimine13 Otseadresseerimine I Op. Code Effective address Direct Mode
15
12/07/2005 ID218 Riistvaralähedane programmeerimine14 Otseadresseerimine II Effektiivaadress on registris Kasutatakse kui aadress on muutuja Op. Code Register Register direct Mode Effective aaddressRegister
16
12/07/2005 ID218 Riistvaralähedane programmeerimine15 Otseadresseerimine III Op. Code Base displacement Mode aaddressRegister Constant Effective aaddress +
17
12/07/2005 ID218 Riistvaralähedane programmeerimine16 Otseadresseerimine IV Op. Code Base displacement Mode aaddressRegister Effective aaddress + aaddressRegister
18
12/07/2005 ID218 Riistvaralähedane programmeerimine17 Vahetu adresseerimine I Op. Code Constant Immidiate Mode
19
12/07/2005 ID218 Riistvaralähedane programmeerimine18 Vahetu adresseerimine II Op. Code Register Register addressing Mode OperandRegister
20
12/07/2005 ID218 Riistvaralähedane programmeerimine19 Kaudne adresseerimine I Op. CodeAddress Main memory Effective address Indirect addressing mode
21
12/07/2005 ID218 Riistvaralähedane programmeerimine20 Kaud adresseerimine II Op. CodeAddress Main memory Effective address Register indirect addressing mode aaddressRegister
22
12/07/2005 ID218 Riistvaralähedane programmeerimine21 Käsuloenduriga adresseerimine aaddressPC Op. Code Offset PC relative addressing Mode Effective aaddress +
23
12/07/2005 ID218 Riistvaralähedane programmeerimine22 Intel 8086 mälu adresseerimisviisid Register Immediate Direct memory Indirect memory
24
12/07/2005 ID218 Riistvaralähedane programmeerimine23 Register Operands I 8- või 16-bit protsessori register Andmed asuvad registris Ei nõua mälupöördumist
25
12/07/2005 ID218 Riistvaralähedane programmeerimine24 Register Operands II Movbx, 10; Load constant to BX Addax, bx; Add BX to AX Jmpdi; Jump to the address in DI Mov[bx], dl; Store DL in indirect memory operand inc bx; Increment register operand Mov[bx], dl; Store DL in new indirect memory operand
26
12/07/2005 ID218 Riistvaralähedane programmeerimine25 Immediate Operands I Operandi väärtus on käsukoodis Operand on const Määratakse kompileerimise ajal Lubatud avaldis Ei nõua mälupöördumist
27
12/07/2005 ID218 Riistvaralähedane programmeerimine26 Immediate Operands II Movcx, 20; Load constant to register Addvar, 1Fh; Add hex constant to variable Subbx, 25 * 80; Subtract constant expression
28
12/07/2005 ID218 Riistvaralähedane programmeerimine27 Immediate Operands III OFFSET Operator Movbx, OFFSET var; Load offset address SEG Operator Movax, SEG farvar; Load segment address Moves, ax
29
12/07/2005 ID218 Riistvaralähedane programmeerimine28 Direct Memory Operands I Fikseeritud asukoht mälus Aadress on käsukoodis Tuleb defineerida operandi suurus Lubatud avaldis Nõuab mälupöördumist
30
12/07/2005 ID218 Riistvaralähedane programmeerimine29 Direct Memory Operands II.DATA; Segment for uninitialized data varBYTE?; Reserve one byte, labeled "var“.CODE... Movvar, al; Copy AL to byte at var
31
12/07/2005 ID218 Riistvaralähedane programmeerimine30 Direct Memory Operands III [ ] = “+” Movax, array[2]; [ ] = “+” Movax, array+2 Movax, array[-2]; lubatud “-” Movax, array-2 Movax, var; [ ] või ilma Movax, [var]
32
12/07/2005 ID218 Riistvaralähedane programmeerimine31 Direct Memory Operands IV
33
12/07/2005 ID218 Riistvaralähedane programmeerimine32 Indirect Memory Operands I Arvutakse programmi täitmise käigus Arvutamiseks kasutatakse registreid Tuleb defineerida operandi suurus Võimaldab dünaamilist ligipääsu Lubatud avaldis
34
12/07/2005 ID218 Riistvaralähedane programmeerimine33 Indirect Memory Operands II Movax, WORD [bx] Movax, [bx+si] Movax, table[si]
35
12/07/2005 ID218 Riistvaralähedane programmeerimine34 Indirect Memory Operands III tableWORD100 DUP (0); õige. Movax, table[bx][di]+6 Movax, mem1[si] + mem2; vale
36
12/07/2005 ID218 Riistvaralähedane programmeerimine35 Indirect Memory Operands IV Movax, table[bx][di] Movax, table[di][bx] Movax, table[bx+di] Movax, [table+bx+di] Movax, [bx][di]+table
37
12/07/2005 ID218 Riistvaralähedane programmeerimine36 Indirect Memory Operands V Base addressing mode – bx, bp Indexed addressing mode – si, di Base – reg:address, const:offset Index – reg:offset, const:address BP - > SS
38
12/07/2005 ID218 Riistvaralähedane programmeerimine37 Indirect Memory Operands VI
39
12/07/2005 ID218 Riistvaralähedane programmeerimine38 Indirect Memory Operands VII
40
12/07/2005 ID218 Riistvaralähedane programmeerimine39 Indirect Memory Operands VIII
41
12/07/2005 ID218 Riistvaralähedane programmeerimine40 Indirect Memory Operands IX
42
12/07/2005 ID218 Riistvaralähedane programmeerimine41 Indirect Memory Operands X
43
12/07/2005 ID218 Riistvaralähedane programmeerimine42 Indirect Memory Operands XI
44
12/07/2005 ID218 Riistvaralähedane programmeerimine43 Indirect Memory Operands XII
45
12/07/2005 ID218 Riistvaralähedane programmeerimine44 Indirect Memory Operands XIII
46
12/07/2005 ID218 Riistvaralähedane programmeerimine45 Indirect Memory Operands XIV [Bx] [Si] disp [Bp] [Di]
47
12/07/2005 ID218 Riistvaralähedane programmeerimine46 Kokkuvõtte I Programmeerijale tähtis: Registrid Mälukorraldus Käsustik
48
12/07/2005 ID218 Riistvaralähedane programmeerimine47 Kokkuvõtte II Registrid: Üldregistrid Segmendiregistrid Eriregistrid
49
12/07/2005 ID218 Riistvaralähedane programmeerimine48 Kokkuvõtte III Mälukorraldus: Vahetu adresseerimine Otsene adresseerimine Kaudne adresseerimine
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.