„Vélamál“: Munur á milli breytinga

Úr Wikipediu, frjálsa alfræðiritinu
Efni eytt Efni bætt við
Cessator (spjall | framlög)
Ekkert breytingarágrip
Nori (spjall | framlög)
mEkkert breytingarágrip
Lína 18: Lína 18:


Ef unnið er með vélamál í dag er það oftast gert með [[hex]] framsetningu. Hún hefur þann kost að þar eru hverjir fjörir bitar táknaðir með einum tölustaf eða bókstaf sem er þægilegra að vinna með og muna en bitarunur. Auðvelt er að breyta hex kóða í binary kóða og það er hægt að framkvæma með nánast hvaða tölvu sem er (þó er ansi líklegt að forritari sem er á annaðborð að forrita í vélamálskóða sé litlu lengur að breyta hex yfir í binary heldur en að skrifa binary kóðan ef hann þarf þess).
Ef unnið er með vélamál í dag er það oftast gert með [[hex]] framsetningu. Hún hefur þann kost að þar eru hverjir fjörir bitar táknaðir með einum tölustaf eða bókstaf sem er þægilegra að vinna með og muna en bitarunur. Auðvelt er að breyta hex kóða í binary kóða og það er hægt að framkvæma með nánast hvaða tölvu sem er (þó er ansi líklegt að forritari sem er á annaðborð að forrita í vélamálskóða sé litlu lengur að breyta hex yfir í binary heldur en að skrifa binary kóðan ef hann þarf þess).

[[Flokkur:Forritun]]

Útgáfa síðunnar 9. febrúar 2007 kl. 15:12

Vélamál (stundum kallað maskínumál) er sú framsetning af tölvuforriti sem tölva skilur og getur unnið beint með. Hægt er að forrita tölvur beint á vélamáli en það er sjaldan gert ef um aðra kosti er að velja.

Vélamálsforrit samanstandur af röð skipana úr skipanasetti gjörvans og þeim þolum sem þær taka. Uppbygging skipana og kóða geta verið mjög mismunandi.

Dæmi um tölvuforrit sem tekur sækir tölu úr minni og leggur hana við aðra tölu (töluna 2 í þessu tilviki) og skrifar hana svo aftur í sama minnishólf gæti til að mynda litið svona út

     vélamál      |  Hex  | samsvarandi smalamál
------------------|-------|---------------------
01010110 00010101 | 55 15 | load    $15    
01100010 00000010 | 62 02 | add     #2
01001110 00010101 | 4e 15 | store   $15
------------------|------------------------
skipun   þoli     | s  þ  | skipun  þoli

Vélamál og smalamál eiga það sameiginlegt að vera mismunandi fyrir hvert einasta skipanasett. Kóðinn hér að ofan gæti t.a.m. bara keyrt á örgjörvanum sem hann var skrifaður fyrir (hann er reyndar ekki skrifaður fyrir neinn ákveðin örgjörva heldur bara dæmi). Sama á við um smalamálskóðan. Þó eru smalamálskóðar mun líkari milli mismunandi gjörva heldur en vélamál og mun auðveldara að læra smalamál fyrir nýjan gjörva heldur en að læra nýtt vélamál. Til að læra smalamál fyrir nýjan örgjörva þarf maður bara að læra hvaða skipanir örgjövinn notar, hvaða „address modes“, hvaða og hvernig gisti hann hefur og hvernig þau eru notuð og hvernig hann notar minnið (þetta er oftast gert með að skoða gagnablöð (e. data sheets) fyrir nýja örgjörvan). Til að forrita nýjan örgjörva á vélamáli þarf einnig að læra skipanakóðana (bitarunu) fyrir allar skipanirnar (eða fletta þeim upp).

Í dag er vélamál hér um bil ekkert notað en Altair 8800, ein fyrsta tölva sem almenningur gat eignast var t.d. forrituð með því að tákna orð (skipanakóða, þola eða gögn) með á/af rofum og síðan var takki til að skrifa orðið í minnið. Þannig var hægt að forrita tölvuna með að breyta rofunum, bita fyrir bita, og skrifa forrit í minnið orð fyrir orð.

Ef unnið er með vélamál í dag er það oftast gert með hex framsetningu. Hún hefur þann kost að þar eru hverjir fjörir bitar táknaðir með einum tölustaf eða bókstaf sem er þægilegra að vinna með og muna en bitarunur. Auðvelt er að breyta hex kóða í binary kóða og það er hægt að framkvæma með nánast hvaða tölvu sem er (þó er ansi líklegt að forritari sem er á annaðborð að forrita í vélamálskóða sé litlu lengur að breyta hex yfir í binary heldur en að skrifa binary kóðan ef hann þarf þess).