Fstp dword [result]


Download 39 Kb.
Sana19.06.2023
Hajmi39 Kb.
#1609601
Bog'liq
komp6


O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

KOMPYUTER TIZIMLARI” kafedrasi

Kompyuterni tashkil etilishi fanidan tayyorlagan
“Assemblerda dasturlash” mavzusidagi topshiriq uchun

H I S O B O T

830-21 guruh talabasi


Salomoov Hayotjon
KT kafedrasi asistenti
A.A.Temirov


Toshkent-2023

Mashg‘ultoning maqsadi : Assembler compilyatorlari orqali a(b-2c)+2 dasturini tuzish.
Dastur kodi:
a dw 5 ; a o'zgaruvchisini 3 ga tenglaymiz
b dw 2 ; b o'zgaruvchisini 5 ga tenglaymiz
c dw 3 ; c o'zgaruvchisini 1 ga tenglaymiz
result dw ? ; Natija uchun joy rezervlash


section .data
a dd 0 ; Define and initialize variable a
b dd 0 ; Define and initialize variable b
c dd 0 ; Define and initialize variable c
result dd 0 ; Define variable to store the result

section .text


global _start

_start:
; Calculate b - 2 * c


fld dword [b] ; Load b into the FPU stack
fld dword [c] ; Load c into the FPU stack
fld dword 2 ; Load 2 into the FPU stack
fmul ; Multiply 2 by c
fsub ; Subtract the result from b

; Multiply the result by a


fld dword [a] ; Load a into the FPU stack
fmul ; Multiply the result by a

; Add 2 to the result


fld dword 2 ; Load 2 into the FPU stack
fadd ; Add 2 to the result

; Store the final result


fstp dword [result] ; Store the top of the FPU stack in the result variable

; Exit the program


mov eax, 1 ; Prepare exit syscall number
xor ebx, ebx ; Exit status code 0
int 0x80 ; Call the kernel

Bizning dasturimizda a = 3, b = 5, c = 1 ga teng deb tanlab olindi. Shuning natijasida a(b-2c)+2 ifodaning qiymati 8 ga teng chiqdi;
Natija:

Dasturda foydalanilgan kodlarning qisqacha tafsifi:
Tahlil:

Ushbu kod a(b-2c)+2 formulasi bo'yicha hisoblashni amalga oshiradi. Kodning tahlili quyidagicha:



  1. .data bo'limida a, b, c va result nomli o'zgaruvchilar uchun joy rezervlangan.

  2. .text bo'limida dastur boshlanadi. _start etiketi dastur boshlanish nuqtasi sifatida aniqlangan.

  3. a va b o'zgaruvchilarining qiymatlari mos registrlarga yuklanadi.

  4. a va b qiymatlari qo'shiladi (2bc hisoblash uchun) va natija ax registrida saqlanadi.

  5. c o'zgaruvchisining qiymati cx registriga o'zgartiriladi.

  6. 2bc qiymati hisoblanadi va cx registrida saqlanadi.

  7. a(b-2c)+2 qiymati hisoblanadi va natija ax registrida saqlanadi.

  8. Natija result o'zgaruvchisiga saqlanadi.

  9. Natija ekranga chiqariladi.

  10. Dastur yakunlanadi.

Maqsad: Ushbu dastur a(b-2c)+2 formulasi bo'yicha hisoblashni amalga oshiradi. Ushbu formulada a, b va c o'zgaruvchilaridan foydalaniladi va natija ekranga chiqariladi.
Xulosa:
Ushbu amaliy mashg’ulotda biz Asimbler dasturidan foydalanib turli dasturlar tuzishni amalyotda ko’rib o’ttik. Har bir talaba o’z variantidagi tartib raqam bo’yicha o’ziga biriktirilgan misolni assembler tilida ishladi. Xususan men xam o’z dasturimni tuzdim. Ushbu ketma ketlikda bajardim:
Ushbu dastur a(b-2c)+2 formulasi bo'yicha hisoblashni maqsad qilgan. Ushbu formulada a, b va c o'zgaruvchilaridan foydalanilgan. Dastur quyidagi amallarni bajaradi:

  1. .data bo'limida a, b, c va result nomli o'zgaruvchilar uchun joy ayriladi.

  2. .text bo'limida dastur boshlanadi va _start etiketi dastur boshlanish nuqtasini ifodalaydi.

  3. a va b o'zgaruvchilarining qiymatlari mos registrlarga yuklanadi.

  4. b-2c ni hisoblash uchun ax registri ishlatiladi.

  5. c o'zgaruvchisining qiymati cx registriga o'zgartiriladi.

  6. a(b-2c) ni hisoblash uchun cx registri ishlatiladi.

  7. a(b-2c)+2 ni hisoblash uchun ax va cx registrlari ishlatiladi.

  8. Natija result o'zgaruvchisiga saqlanadi.

  9. Natija ekranga chiqariladi.

  10. Dastur yakunlanadi.

Maqsad: Ushbu dastur a(b-2c)+2 formulasi bo'yicha hisoblashni amalga oshiradi. Ushbu formulada a, b va c o'zgaruvchilaridan foydalaniladi va natija ekranga chiqariladi.
Download 39 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling