1 / 12

Datoru arhitektūra

Datoru arhitektūra. Assembler. teksts  skaitlis n baitos papildkodā. zīmes apstrāde (fiksācija) cikliski simbolisks cipars par skaitli (sub AL,’0’) a i+1 =a i *10+c i+1 zīmes beigu apstrāde. Simbolu pārveidošana. “no rokas” - programmā iekodēts algoritms

kyrie
Télécharger la présentation

Datoru arhitektūra

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. Datoru arhitektūra Assembler Juris Strods

  2. teksts  skaitlis n baitos papildkodā • zīmes apstrāde (fiksācija) • cikliski • simbolisks cipars par skaitli (sub AL,’0’) • ai+1=ai*10+ci+1 • zīmes beigu apstrāde Juris Strods

  3. Simbolu pārveidošana • “no rokas” - programmā iekodēts algoritms • lielie  mazie burti or AL,20H • mazie  lielie burti and AL,0FFH-20H • koda tabula tabula DB ‘.....’; 256 lea BX,tabula mov AL,simbols XLAT ; (BX+AL) mov jauns,AL Juris Strods

  4. Darbs ar simbolu rindām • “no rokas” • rindu (masīvu komandas) • apstrādes virziens (DF) • CLD; DF=0 + • STD; DF=1 - • izmērs B/W CMPSB CMPSW • komandas saturs • ieciklošana Juris Strods

  5. Rindu komandas • visas rindu komandas ir bez operandiem! • operandu vieta • source DS:SI • destination ES:DI • komandas darbība • komandas semantiskā darbība • SI un DI izmaiņa Juris Strods

  6. Rindu komandu repertuārs • CMPSx o1?o2 • LODSx AX/AL  DS:SI • MOVSx o1  o2 • SCASx AX/AL?ES:DI • STOSx AX/ALES:DI Juris Strods

  7. Ieciklošanas prefiksa komandas • REP • REPE • REPNE • analogi LOOP , bet darbojas uz vienu komandu • REP STOSW Juris Strods

  8. Piepildīt rindu ar tukšumiem rinda DB 120 DUP(?) mov CX,DS mov ES,CX; priekš STOS mov CX,120; garums lea DI,rinda mov AL,’ ‘; liksim šo CLD; uz priekšu REP STOSB Juris Strods

  9. Simbolu rindu kodēšana • ar garuma • programmas kodā iebūvēts garums • speciālā datu laukā • tekošais garums • maksimālais garums • ar beigu pazīmi • C stils ar 00h beigās Juris Strods

  10. Burtu skaitīšanas piemēri • Saskaitīt simbolu rindā esošos burtus • Ieejā (2 varianti) • C-stila rindas sākuma adrese (nobīde no segmenta sākuma) reģistrā BX • BX norāde uz rindu (garums:W, teksts:?B) • Izejā • reģistrā AX burtu skaits • nedrīkst bojāt BX Juris Strods

  11. C stila rindas realizācija mov AX,0 ;sākumā burtu nav mov SI,0 ;no rindas sākuma cbody: mov DL,[BX,SI] ; kārtējais simbols cmp DL,0 ; rindas beigas? JE out ; jā cmp DL,’A’ ; lielais? JL neliels cmp DL,’Z’ ; tiešām der JLE der neliels: cmp DL,’a’ ; mazais? JL beigas cmp DL,’z’ ; tiešām der JG beigas der: INC AX ; saskaitam beigas: inc SI JMP near cbody out: Juris Strods

  12. Rindas ar garumu realizācija mov AX,0 ;sākumā burtu nav mov CX,[BX] ; garums cmp CX,0 ; ir kaut kas? JLE out ; nē mov SI,0 ;no rindas sākuma cbody: mov DL,2[BX,SI] ; kārtējais simbols cmp DL,’A’ ; lielais? JL neliels cmp DL,’Z’ ; tiešām der? JLE der neliels: cmp DL,’a’ ; mazais? JL beigas cmp DL,’z’ ; tiešām der? JG beigas der: INC AX ; saskaitam beigas: inc SI LOOP cbody out: Juris Strods

More Related