Azərbaycan  AzərbaycanDeutschland  DeutschlandLietuva  LietuvaMalta  Maltaශ්‍රී ලංකාව  ශ්‍රී ලංකාවTürkmenistan  TürkmenistanTürkiyə  TürkiyəУкраина  Украина
Pagalba
www.datawiki.lt-lt.nina.az
  • Pradžia

Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius Jūs galite padėti Vikipedijai pridėdami tinkamas išna

Asemblerio kalba

  • Pagrindinis puslapis
  • Asemblerio kalba
Asemblerio kalba
www.datawiki.lt-lt.nina.azhttps://www.datawiki.lt-lt.nina.az
   Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius.
Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais.

Asemblerio kalba – žemo lygio programavimo kalba, skirta tam tikros kompiuterių mašininėms komandoms žymėti.

Pavyzdžiui, kompiuteris su atitinkamu procesoriumi, supras šią mašininę komandą:

10110000 01100001 

Tačiau programuotojui bus lengviau suprasti šios mašininės komandos atitikmenį asemblerio kalba:

mov al, 061h 

kuri reiškia procesoriaus komandą įkelti skaičių 61 (97 dešimtainėje sistemoje) į procesoriaus registrą al. Komanda „mov“ yra angliško žodžio „move“ (perkelti) santrumpa ir, kartu su kableliais atskirtais komandos parametrais, yra tipiška asemblerio kalba parašytos programos eilutė.

Asemblerio kalbos komandų vertimas į mašininę kalbą atliekamas asemblerio programa, ir atverčiamas atgal disasemblerio programa. Skirtingai nuo aukšto lygio kalbų, komanda, asemblerio programa paversta į mašininį kodą ir atstatyta atgal disasemblerio programa dažniausiai visiškai atitinka pirminį tos komandos variantą.

Kiekviena kompiuterio architektūra turi savo mašininį kodą ir savo asemblerio kalbą. Kompiuteriai skiriasi palaikomų operacijų skaičiumi ir tipais, jie gali skirtis procesorių registrų dydžiais ir skaičiumi, skirtingais apdorojamų duomenų tipais.

Įvairios skirtingos asemblerio kalbos komandos, turinčios tą pačią paskirtį, gali būti verčiamos į tokią pačią mašininę komandą. Tačiau dažniausiai naudojamos tos asemblerio kalbos komandos, kurios aprašytos gamintojo dokumentacijoje.

Įvairūs pavyzdžiai

Skirtingai, nei daugumoje kitų programavimo kalbų, asembleriu parašytos programos priklauso nuo to, kokiam procesoriui, operacinei sistemai ar net asemblerio programos versijai jos skirtos.

i8086, DOS, Intel sintaksė

; Programa "Sveikas pasauli", 8086 .COM vykdomasis formatas, Intel sintaksė ; Komentarai atskiriami kabliataškiu CSEG segment  ; Segmento apibrėžimas ASSUME CS:CSEG, DS:CSEG, SS:CSEG, ES:CSEG  ; Segmentinių registrų reikšmių apibrėžimas ORG 100h  ; Įėjimo į programą taško adresas Start: JMP ProgCode  ; Pereiname į kodo pradžią (peršokame per tekstą) OutString db 'Sveikas, pasauli!',13,10,'$'  ; Eilutė teksto, skirta išvedimui į ekraną ProgCode: MOV AH, 9h  ; Į registrą AH perkeliamas DOS teksto išvedimo f-jos kodas MOV DX, offset OutString  ; Į registrą DX perkeliamas teksto eilutės adresas INT 21h  ; Pertraukimas nr. 21h: DOS f-jų iškvietimas  ; Rezultate išvedama teksto eilutė "Sveikas, pasauli!" ProgExit: INT 20h  ; Pertraukimas nr. 20h: DOS programos užbaigimas CSEG ENDS  ; Segmento pabaiga END Start  ; Nurodomas įėjimo taškas 

i386, UNIX (FreeBSD), AT&T sintaksė

# Programa "Sveikas pasauli", x386 FreeBSD vykdomasis failas, AT&T sintaksė # Komentarai pradedami "#" ženklu. .data # Duomenų sekcija msg: .asciz "Sveikas, pasauli!\n" # Teksto eilutė spausdinimui len = . – msg – 1 # Teksto eilutės ilgis .text # Kodo sekcija .global _start _start: # Programos įėjimo taškas pushl $len # Argumentas nr.3: teksto eilutės ilgis pushl $msg # Argumentas nr.2: teksto eilutės adresas (rodyklė) pdushl $1 # Argumentas nr.1: failo deskriptorius movl $4, %eax # OS rašymo funkcija insint $0x80 # Iškviečiame OS funkciją, tekstas išvedamas į ekraną addl $12, %esp # Išvalome steką nuo argumentų pushl $0 # Išėjimo iš programos statusas movl $1, %eax # OS išėjimo iš programos funkcija int $0x80 # Iškviečiame OS funkciją, programa užbaigiama 

Autorius: www.NiNa.Az

Išleidimo data: 14 Lie, 2025 / 20:54

vikipedija, wiki, lietuvos, knyga, knygos, biblioteka, straipsnis, skaityti, atsisiųsti, nemokamai atsisiųsti, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, pictu, mobilusis, porn, telefonas, android, iOS, apple, mobile telefl, samsung, iPhone, xiomi, xiaomi, redmi, pornografija, honor, oppo, Nokia, Sonya, mi, pc, web, kompiuteris, Informacija apie Asemblerio kalba, Kas yra Asemblerio kalba? Ką reiškia Asemblerio kalba?

Siam straipsniui ar jo daliai truksta isnasu į patikimus saltinius Jus galite padeti Vikipedijai pridedami tinkamas isnasas su saltiniais Asemblerio kalba zemo lygio programavimo kalba skirta tam tikros kompiuteriu masininems komandoms zymeti Pavyzdziui kompiuteris su atitinkamu procesoriumi supras sia masinine komanda 10110000 01100001 Taciau programuotojui bus lengviau suprasti sios masinines komandos atitikmenį asemblerio kalba mov al 061h kuri reiskia procesoriaus komanda įkelti skaiciu 61 97 desimtaineje sistemoje į procesoriaus registra al Komanda mov yra anglisko zodzio move perkelti santrumpa ir kartu su kableliais atskirtais komandos parametrais yra tipiska asemblerio kalba parasytos programos eilute Asemblerio kalbos komandu vertimas į masinine kalba atliekamas asemblerio programa ir atverciamas atgal disasemblerio programa Skirtingai nuo auksto lygio kalbu komanda asemblerio programa paversta į masininį koda ir atstatyta atgal disasemblerio programa dazniausiai visiskai atitinka pirminį tos komandos varianta Kiekviena kompiuterio architektura turi savo masininį koda ir savo asemblerio kalba Kompiuteriai skiriasi palaikomu operaciju skaiciumi ir tipais jie gali skirtis procesoriu registru dydziais ir skaiciumi skirtingais apdorojamu duomenu tipais Įvairios skirtingos asemblerio kalbos komandos turincios ta pacia paskirtį gali buti verciamos į tokia pacia masinine komanda Taciau dazniausiai naudojamos tos asemblerio kalbos komandos kurios aprasytos gamintojo dokumentacijoje Įvairus pavyzdziaiSkirtingai nei daugumoje kitu programavimo kalbu asembleriu parasytos programos priklauso nuo to kokiam procesoriui operacinei sistemai ar net asemblerio programos versijai jos skirtos i8086 DOS Intel sintakse Programa Sveikas pasauli 8086 COM vykdomasis formatas Intel sintakse Komentarai atskiriami kabliataskiu CSEG segment Segmento apibrezimas ASSUME CS CSEG DS CSEG SS CSEG ES CSEG Segmentiniu registru reiksmiu apibrezimas ORG 100h Įejimo į programa tasko adresas Start JMP ProgCode Pereiname į kodo pradzia persokame per teksta OutString db Sveikas pasauli 13 10 Eilute teksto skirta isvedimui į ekrana ProgCode MOV AH 9h Į registra AH perkeliamas DOS teksto isvedimo f jos kodas MOV DX offset OutString Į registra DX perkeliamas teksto eilutes adresas INT 21h Pertraukimas nr 21h DOS f ju iskvietimas Rezultate isvedama teksto eilute Sveikas pasauli ProgExit INT 20h Pertraukimas nr 20h DOS programos uzbaigimas CSEG ENDS Segmento pabaiga END Start Nurodomas įejimo taskas i386 UNIX FreeBSD AT amp T sintakse Programa Sveikas pasauli x386 FreeBSD vykdomasis failas AT amp T sintakse Komentarai pradedami zenklu data Duomenu sekcija msg asciz Sveikas pasauli n Teksto eilute spausdinimui len msg 1 Teksto eilutes ilgis text Kodo sekcija global start start Programos įejimo taskas pushl len Argumentas nr 3 teksto eilutes ilgis pushl msg Argumentas nr 2 teksto eilutes adresas rodykle pdushl 1 Argumentas nr 1 failo deskriptorius movl 4 eax OS rasymo funkcija insint 0x80 Iskvieciame OS funkcija tekstas isvedamas į ekrana addl 12 esp Isvalome steka nuo argumentu pushl 0 Isejimo is programos statusas movl 1 eax OS isejimo is programos funkcija int 0x80 Iskvieciame OS funkcija programa uzbaigiama

Naujausi straipsniai
  • Liepa 22, 2025

    Jūratė Daktaraitė

  • Liepa 22, 2025

    Jurijus Nikulinas

  • Liepa 22, 2025

    Jurgiškiai

  • Liepa 22, 2025

    Juozas Jucys

  • Liepa 22, 2025

    Juozas Naruševičius

www.NiNa.Az - Studija

    Susisiekite
    Kalbos
    Susisiekite su mumis
    DMCA Sitemap
    © 2019 nina.az - Visos teisės saugomos.
    Autorių teisės: Dadash Mammadov
    Nemokama svetainė, kurioje galima dalytis duomenimis ir failais iš viso pasaulio.
    Viršuje