1 / 7

Asembler x86 64 - instrukcije op š te namene

Asembler x86 64 - instrukcije op š te namene. - seminarski rad- Arhitektura i operativni sistemi Milica Kosti ć , Marija Vla š kovi ć. U vod. P rogramski jezici - o lak š a va ju komunikaciju sa ra č unarom

curran-horn
Download Presentation

Asembler x86 64 - instrukcije op š te namene

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Asembler x86 64 - instrukcije opštenamene -seminarski rad- Arhitekturaioperativnisistemi MilicaKostić, MarijaVlašković

  2. Uvod Programski jezici - olakšavajukomunikacijusaračunarom Asemblerski jezik – jezik nižeg nivoa; prevodi tekstualni kod u mašinski. Jedna asemblerska instrukcija = jedna mašinska instrukcija (preslikavanje 1-1) Primer 1: Instrukcijakojaizracunavazbir EAX I EBX registarairezultatsmesta u EAX registar u masinskomjeziku: 03 c3 Primer 2: Instrukcija koja izracunava zbir EAX I EBX registara i rezultat smesta u EAX registar u asemblerskomjeziku:addeax, ebx

  3. Instrukcijski operandi • Svakainstrukcijaimado 3 operanada- vrednostiizregistara, podaciizmemorije, konstante • Novi registri(R8 – R15)šifrovani prefiksom REX – povećanje instrukcije za 1 bajt • Segmentni registri – segmenti programa, podataka i steka • Načini adresiranja operanada: neposredno, registarsko, indirektno, RIP – relativno • Dozvoljenevrednosti: byte B, word W, double word D, quad word Q5, ten bytes T

  4. Osnovneinstrukcije • Instrukcijezaprenospodataka: • MOV, CMOV, POP, PUSH, MOVSD, MOVSS, ADDSD, MULSD • Instrukcijeza poređenje: • CMP • Instrukcije za pomeranje - bitska instrukcija: • SHL, SAL, SHR • Instrukcije za rotaciju - bitska instrukcija: • ROL, ROR, RCL, RCR

  5. Aritmetickologickeinstrukcije • Instrukcijezasabiranje: • ADD, ADC, INC • Instrukcijezaoduzimanje: • DEC, NEG, SUB, SBC • Instrukcijezamnozenje: • MUL, IMUL • Instrukcijezadeljenje: • DIV, IDIV, CQO, CDQ, CWD • Logickeinstrukcije: • AND, NOT, OR, XOR

  6. Instrukcijezakontrolutoka • Instrukcijezaskokove: • Uslovni: IF (uslovistinit), THEN (grananjenanovusekvencu), ELSE (izvrsinarednuinstrukciju) • Bezuslovni: JMP, JE, JNE, JC, JNC, LOOP, LOOPE, LOOPNE • Instrukcijepotprograma: • CALL • RET • Zasistemskepozivekoristi se instrukcijasyscall,umestoint 0x80 kaou 32-bitnoj arhitekturi

  7. Direktive • Instruišu asemblerda učininekuakcijuilidagainformisu. • Namene: definisanjekonstanti, definisanjememorijskihresursazasmeštanjepodataka, grupisanjememorije u segmente, (uslovno) uključivanjeizvornogkoda • Najčešće korišćene direktive: .intel syntax noprex, .text, .data, .int n, .ascizstr, .global label • Labele se mogukoristiti u svrhureferensiranja podataka u kodu. Postoje dva nacina za to - čista labela i labelasauglastimzagradama ([])

More Related