O‘zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi mirzo Ulug‘bek nomidagi O‘zbekiston milliy universiteti Jizzax filiali Informatika va axborot texnalogiyalari 103-19 gurux talabasi Jo’raboyev Haydarning mustaqil ishi



Yüklə 0,6 Mb.
səhifə4/4
tarix06.02.2022
ölçüsü0,6 Mb.
#52163
1   2   3   4
Tizmli dasturlashdan mustaqil ishim

Amaliy yechish uchun masalalar

1-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

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

Javoblar:

1-masala


#include

using namespace std;

int main()

{

int x=100;



cout<< (x>0)?x:0 ;

return 0;

}

2-masala


%include "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


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-masala


short int a=10;

int b=20,c;

c=a+b

Assembler tilida

%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

Yüklə 0,6 Mb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin