Assembler — proqramlaşdırma dili.
Assembler | |
---|---|
Yaradılma tarixi | 1949 |
Fayl sonluğu | .asm və ya .s |
Vikianbarda əlaqəli mediafayllar |
Tarixi
1952-ci ildə amerikalı qadın Qreys Hopper dünyada ilk mnemonik proqramlaşdırma dili olan Assembler dilini yaratdı. Onun adı "assemble" ingilis sözündən götürülmüşdür, "yığmaq", "quraşdırmaq" mənasını verir. O, özündə mnemonik komandalar sistemini (komandaların siyahısı), prosedurlar kitabxanasını və proqram mətnlərini maşın koduna çevirmək üçün xüsusi proqramı birləşdirirdi. MAşın kodunun alınmasının belə proseduru kompilyasiya (ing. compile – "tərtib etmək", "yığmaq"), onu həyata keçirən proqram isə kompilyator adlanır. Bunları da Qreys M. Hopper düşünüb tapmışdır.
Ümumi məlumat
Assembler dili digər proqramlaşdırma dillərinə bənzəmir və tamamilə fərqli bir dildir. Assembler dilinin 2-ci nəsil dil olması və 3-cü nəsil dillərin assembler üzərində inkişaf etdirilməsi qətiyyən o demək deyil ki, Assembler dili artıq köhnədir və o istifadə olunmur.
Assembler dili hal-hazırda proqramlaşdırmada çox böyük çəkiyə malikdir və onsuz müasir proqramlaşdırmanı təsəvvür eləmək kompüteri prosessorsuz təsəvvür eləmək kimi bir şeydir. Assembler dili hal-hazırda inkişaf etdirilir, yeni-yeni standartları hazırlanıb test edilir, müxtəlif instutlar, İT şirkətlər tərəfindən.
Assembler dilinin imkanları sonsuzdur(Digər dillərinki isə sonlu).
Misal üçün ancaq Assembler dilində yazılmış proqram ilə Prosessorun xarici və daxili siqnallara cavab reaksiyasın (kəsilmələri) idarə etmək mümkündür. Ancaq assembler dilində yazılmış proqram ilə yaddaşa müraciət rejimlərin(segment:offset , paging) idarə etmək mümkündür.
Assembler hal-hazırda ancaq sistem proqramlaşdırmada istifadə olunur. Assembler dilinə aid çoxlu kitablar və məqalələr mövcuddur, elektron şəkildə və digər formalarda.
Assembler dilində sadələdirilmiş proqram :
.section .data setir: .ascii "Salam dunya \n\0" .section .text .globl _start _start: movl $1,%ebx movl $4, %eax movl $setir, %ecx movl $15, %edx int $0x80 movl $1, %eax int $0x80
Assembler dilinin əlifbası
İstənilən proqramlaşdırma dilində olduğu kimi Assembler dilinin əlifbasına, translyator tərəfindən qəbul oluna bilən, xüsusi simvollar yığımı daxildir. Bu simvollar yığımı aşağıdakılardır:
- Latın əlifbasının böyük (A- Z) və kiçik (a-z) hərfləri.
- 0-dan 9 –a qədər ərəb rəqəmləri.
- Xüsusi işarələr ? @ $ &
- Boşluq işarəsi və alt xətt (_).
- Ayırıcı işarələr ; : , . [ ] () < > { } + – / * % ! " ' \ = # ^
Bunlardan başqa Assembler dilinə müəyyən açar sözləri daxildir ki, onlar da proqramda olduğu kimi işlədilirlər.
Assembler dilinin konstantları
Assembler dilində müxtəlif tip konstantalardan (sabitlərdən) istifadə olunur:
1. Üç say sistemindən birində verilmiş tam ədədlər:
- İkilik konstantalar- bunlar B və b hərfləri ilə qurtaran 0 və ya 1 ikilik ədədlər ardıcıllığıdır. Məsələn, 11000111b və ya 0001000B (ikilik sabitin təsviri).
- Onluq konstantalar-bunlar D və ya d hərfləri ilə qurtaran 0- dan 9–a qədər onluq rəqəmlər ardıcıllığıdır. Məsələn: 234,234D, 546d. Sadəlik üçün D və ya d simvollarından istifadə etməmək də olar.
- Onaltılıq konstantalar-bunlar H və ya h hərfləri ilə qurtaran 0-dan F–ə qədər onaltılıq rəqəmlər ardıcıllığıdır (0123456789ABCDEF).
Məsələn: 0BAH, 06AEh. Birinci simvol mütləq 0-dan 9–a qədər olan rəqəmlərdən birisi olmalıdır ki, o identifikatordan fərqlənsin. Məsələn: 0BAH, 0A6AEh yazılışındakı birinci 0 simvolu verilənlərin identifikotor deyil, onaltılıq ədəd olduğunu göstərir. Qeyd edək ki, mənfi onluq ədədlər proqramda adi qaydada (məsələn –56), mənfi ikilik və onaltılıq ədədlər isə tamamlayıcı kodda göstərilir. Məsələn: – 89 ədədi tamalayıcı kodda 10100111b və 0A7h kimi yazılır.
2. Simvol və ya sətr (literal və ya sətr) konstantları – apostrof və ya dırnaq işarələri arasında yazılan istənilən simvollar ardıcıllığıdır.
3. Sürüşkən nöqtəli ədədlər. Intel prosessorlarında sürüşkən nöqtəli bütün əməliyyatlar, özünün məxsusi registrləri və əmrləri olan xüsusi FPU (Floating Point Unit) qurğusunun köməyi ilə aparılır. Bu qurğu əsas prosessor ilə aftonom işləyə bilir və sistemə (8087,80287,80387,80487) həmprosessor kimi qoşulur. 80486DX – dən başlayaraq bütün modellərdə həmprosessorlar əsas prosessorla birlikdə bir kristalda yerləşdirilirlər.
Mənbə
- https://cs.lmu.edu/~ray/notes/x86assembly/.
- Uşaqlar üçün enklopediya, Proqramlaşdırma dillərinin tarixi səh.182 Bakı 2008
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
Assembler proqramlasdirma dili AssemblerYaradilma tarixi 1949Fayl sonlugu asm ve ya s Vikianbarda elaqeli mediafayllarTarixiQreys Hopper 1952 ci ilde amerikali qadin Qreys Hopper dunyada ilk mnemonik proqramlasdirma dili olan Assembler dilini yaratdi Onun adi assemble ingilis sozunden goturulmusdur yigmaq qurasdirmaq menasini verir O ozunde mnemonik komandalar sistemini komandalarin siyahisi prosedurlar kitabxanasini ve proqram metnlerini masin koduna cevirmek ucun xususi proqrami birlesdirirdi MAsin kodunun alinmasinin bele proseduru kompilyasiya ing compile tertib etmek yigmaq onu heyata keciren proqram ise kompilyator adlanir Bunlari da Qreys M Hopper dusunub tapmisdir Umumi melumatAssembler dili diger proqramlasdirma dillerine benzemir ve tamamile ferqli bir dildir Assembler dilinin 2 ci nesil dil olmasi ve 3 cu nesil dillerin assembler uzerinde inkisaf etdirilmesi qetiyyen o demek deyil ki Assembler dili artiq kohnedir ve o istifade olunmur Assembler dili hal hazirda proqramlasdirmada cox boyuk cekiye malikdir ve onsuz muasir proqramlasdirmani tesevvur elemek komputeri prosessorsuz tesevvur elemek kimi bir seydir Assembler dili hal hazirda inkisaf etdirilir yeni yeni standartlari hazirlanib test edilir muxtelif instutlar IT sirketler terefinden Assembler dilinin imkanlari sonsuzdur Diger dillerinki ise sonlu Misal ucun ancaq Assembler dilinde yazilmis proqram ile Prosessorun xarici ve daxili siqnallara cavab reaksiyasin kesilmeleri idare etmek mumkundur Ancaq assembler dilinde yazilmis proqram ile yaddasa muraciet rejimlerin segment offset paging idare etmek mumkundur Assembler hal hazirda ancaq sistem proqramlasdirmada istifade olunur Assembler diline aid coxlu kitablar ve meqaleler movcuddur elektron sekilde ve diger formalarda Assembler dilinde sadeledirilmis proqram section data setir ascii Salam dunya n 0 section text globl start start movl 1 ebx movl 4 eax movl setir ecx movl 15 edx int 0x80 movl 1 eax int 0x80Assembler dilinin elifbasiIstenilen proqramlasdirma dilinde oldugu kimi Assembler dilinin elifbasina translyator terefinden qebul oluna bilen xususi simvollar yigimi daxildir Bu simvollar yigimi asagidakilardir Latin elifbasinin boyuk A Z ve kicik a z herfleri 0 dan 9 a qeder ereb reqemleri Xususi isareler amp Bosluq isaresi ve alt xett Ayirici isareler lt gt Bunlardan basqa Assembler diline mueyyen acar sozleri daxildir ki onlar da proqramda oldugu kimi isledilirler Assembler dilinin konstantlariAssembler dilinde muxtelif tip konstantalardan sabitlerden istifade olunur 1 Uc say sisteminden birinde verilmis tam ededler Ikilik konstantalar bunlar B ve b herfleri ile qurtaran 0 ve ya 1 ikilik ededler ardicilligidir Meselen 11000111b ve ya 0001000B ikilik sabitin tesviri Onluq konstantalar bunlar D ve ya d herfleri ile qurtaran 0 dan 9 a qeder onluq reqemler ardicilligidir Meselen 234 234D 546d Sadelik ucun D ve ya d simvollarindan istifade etmemek de olar Onaltiliq konstantalar bunlar H ve ya h herfleri ile qurtaran 0 dan F e qeder onaltiliq reqemler ardicilligidir 0123456789ABCDEF Meselen 0BAH 06AEh Birinci simvol mutleq 0 dan 9 a qeder olan reqemlerden birisi olmalidir ki o identifikatordan ferqlensin Meselen 0BAH 0A6AEh yazilisindaki birinci 0 simvolu verilenlerin identifikotor deyil onaltiliq eded oldugunu gosterir Qeyd edek ki menfi onluq ededler proqramda adi qaydada meselen 56 menfi ikilik ve onaltiliq ededler ise tamamlayici kodda gosterilir Meselen 89 ededi tamalayici kodda 10100111b ve 0A7h kimi yazilir 2 Simvol ve ya setr literal ve ya setr konstantlari apostrof ve ya dirnaq isareleri arasinda yazilan istenilen simvollar ardicilligidir 3 Surusken noqteli ededler Intel prosessorlarinda surusken noqteli butun emeliyyatlar ozunun mexsusi registrleri ve emrleri olan xususi FPU Floating Point Unit qurgusunun komeyi ile aparilir Bu qurgu esas prosessor ile aftonom isleye bilir ve sisteme 8087 80287 80387 80487 hemprosessor kimi qosulur 80486DX den baslayaraq butun modellerde hemprosessorlar esas prosessorla birlikde bir kristalda yerlesdirilirler Menbehttps cs lmu edu ray notes x86assembly Usaqlar ucun enklopediya Proqramlasdirma dillerinin tarixi seh 182 Baki 2008 Proqramlasdirma dili ile elaqedar bu meqale qaralama halindadir Meqaleni redakte ederek Vikipediyani zenginlesdirin