Programmēšana asamblejā

Autors: Frank Hunt
Radīšanas Datums: 13 Martā 2021
Atjaunināšanas Datums: 1 Jūlijs 2024
Anonim
Assembly Language Programming Tutorial
Video: Assembly Language Programming Tutorial

Saturs

Programmēšana montāžā bieži ir izšķirošs sākumpunkts, kad datorprogrammētāji apgūst savu amatu. Asambleja vai montāžas valoda (vai arī ASM) ir programmēšanas valoda datoriem un citām ierīcēm, un to parasti uzskata par zema līmeņa variantu, salīdzinot ar progresīvākām valodām, kas nodrošina papildu funkcionalitāti. Kad esat uzrakstījis kodu, mezgls to pārveido par mašīnas kodu (nulles un viens). Kaut arī procesoru pieaugošās sarežģītības dēļ montāžas programmēšanas lietojumprogrammas ir kļuvušas ierobežotākas, montāža joprojām ir noderīga vairākiem mērķiem, ieskaitot atsevišķu izpildāmo failu vai ierīču draiveru koda rakstīšanu.

Lai soli

1. daļa no 3: Iepazīšanās ar montāžu

  1. Lasiet vairāk par montāžas valodu. Pirms mēģināt rakstīt kodu, vienmēr ir ieteicams vispirms saprast pašu valodu. Pieejami vairāki resursi, sākot no mācību grāmatām līdz tiešsaistes ceļvežiem.
  2. Uzziniet pamatnoteikumus. Piemēram, jūs vēlaties zināt, ka IDE (integrēta izstrādes vide) nodrošina kodēšanas saskarni, kas apstrādā tādas lietas kā teksta rediģēšana, atkļūdošana un apkopošana. Jūs varat arī labāk saprast, kā faktiski notiek montāža, piemēram, to, ka "reģistri" glabā numurus, kas saistīti ar programmas kodu. Labāka terminoloģijas izpratne ļaus vieglāk iemācīties programmēt sevi.
  3. Izlemiet, vai montāža ir domāta jums. Paturiet prātā, ka ir vairākas programmēšanas valodas, tostarp dažas, kas nodrošina daudz lielāku funkcionalitāti nekā montāža. Tomēr joprojām ir vairākas lietojumprogrammas, kurām montāža ir noderīga, sākot no atsevišķu izpildāmo failu izveidošanas tālruņa programmaparatūrai un gaisa kondicionēšanas sistēmām, līdz atsevišķu procesoram specifisku instrukciju izstrādei.
  4. Izlemiet, kuru montāžu vēlaties izmantot. komplekti, piemēram, A86, NASM vai GNU, parasti veic mazāk sarežģītas funkcijas un var būt piemēroti sākumpunkti iesācējiem. Katra asambleja darbojas nedaudz savādāk, taču šīs instrukcijas darbojas, pieņemot, ka izmantojat MASM (Microsoft Macro assembly) - bāzes komplektu, kas darbojas ar Windows operētājsistēmām. Tas izmanto x86 montāžas valodu un Intel sintaksi.

2. daļa no 3: Lejupielādējiet un instalējiet montāžu un IDE

  1. Lejupielādējiet montāžu pats. Jaunāko MASM versiju varat atrast Visual Studio Enterprise 2015 (plaša IDE ar vairākiem rīkiem), bet vienkāršāku oriģinālo versiju (MASM 8.0) var lejupielādēt bez maksas. Dažus mezglus, piemēram, Flat assembly, var izmantot vairākās operētājsistēmās, ieskaitot Windows, DOS un Linux. Mac datorā darbojas arī citas montāžas valodas, tostarp Netwide assembly (NASM) un GNU assembly (GAS).
    • Lai lejupielādētu MASM 8.0, noklikšķiniet uz pogas Lejupielādēt šajā solī norādītās lapas augšdaļā.
    • Sistēmas prasības atšķiras atkarībā no izvēlētās montāžas, taču MASM 8.0 nepieciešama Windows 2000 3. servisa pakotne, Windows Server 2003 vai Windows XP 2. servisa pakotne.
    • MASM 8.0 instalēšanai ir nepieciešams arī lejupielādēt un instalēt Visual C ++ 2005 Express Edition.
  2. Lejupielādējiet IDE. Meklējiet "WinAsm lejupielāde", lai atrastu un instalētu WinAsm IDE, kas parasti darbojas labi ar MASM. Citi IDE var būt piemērotāki atkarībā no izmantotās programmēšanas valodas. Populāra alternatīva ir RadAsm.
  3. Instalējiet MASM 8.0. Instalēšanu var sākt uzreiz, noklikšķinot uz Palaist pēc programmas lejupielādes. Varat arī to instalēt vēlāk, tādā gadījumā noklikšķiniet uz Saglabāt. Pēc noklikšķināšanas uz Izpildīt MASM 8.0 tiks instalēts mapē "[Visual C ++ Express] bin" ar nosaukumu ml.exe.
  4. Instalējiet savu IDE. Pēc WinAsm lejupielādes izvelciet failus un nokopējiet tos mapē "c: Program Files ". Varat arī ievietot saīsni uz darbvirsmas, lai viņiem būtu vieglāk piekļūt.
  5. Konfigurējiet savu IDE. Vispirms sāciet WinAsm programmu. Ja darbvirsmā esat ievietojis saīsni, veiciet dubultklikšķi uz tā. Ņemiet vērā, ka šis process būs atšķirīgs, ja izmantojat citu montāžu vai IDE.
  6. Integrējiet WinAsm ar MASM 8.0. Sāciet, noklikšķinot uz WinAsm cilnes Rīki, šajā cilnē atlasiet Opcijas un visbeidzot atlasiet cilni Faili un ceļi. Pēc tam nomainiet pirmās trīs rindas (atsaucoties uz ceļiem) uz MASM instalācijas mapi. Kad esat pabeidzis, noklikšķiniet uz Labi.
    • Rediģējot informāciju cilnē "Faili un ceļi", pirmajām trim rindām jābūt šādām. Binārajam ceļam jābūt C: Masm32Bin, Iekļaut ceļš ir C: Masm32Include, un bibliotēkas ceļš ir C: Masm32Bin.

3. daļa no 3: Programmēšana

  1. Sāciet rakstīt kodu. Sāciet ar WinAsm un noklikšķiniet uz cilnes Fails. Pēc tam atlasiet Jauns projekts, un jūs redzēsiet vairākas iespējas. Šīs opcijas ir konsoles lietojumprogramma un standarta EXE. Piemēram, ja mēģināt izveidot uz GUI (grafiskā lietotāja saskarne) balstītu lietojumprogrammu, atlasiet pēdējo.
  2. Izmantojiet montāžas programmas struktūru. Tipiska struktūra var sastāvēt no līnijas, kas nosaka arhitektūru, datu sadaļu (section.data) ar inicializētiem datiem vai konstantēm, bss sadaļu (section.bss), kas deklarē mainīgos, un teksta sadaļu (section.text), kurā jūs faktiskais programmas kods. Šī pēdējā sadaļa vienmēr sākas ar globālo _start deklarāciju. Katra secība ir pazīstama kā koda bloks.
  3. Izprot pamata komandas. Ir trīs veidu asamblejas valodas paziņojumi, izpildāmie priekšraksti vai instrukcijas (tie norāda procesoriem, kā rīkoties, izmantojot operatīvo kodu), montāžas direktīvas vai pseido-opcijas (tās apraksta montāžas procesus montāžai) un makro (tie kalpo kā mehānisms ievadīšanai teksta).

Padomi

  • Efektīva koda rakstīšana montāžas valodā (vai jebkurā citā valodā) parasti prasa ievērojamu izpēti. Jo īpaši vēlaties uzzināt nepieciešamo sintaksi kodu priekšrakstiem un to, kā sastādīt un saistīt montāžas programmu.
  • Ja jums ir grūtības izveidot konkrētu asambleju, var būt prātīgi pievienoties forumam, kurā var uzrunāt noteiktus jautājumus.
  • Dažām programmēšanas valodām ir iespējas apvienot montāžu, piemēram, ASM ("") funkcija C un C ++. Tas ir labs veids, kā sākt.
  • Ja jūs interesē IDE, kas darbojas ar jaunākām MASM versijām, skatiet Visual MASM vietnē www.visualmasm.com/.