Asembla lingvo: Malsamoj inter versioj
[nekontrolita versio] | [kontrolita revizio] |
Enhavo forigita Enhavo aldonita
KuBOT (diskuto | kontribuoj) e Roboto: anstataŭigo de "Ŝablono:El" per "Ŝablono:EL" (laŭ VP:AA); kosmetikaj ŝanĝoj |
Doesle (diskuto | kontribuoj) gramatiko; aprobo |
||
Linio 1:
'''Asembla komputillingvo''' estas
▲'''Asembla komputillingvo''' estas legebla de homoj skribosistemo por la maŝina lingvo kiun uzas specifa komputila arĥitekturo. Maŝina lingvo, nura sinsekvo de bitoj, estas legebligita per anstataŭi la originalajn valorojn per simboloj (tial en Esperanto oni ankaŭ uzas la nomon '''simbola maŝinkodo''').
Malkiel en altnivelaj lingvoj
▲Malkiel en altnivelaj lingvoj, estas 1-al-1 traduko de simpla asembla lingvo al maŝina lingvo, do komputiloj povas traduki en ambaŭ direktoj sen perdi informojn. Transformi asemblan lingvon en maŝinajn lingvojn estas farita per asemblilo, la alian direkton per malasemblilo. Kiam vera programado estas farita en asembla lingvo, estas kutime en pli komplika speco, kaj la konvena 1-al-1 rilato ne plu estas.
Ĉiu komputila arĥitekturo havas sian propran maŝinan lingvon, kaj tial propran asemblan lingvon (la ĉi-supra ekzemplo estas de la i386). Ĉi tiuj lingvoj malsamas pro la nombro kaj speco de operacioj kiujn ili subtenas. Ili ankaŭ povas havi malsamajn grandecojn kaj nombrojn de reĝistroj, kaj malsamajn reprezentmanierojn de datumtipoj en memoro. Dum ĉiuj ĝeneralcelaj komputiloj kapablas fari escene la samajn aferojn, la maniero malsamas.
Aldone, multoblaj aroj de mnemonikaj simboloj aŭ asembla sintakso povas ekzisti por unuopa instrukciaro. En ĉi tiuj kazoj, la plej populara estas kutime tio uzata
== Maŝinaj instrukcioj ==▼
▲== Maŝinaj instrukcioj ==
▲Simlaj bazaj operacioj estas uzebla en preskaŭ ĉiuj instrukciaroj.
* movado
** preni valoron
** movi datumon el memora loko al reĝistro
* komputado
** aldoni, subtrahi,
** kombini du reĝistrajn valorojn per logika kaj/aŭ
** nuligi reĝistran valoron aritmetike aŭ per logika ne
* efiki fluon de programo
** salti al alia loko en la programo (kutime instrukcioj estas traktataj sinsekve)
** salti al alia loko, sed
** reiri al la lasta revenloko
Specifaj instrukciaroj ofte havas unuopajn aŭ malmultajn instrukciojn por oftaj komplikaj operacioj
* movi grandajn memorblokojn
* alta aritmetiko (
* apliki unu operacion (ekz. aldonadon) al aro de valoroj
{| border=1
Linio 61 ⟶ 58:
| '''or''' || [[laŭbita logika AŬ]]
|-
| '''nop''' || operacio, kiu nenion faras
|-
| '''not''' || [[laŭbita logika NE]]
Linio 68 ⟶ 65:
|}
Kalkulaj instrukcioj kutime havas
== Ordonoj de asembla lingvo ==
Aldone al kodoj por maŝinaj instrukcioj, asemblaj lingvoj havas kromajn ordonojn por asembli datumblokojn
Ili kutime havas simplan simbolan kapablon por difini valorojn kiel simbolajn esprimojn, kiuj estas evaluitaj je asembla tempo, ebligante verki kodon kiu estas pli facile legi kaj kompreni.
Ili ankaŭ kutime havas profundigitan makroa lingvo por plifaciligi la kreon de komplikaj pecoj de kodo aŭ datumoj.▼
▲Ili ankaŭ kutime havas
== Uzo de asembla lingvo ==
Linio 90 ⟶ 83:
Estas iom da polemiko pri la utileco de asembla lingvo. En multaj kazoj, modernaj tradukiloj povas transformi kodon de altnivelaj lingvoj en maŝinan kodon kiu funkcias same rapide kiel mane verkita kodo en asembla lingvo.
Tamen,
== Eksteraj ligiloj ==
{{EL}} http://www.
{{EL}} http://
{{EL}} http://c2.com/cgi/wiki?LearningAssemblyLanguage (angla) <!-- _PPR_: (Lerno, Lernante, Scienco) Asembleo Lingvo -->▼
▲{{EL}} http://c2.com/cgi/wiki?LearningAssemblyLanguage <!-- _PPR_: (Lerno, Lernante, Scienco) Asembleo Lingvo -->
[[Kategorio:Programlingvoj]]
|