Assemblerda matematik amallarni bajarish Faxriddinov Diyorbek Farrux o`g`li




Download 115,12 Kb.
bet3/4
Sana18.05.2024
Hajmi115,12 Kb.
#242864
1   2   3   4
Bog'liq
Amaliy

4. Masalaning yechimi


Quyida assembler tilida matematik amallarni bajarish va massivlar bilan ishlashga oid namunaviy dastur keltirilgan:
section .data
array db 10, 20, 30, 40, 50 ; massivni aniqlash

section .bss


result_add resb 1 ; qo‘shish natijasi uchun joy
result_sub resb 1 ; ayirish natijasi uchun joy
result_mul resb 1 ; ko‘paytirish natijasi uchun joy
result_div resb 1 ; bo‘lish natijasi uchun joy
result_mod resb 1 ; bo‘lish qoldig‘i uchun joy

section .text


global _start

_start:
; Massivdagi birinchi elementni ikkinchi elementga qo‘shish (ADD)


mov al, [array] ; al registriga birinchi elementni yuklash
add al, [array + 1] ; ikkinchi elementni qo‘shish
mov [result_add], al ; natijani result_add ga saqlash

; Massivdagi uchinchi elementni to‘rtinchi elementdan ayirish (SUB)


mov al, [array + 2] ; al registriga uchinchi elementni yuklash
sub al, [array + 3] ; to‘rtinchi elementni ayirish
mov [result_sub], al ; natijani result_sub ga saqlash

; Massivdagi birinchi elementni beshinchi elementga ko‘paytirish (MUL)


mov al, [array] ; al registriga birinchi elementni yuklash
mov bl, [array + 4] ; bl registriga beshinchi elementni yuklash
mul bl ; al = al * bl
mov [result_mul], al ; natijani result_mul ga saqlash

; Massivdagi to‘rtinchi elementni ikkinchi elementga bo‘lish (DIV)


mov ax, [array + 3] ; ax registriga to‘rtinchi elementni yuklash (bo‘lish uchun ax registr ishlatiladi)
mov bl, [array + 1] ; bl registriga ikkinchi elementni yuklash
div bl ; ax = ax / bl
mov [result_div], al ; bo‘lish natijasini result_div ga saqlash
mov [result_mod], ah ; bo‘lish qoldig‘ini result_mod ga saqlash (qoldiq ah registrida saqlanadi)

; Dasturdan chiqish


mov eax, 1 ; exit system call
int 0x80
Dastur natijasi:
[Execution complete with exit code -11]


Download 115,12 Kb.
1   2   3   4




Download 115,12 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Assemblerda matematik amallarni bajarish Faxriddinov Diyorbek Farrux o`g`li

Download 115,12 Kb.