Zimanê asta nizm ê bernamesaziyê

Zimanên asta nizm ê bernamesaziyê kategorîyêk zimanên bernamesazîya komputerê ye. Ji ber ku kodên wan ya bixwe yan jî li pey carekê vergerandinê ra ji alyê makînê tên fêmkirin û tên şixulandin , ji wan ra zimanê nizm tê gotin. Ziman ê nizmtirîn makîne-kod e. Ê duwem assembly ye. Ji ber ku makîne-kod ji alyê însan nayê fêmkirin, assembly hatîye çêkirin. Îro, hinkes c jî zimanê nizm hesab dikin. Feqet çend cudahîyê c hene. Mesela bernameyên bi c hatine nivîsandin li (arkîtekçur)ên din jî dişuxulin.

Nizmbûna wan gelek raserîyan dide wan. Her kodek zimanên bilind (yên bernamesazya kompîterê), di hafizayêde pir cîh digirin, çimkî ew heryek werdigerin zêdetir kodên nizm. Feqet kodên nizm wernagerin yan jî carkê tenê werdigerin hinekî din . Ji ber vê yekê ew di hafizayêda hindik cih digirin. Avantaja wan a duwem jî tewsbûna wane. Ev jî ji ber pir cih negirtin û kinbûna kodên wan ê razberkirîye. Li derên lez lazim dike ji vana çêtir ziman tuneye. Hinek lîstik (yên kompîterê) yan jî hin perçên wan bi van zimanan tên çêkirin.

Zimanê nizm ê programsazyê saltgirin, belam herkes nekane wan bikarbîne û hin jî wan tercih nakin. Hinek dibêjin bi wan ihtîyac tuneye, çunkî îro kompîter jixu zû dişixulin, û belasibe em zehmetê nekişînin. Destê dîger jî bi delîlên xwe alîgirya nizm-zimanan dikin.

Mirov kane du zimanan têke vê tofê. Yek ji wan makîne-kod (Yekem Jenerasyon jî tê gotin ) ku bê razberkirin makîne bikarbîne. Yê din assemblyye (Duwem Jenerasyon jî tê gotin) ku ew jî tê wergerinî makîne-kodê. Me li jêr du embaz, heryek jibo yekî da.

Nifşa yekem

biguhêre

makîne-kode (1GL). Ji ber zorbûna wê pir nayê tercîhkirin.

Embaz: Koda fonksyona makîna 32-bit x86, bo hesabê n-em Jimareya Fibonacci:

8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3

Nifşa duyemîn

biguhêre

Ev jî assemblyye ku wak neslê duwem jî tê zanîn (2GL). Vî navî ji bo rasterast ji alyê makînê nayê xwendin girtî. Bi rastî kodên assembly yekayek wergera makîne-kodane. Lewma ew di nav zimanên nizmda derbas dibe. Ji kodên assembly ra (mîna: mov,push,...) mnemonîk te gotin.

Embaz: Dîsa Jimareya Fibonacci , îjar bi MASM sîntaksa x86 assembly :

fib:
    mov edx, [esp+8]
    cmp edx, 0
    ja @f
    mov eax, 0
    ret
    
    @@:
    cmp edx, 2
    ja @f
    mov eax, 1
    ret
    
    @@:
    push ebx
    mov ebx, 1
    mov ecx, 1
    
    @@:
        lea eax, [ebx+ecx]
        cmp edx, 3
        jbe @f
        mov ebx, ecx
        mov ecx, eax
        dec edx
    jmp @b
    
    @@:
    pop ebx
    ret

Çavkanî

biguhêre

http://www.arl.wustl.edu/~lockwood/class/cs306/books/artofasm/toc.html Girêdana arşîvê 2002-06-22 li ser Wayback Machine https://web.archive.org/web/20090811051219/http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/index.html