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

Úr Wikipediu, frjálsa alfræðiritinu
Efni eytt Efni bætt við
MastiBot (spjall | framlög)
m r2.7.3) (Vélmenni: Bæti við tl:Kodigo ng makina
Addbot (spjall | framlög)
m Bot: Flyt 53 tungumálatengla, sem eru núna sóttir frá Wikidata á d:q55813
Lína 26: Lína 26:


[[Flokkur:Forritun]]
[[Flokkur:Forritun]]

[[ar:لغة الآلة]]
[[be:Машынны код]]
[[bg:Машинен език]]
[[bn:যান্ত্রিক ভাষা]]
[[br:Areg ijinenn]]
[[bs:Mašinski jezik]]
[[ca:Llenguatge de màquina]]
[[cs:Strojový kód]]
[[da:Maskinkode]]
[[de:Maschinensprache]]
[[el:Γλώσσα μηχανής]]
[[en:Machine code]]
[[eo:Maŝinkodo]]
[[es:Lenguaje de máquina]]
[[et:Masinkood]]
[[eu:Makina-lengoaia]]
[[fa:زبان ماشین]]
[[fi:Konekieli]]
[[fr:Langage machine]]
[[gl:Código máquina]]
[[he:שפת מכונה]]
[[hi:मशीनी भाषा]]
[[hr:Strojni jezik]]
[[hsb:Mašinowa rěč]]
[[hu:Gépi kód]]
[[id:Bahasa mesin]]
[[it:Linguaggio macchina]]
[[ja:機械語]]
[[jbo:sambau]]
[[ka:მანქანური ენა]]
[[kk:Машиналық тіл]]
[[ko:기계어]]
[[lt:Mašininis kodas (programavimas)]]
[[mhr:Машин код]]
[[ml:യന്ത്രഭാഷ]]
[[mn:Машин код]]
[[nl:Machinetaal]]
[[no:Maskinkode]]
[[pl:Język maszynowy]]
[[pt:Código de máquina]]
[[ru:Машинный код]]
[[simple:Machine code]]
[[sk:Strojový kód]]
[[sl:Strojna koda]]
[[sr:Машински језик]]
[[sv:Maskinkod]]
[[th:ภาษาเครื่อง]]
[[tl:Kodigo ng makina]]
[[tr:Makine dili]]
[[uk:Машинний код]]
[[ur:آلاتی زبان]]
[[vi:Ngôn ngữ máy]]
[[zh:机器语言]]

Útgáfa síðunnar 8. mars 2013 kl. 18:04

Vélamál eða vélarmál[1] (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 örgjö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 örgjörva heldur en vélamál og mun auðveldara að læra smalamál fyrir nýjan örgjö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).

Tilvísanir

  1. machine language

Tengt efni