Assembler: Redaktələr arasındakı fərq
kateqoriya, interwiki |
Redaktənin izahı yoxdur |
||
Sətir 1: | Sətir 1: | ||
[[Assembler]] — proqramlaşdırma dili. |
|||
== Ü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 : |
|||
<pre> |
|||
.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 |
|||
</pre> |
|||
⚫ | |||
İ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: |
İ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: |
||
Sətir 9: | Sətir 48: | ||
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. |
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:<br> |
Assembler dilində müxtəlif tip konstantalardan (sabitlərdən) istifadə olunur:<br> |
||
1. Üç say sistemindən birində verilmiş tam ədədlər: |
1. Üç say sistemindən birində verilmiş tam ədədlər: |
11:52, 1 yanvar 2011 tarixindəki versiya
Assembler — proqramlaşdırma dili.
Ü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.