Mustaqil bajarish uchun topshiriqlar Quyida keltirilgan masalalar uchun assembler dasturlash tilida dastur yozing


Download 99.58 Kb.
Sana01.11.2023
Hajmi99.58 Kb.
#1738044
Bog'liq
2-Mustaqil bajarish uchun topshiriqlar


Mustaqil bajarish uchun topshiriqlar
Quyida keltirilgan masalalar uchun assembler dasturlash tilida dastur yozing.
1. Butun turdagi a,b,c ( 0≤a,b,c≤255 ) o’zgaruvchilari berilgan. Ularning yig’indisini hisoblovchi dastur tuzilsin.

Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

1 2 3
255 255 255

6
765

2. Butun turdagi a,b,c (0≤a,b,c≤216-1) o’zgaruvchilari berilgan. S=a+b-c ifodaning qiymatini hisoblovchi dastur tuzilsin.



Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

1 2 3
255 7255 255

0
7255

3. Butun turdagi a,b (0≤a,b≤28-1) o’zgaruvchilari berilgan. Bu o’zgaruvchilarning qiymatlarini o’zaro almashtiruvchi dastur tuzilsin. Dastur kodi saqlanadigan fayl swap.asm deb nomlansin. (20%).



Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

a=3
b=4

a=4
b=3

4. Butun turdagi a,b (0≤a,b≤28-1) o’zgaruvchilari berilgan. Yordamchi o’zgaruvchi kiritish usulidan foydalanmasdan faqat qo’shish va ayirish amallari yordamida bu o’zgaruvchilarning qiymatlarini o’zaro almashtiruvchi dastur tuzilsin. Dastur kodi saqlanadigan fayl swap2.asm deb nomlansin.



Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

a=3
b=4

a=4
b=3

5. Butun turdagi a,b,c (0≤a,b,c≤232-1) o’zgaruvchilari berilgan. S=a-(b+c) ifodaning qiymatini hisoblovchi dastur tuzilsin.



Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

1 2 3
255 7255 255

-4
-7255

6-masala. Quyida assembler tilida berilgan dastur kodini C++ tiliga o’giring.
%include"d:\nasm-io.inc"
section .bss
x resd 1
section .data
y dd 100
a dd 0
b dd 1
section .text
global _main
_main:
mov eax,[y]
cmp eax,0
jle aa
chop_et '%i',[b]
jmp tamom
aa: chop_et '%i',[a]
tamom:
ret
7-masala.Quyida assembler tilida berilgan kodni ishlash natijaisni ko’rsating. Bu dastur qanday masalani hal etadi?
%include "d:\nasm-io.inc"
section .bss
x resd 1
section .text
global _main
_main:
qabul_qil '%i',x
mov eax,[x]
cmp eax,0
jge s
neg eax
chop_et '%i',eax
jmp tamom
s: chop_et '%i',eax
tamom:
ret

8-masala. Quyida C++ tilida dastur qismi berilgan. Shu dastur qismiga mos assembler dastur kodini keltiring.
short int a=10;
int b=20,c;
c=a+b

9-masala. Ushbu chizmani izohlab bering.

10-masala. Berilgan uchta butun son ichidan eng kattasini aniqlovchi dastur tuzilsin.
Download 99.58 Kb.

Do'stlaringiz bilan baham:




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