For faster navigation, this Iframe is preloading the Wikiwand page for Assembler.

Assembler

Vikipediya, azad ensiklopediya

Assembler
Yaradılma tarixi 1949
Fayl sonluğu .asm və ya .s[1]
Vikianbarın loqosu Vikianbarda əlaqəli mediafayllar

Assembler — proqramlaşdırma dili.

Qreys Hopper

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. [2]

Ümumi məlumat

[redaktə | mənbəni redaktə et]

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ı

[redaktə | mənbəni redaktə et]

İ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:

  1. Latın əlifbasının böyük (A- Z) və kiçik (a-z) hərfləri.
  2. 0-dan 9 –a qədər ərəb rəqəmləri.
  3. Xüsusi işarələr ? @ $ &
  4. Boşluq işarəsi və alt xətt (_).
  5. 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ı

[redaktə | mənbəni redaktə et]

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.

  1. https://cs.lmu.edu/~ray/notes/x86assembly/.
  2. Uşaqlar üçün enklopediya, Proqramlaşdırma dillərinin tarixi səh.182 Bakı 2008
{{bottomLinkPreText}} {{bottomLinkText}}
Assembler
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?