Mustaqil ish fan: Dasturlash uslublari va paradigmalar
Download 0.86 Mb.
|
Baxritdinov 210 6
- Bu sahifa navigatsiya:
- 3-masala.
________________________________________________ MUSTAQIL ISHLASH UCHUN TOPSHIRIQLAR 1-masala. Quyida assembler tilida berilgan dastur kodini C++ tiliga o’giring(20%). %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 2-masala.Quyida assembler tilida berilgan kodni ishlash natijaisni ko’rsating. Bu dastur qanday masalani hal etadi? (20%). %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 3-masala. Quyida C++ tilida dastur qismi berilgan. Shu dastur qismiga mos assembler dastur kodini keltiring (20%). short int a=10; int b=20,c; c=a+b 4-masala. Ushbu chizmani izohlab bering (20%). 5-masala. Berilgan uchta butun son ichidan eng kattasini aniqlovchi dastur tuzilsin (20%). Javoblar: #include using namespace std; int main() { int x=100; cout<< (x>0)?x:0 ; return 0; } 2)
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 Bu yerda: mov eax,[x]- x o’zgaruvchini eax registriga taminlanayapti, cmp eax,0 – eax regitridagi qiymatni 0 bilan solishtiryapmiz, jge s -agar x<0 sharti bajarilsa, s ga o’tadi. neg eax – eax registridagi qiymatni teskarisiga almashtiradi.Demak, shunday xulosa qilishimiz mumkinki, bu dastur taqqoslash natijasini teskari ishorasi bilan chop etadi. 3)
%include "nasm-io.inc" section .bss a resd 4 b db 2 c db 4
section .text global _main _main: chop_et 'Ikkita son kiririting:' qabul_qil '%i %i',a,b mov eax,[a] ;; eax=a mov ecx,[c] ;; ecx=c mov ebx,[b] ;; ebx=b add ecx,[b] ;; ecx=ecx+b add ecx,[a] ;; ecx=ecx+a chop_et 'Natija: %i+%i=%i %i',[a],[b],c,ecx ret
0> Download 0.86 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling