150 likes | 328 Views
32-bitna i 64-bitna arhitektura, sli čnosti i razlike. Nikola Gujaničić Dušica Radojević. Skup registara, 32-bitna arhitektura. Registri opšte namene Segmentni registri EFLAGS registri EIP registar. Skup registara, 32-bitna arhitektura. Korišćenje registara opšte namene.
E N D
32-bitna i 64-bitna arhitektura, sličnosti i razlike Nikola Gujaničić Dušica Radojević
Skup registara, 32-bitna arhitektura • Registri opšte namene • Segmentni registri • EFLAGS registri • EIP registar
Skup registara, 32-bitna arhitektura Korišćenje registara opšte namene
Skup registara, 32-bitna arhitektura Značajni flegovi EFLAGS registra • Kontrolni: • IF • DF • TF Statusni: • CF • PF • ZF • SF • OF • ID
Skup registara, 64-bitna arhitektura • 16 registara opšte namene • Mogu da rade sa 32-bitnim(EAX, EBX, ECX, EDX, EDI, ESI, EBP, ESP, R8D-R15D) i 64-bitnim operandima(RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP, R8-R15)
Skup instrukcija, 32-bitna arhitektura • Instrukcije opšte namene • Instrukcije za rad sa realnim brojevima • Sistemske instrukcije • SIMD(Single Instruction Multiple Data)
Skup instrukcija, 64-bitna arhitektura (qp) mnemonic dst = src0, src1 • qp određuje da li će se instrukcija izvršiti ili ne • mnemonic označava ime instrukcije • dst predstavlja odredišnu adresu • src0 i src1 su adrese operanada
Skup instrukcija, 64-bitna arhitektura • Aritmetičke instrukcije • Logičke instrukcije • Instrukcije pomeranja • Instrukcije poređenja • Instrukcije za pristup memoriji • Instrukcije za transfer podataka među registrima • Instrukcije skoka • SIMD instrukcije • Instrukcije za rad sa realnim brojevima
Adresiranje operanada • Neposredni operandi • Registarski operandi • Memorijski operandi
Adresiranje operanada Neposredni operandi: • Koristi se vrednost konstante koja se navodi kao operand Na primer, sledeća instrukcija dodaje neposredno vrednost 666 ADD EAX, 666
Adresiranje operanada Registarski operandi: • Koristi se vrednost iz registra koji je naveden kao operand Npr, sledeća instrukcija dodaje vrednost registra EBX na EAX ADD EAX, EBX
Adresiranje operanada Memorijski operandi: • Koristi se vrednost iz memorije na adresi koja se zadaje kao operand Na primer: MOV EAX, [ESI]
Adresiranje operanada Memorijski operandi: • Izvorni i odredišni operandi određeni su značenjima segmentnog selektora(specifikuje deo koji sadrži operand) i offset-a(određuje linearnu ili efektivnu adresu operanada). Offset = Base + Index*Scale + Displacement
Tipovi podataka • Neoznačeni celi brojevi • Označeni celi brojevi • Realni brojevi • Pokazivači • Polja bitova • Stringovi • SIMD • BCD