Iindidi zemiyalelo kulwimi lwendibano: isikhokelo esipheleleyo

Uhlaziyo lokugqibela: Meyi 7 ye2025
  • Ulwimi lweNdibano luququzelela imiyalelo yalo ngenjongo: ukudluliselwa, ukubala, ukulawula ukuhamba, kunye nokunye.
  • Umyalelo ngamnye une-opcode kunye nee-operands, ezinefomathi ezahlukeneyo ngokuxhomekeke kulwakhiwo.
  • Kukho iindlela ezininzi zokujonga ukufikelela kwidatha, njengokukhawuleza, ngokuthe ngqo, kunye nokungathanga ngqo.

Umhlanganisi Ulwimi lomatshini kunye nefomathi yomyalelo

Ulwimi lweNdibano lube yenye yeentsika ezisisiseko zophuhliso lwesoftware ukususela ekuqaleni kwekhompyuter. Nangona iilwimi ezikwinqanaba eliphezulu zilawula imeko namhlanje, iassembler ihlala isetyenziswa ngokubanzi kwaye ifanelekile kwindawo apho ulawulo lwehardware, ukwenziwa ngcono, okanye imiqobo yezixhobo iphambili.

Kweli nqaku, siza kuphonononga nzulu kwiindidi zemiyalelo yolwimi lwendibano, sihlalutya ulwakhiwo, iinjongo, iindlela zokujongana, kunye nendlela ezicwangciswe ngayo kwizakhiwo ezahlukeneyo. Ukongeza, uya kufunda imizekelo, iifomati, kunye nesishwankathelo esibanzi esiya kukuvumela ukuba uqonde ngokupheleleyo ingqiqo emva kwale miyalelo, esebenza ngokusondeleyo kakhulu kwi-hardware.

Uthini umyalelo ngolwimi lwendibano?

Omnye umyalelo wokuhlanganisa Ngumyalelo onokuthi i-CPU iwuqonde ngokuthe ngqo (emva kokuba iguqulelwe kwikhowudi yomatshini ngeprogram yendibano). Umyalelo ngamnye unenjongo ethile kwaye udla ngokuqulunqwa a inkumbulo emele umsebenzi kunye enye okanye ngaphezulu imisebenzi ebonisa apho idatha ithathwa khona kunye/okanye apho iziphumo zigcinwa khona.

Le miyalelo ixhomekeke kakhulu kuyilo lweprosesa, ngoko ke uhlobo ngalunye lwe-CPU (nokuba i-x86, i-ARM, i-MIPS, phakathi kwezinye) ineseti yayo yemiyalelo ene-syntax ethile kunye nesakhono.

Ulwakhiwo lomyalelo

Imiyalelo idla ngokuqulunqwa ngamacandelo amabini:

  • Ikhowudi yokusebenza (i-opcode): Ibonisa isenzo esiza kwenziwa, njengokongeza, ukuhambisa idatha, ukuthelekisa, njl.

Ii-operands zibonelela ngolwazi olufunekayo ukwenza umsebenzi kwaye zinokuba kwiirejista, imemori, okanye izinto ezingaguqukiyo. Ayiyiyo yonke imiyalelo Zifuna ii-operands kwaye kwezinye iimeko ezi zinokuthi zibekwe ngqo kumyalelo okanye kwiirejista ezichazwe kwangaphambili.

Iintlobo zemiyalelo kulwimi lwendibano

Ngokuxhomekeke ekusebenzeni kwabo kwiprogram, imiyalelo yolwimi lwendibano ingahlelwa ngokwamaqela amaninzi. Ezona zifanelekileyo zichazwe ngezantsi:

1. Imiyalelo yokudlulisa idatha

Le miyalelo ikuvumela ukuba ukhuphele idatha ukusuka kwenye indawo ukuya kwenye., ngaphandle kokuguqula umxholo wayo kumthombo. Zibalulekile ekuhambiseni ulwazi phakathi kweerejista, imemori kunye neeperipherals.

  Ii-accumulators kwiprogramu: yintoni na kwaye zisetyenziswe njani

Eminye yemiyalelo eqhelekileyo kweli qela yile:

  • MOV: Ukhuphela imixholo yeoperandi enye ukuya kwenye. Umzekelo, MOV AX, BX khuphela imixholo ye-BX ukuya kwi-AX.
  • MOVS / MOVSB ​​​​/ MOVSW: Uhambisa imitya ukusuka kwidilesi yomthombo (SI) ukuya kwidilesi yendawo (DI), izenzekela inkqubo yogqithiselo.
  • I-LODS / LODSB / LODSW: Ilayisha ixabiso elivela kwidilesi eboniswe yirejista ye-SI kwi-accumulator (AL okanye i-AX).
  • FUNDA: Ilayisha idilesi esebenzayo endaweni yexabiso. Iluncedo ekufumaneni idilesi yoguquko okanye ulwakhiwo.

2. Imiyalelo yebhetri

I-stack yi-LIFO (yokugqibela ngaphakathi, eyokuqala ngaphandle) isakhiwo esetyenziswa ukugcina okwethutyana idata, ukudlula iparameters, okanye ukugcina umxholo wophumezo.

  • DUDULA: Ugcina ixabiso kwi-stack, ehlisa isalathisi se-SP.
  • I-POP: Ifumana elona xabiso lamva nje eligcinwe kwisitaki, inyusa iSP.
  • PUSHF / POPF: Bagcina kwaye babuyise imeko yeeflegi ze-CPU kwisitaki.

3. Imiyalelo ye-arithmetic kunye nengqiqo

Bavumela ukubala kunye nokusebenza ukuba kwenziwe kwiibhithi. Le miyalelo ibalulekile ekulawuleni idatha yamanani kunye nokwenza izigqibo kuqukuqelo lweprogram.

Phakathi kwezona zisetyenziswa kakhulu sifumana:

  • YONGEZA / SUB: Ukudibanisa nokuthabatha.
  • MUL / IMUL: Ukuphindaphinda kanambambili.
  • DIV / IDIV: Ukwahlula (inani elipheleleyo okanye elisayiniweyo).
  • KUNYE / OKANYE / XOR / HAYI: Ukusebenza okunengqondo kweBitwise.
  • SHL / SHR / ROL / ROR: Ukutshintsha kancinci kunye nokujikeleza.

4. Imiyalelo yokulawula ukuhamba

Bakuvumela ukuba uguqule ulandelelwano lokwenziwa kwenkqubo, ukwazisa ukutsiba okunemiqathango nokungenamiqathango okanye ukufowuna kweminye imiyalelo.

  • JMP: Ngokungenamiqathango tsibela kwenye idilesi ekwinkqubo.
  • FONELA / UPHINDE: Tsalela i-subroutine kwaye ubuye.
  • JE/JNE/JG/JL/JZ/JNZ: Ukutsiba okunemiqathango, kwenziwa ukuba iimeko ezithile zidibene (emva kokuthelekisa).

5. I-Input / Output (I / O) Imiyalelo

Bavumela iprosesa ukuba inxibelelane nezixhobo zangaphandle. Le miyalelo ikuvumela ukuba ufunde kwaye ubhale idatha ukusuka/ukuya (kwi-hardware) kumazibuko.

  • KU: Ufunda idata kwizibuko longeniso.
  • IPHELA: Ithumela idatha kwizibuko lemveliso.

6. Imiyalelo yendawo edadayo

IiCPU ezininzi zineeprosesa zezibalo (okanye imiyalelo ekhethekileyo) uzinikele ekusebenzeni ngamanani wokugqibela (indawo edadayo). Le miyalelo ikuvumela ukuba wenze imisebenzi efana nale:

  • Ukudibanisa, ukuthabatha, ukuphindaphinda kunye nokwahlula amanani okwenene.
  • Imisebenzi ye-Trigonometric (sine, i-cosine, i-tangent).
  • Logarithmic, exponential kunye nokusebenza kweengcambu.
  Konke malunga noluhlu lwenkqubo: iintlobo, ukusetyenziswa kunye nemizekelo

Le miyalelo ikholisa ukuhambelana nomgangatho we-IEEE wama-754 ukuchaneka kwamanani.

Iindlela zeedilesi

Inxalenye esisiseko yoyilo lwemiyalelo yindlela yokuchonga apho ii-operands zikhoyo. I iindlela zokujongana chaza indlela iCPU efikelela ngayo kwidatha.

1. Idilesi ekhawulezileyo

Idatha ifakwe ngokuthe ngqo kumyalelo. Iyakhawuleza kodwa ayikuvumeli ukutshintsha amaxabiso ngaphandle kokutshintsha umyalelo.

MOV AX, 5

2. Idilesi ethe ngqo

Idilesi yememori equlethe idatha ichazwe ngokucacileyo.

MOV AX, 

3. Intetho engathanga ngqo

Idilesi esebenzayo ifunyanwa kwiziqulatho zerejista. Iguquguquka kakhulu kwaye isetyenziselwa izakhiwo kunye noluhlu oludibeneyo.

MOV AX, 

4. Iidilesi ezifakwe kwisalathiso

Idilesi ibalwa ngokongeza isiseko kunye nesalathisi (umzekelo, ukunqumla uluhlu). Sebenzisa iirejista ezikhethekileyo ezifana ne-SI, DI okanye iirejista ze-base + shift.

MOV AX, 

Iifomathi zomyalelo: iindidi ezahlukeneyo ngokuxhomekeke kulwakhiwo

Ubume bomyalelo bunokwahluka ngokuxhomekeke kulwakhiwo. Iifomathi eziqhelekileyo ziquka:

Indlela ye-4 ifomathi

Ibandakanya ii-operands ezimbini, indawo yesiphumo, kunye nedilesi yomyalelo olandelayo. Namhlanje ayisasetyenziswa ngenxa yokuntsonkotha kwayo.

Indlela ye-3 ifomathi

Ikhankanya ii-operands ezimbini kunye nedilesi yendawo ekuyiwa kuyo. Iqhelekile kwi-architectures yanamhlanje ye-RISC.

Indlela ye-2 ifomathi

Isebenzisa umthombo kunye nomsebenzi wokusingwa (indawo ekuyiwa kuyo inokubonelela ngexabiso). Idumile kwi-x86 kunye nezinye izakhiwo ze-CISC.

Indlela ye-1 ifomathi

I-operand enye kuphela ebonisiweyo; enye ifanele ukuba yi-accumulator. Okuqhelekileyo kwiiprosesa ezindala kunye neenkqubo ezilula.

0-ifomati yedilesi (esekwe kwisipaki)

Imisebenzi isebenzisa istaki ukukhupha nokugcina imisebenzi kunye neziphumo. Isebenza kakuhle kakhulu koomatshini abasebenzisa ibhetri, njengezinye izixhobo zokubala ezicwangcisekileyo.

Imiyalelo yeMacro kunye ne-pseudo-opcodes

Ukuphucula imveliso, abaninzi abahlanganisi banikezela macroinstructions, eyandisa umgca omnye kwimiyalelo yokwenyani emininzi. Ziyaluncedo ekunqandeni ukuphindaphinda iipatheni eziyinkimbinkimbi okanye ekudaleni izakhiwo eziphakamileyo ezinjengama-loops okanye izakhiwo ezinemiqathango.

Los ipseudo-opcodes Ziyimiyalelo ukuba i-assembler iguqulela ngaphakathi kulandelelwano lwangempela lwemiyalelo. Umzekelo, NOP (akukho msebenzi) inokuguqulelwa njenge XCHG AX, AX kwi-x86 CPU.

  Iimpawu ezintsha ezili-12 ezimangalisayo kwi-PHP 8

Imiyalelo yokuhlanganisa

Imiyalelo (ikwabizwa ngokuba yi-pseudo-operations) ayiyomiyalelo ngeseshini nganye. Zisetyenziselwa ukulawula inkqubo yendibano, ukuchaza idatha, amacandelo ekhowudi, i-macros, iimeko zokudibanisa, njl.

Imizekelo eqhelekileyo ibandakanya:

  • .data / .code: Zibonisa idatha okanye icandelo lekhowudi.
  • .org: Iseta idilesi apho indibano iya kuqala khona.
  • .equ: Ichaza imizobo yomfuziselo.

Amatyala okusetyenziswa kolwimi kwiNdibano

Ngaphandle kokukhula kweelwimi ezikumgangatho ophezulu, I-assembler ihlala ingundoqo kwiindawo ezininzi:

  • Ukuphuhliswa kweenkqubo ezidibeneyo kunye ne-microcontroller.
  • Abaqhubi beprogram, ii-bootloaders kunye ne-BIOS.
  • Ukulungiswa okugqithisileyo kwizicelo ezinje ngemidlalo yevidiyo okanye i-cryptography.
  • Ukubuyisela umva ubunjineli, ukulungisa ingxaki, kunye nokuqhekezwa kwenqanaba eliphantsi.

Ukongeza, uqeqesho lolwimi lwendibano lusaqhubeka ithatha indawo ebalulekileyo kwimisebenzi yesayensi yekhompyuter kunye ne-electronics, njengoko inikezela ukuqonda okunzulu malunga nendlela iprosesa esebenza ngayo, indlela idatha egcinwe ngayo kwaye iqhutywe ngayo, kunye nendlela imiyalelo eyenziwa ngayo kwinqanaba lokubini.

Ukuqonda zonke iintlobo zemiyalelo yendibano, ubume bazo, ukusebenza kwazo, kunye neendlela zokujongana kubonelela ngesiseko esiluqilima kuye nawuphi na umdwelisi wenkqubo ofuna ukukhangela kwinkqubo ephantsi okanye aqonde ukuba iilwimi ezikwinqanaba eliphezulu ziguqulelwa njani kwikhowudi yomatshini. Nangona ukusetyenziswa kwayo kuye kwacaca ngakumbi, ihlala isisixhobo esibalulekileyo kwiindawo ezininzi ezibalulekileyo zesoftware kunye nophuhliso lweenkqubo.

ulwimi lwendibano
Inqaku elidibeneyo:
Konke malunga noLwimi lweNdibano: Yintoni na kunye nendlela esebenza ngayo