Dasturiy uslublar va paradiagrammalar” fanidan 2-amaliy ish Guruh: di 21-10 Talaba: Daminov Baxtiyor



Yüklə 36,56 Kb.
səhifə2/3
tarix29.11.2023
ölçüsü36,56 Kb.
#140799
1   2   3
Daminov Baxtiyor

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

JAVOB:



#include
using namespace std;

extern "C" void chop_et(const char* format, int* value);

int main() {
int x;
int y = 100;
int a = 0;
int b = 1;

if (y > 0) {
chop_et("%i", &b);
} else {
chop_et("%i", &a);
}

return 0;
}
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

Berilgan kodning natijasi quyidagi masalani hal etadi:

1. Dastur `.bss` bo'limida `x` nomli 4 baytli xotira rezerv qiladi.
2. `.text` bo'limida `_main` nomli global dastur boshlanadi.
3. `qabul_qil` buyrug'i orqali foydalanuvchidan bir tamsayi kiritiladi va `x` o'zgaruvchisiga saqlanadi.
4. `mov` buyrug'i orqali `x` o'zgaruvchisining qiymati `eax` registriga ko'rsatiladi.
5. `cmp` va `jge` buyruqlari orqali `eax` qiymati 0 ga teng yoki katta bo'lsa "s" belgilangan qismga o'tiladi, aks holda "tamom" belgilangan qismga o'tiladi.
6. "s" belgilangan qismda `eax` o'zgaruvchisi `chop_et` buyrug'i yordamida konsolga chiqariladi.
7. "tamom" belgilangan qismda esa `eax` o'zgaruvchisi `chop_et` buyrug'i yordamida konsolga chiqariladi.

Natijada, foydalanuvchidan kiritilgan tamsayining alohida belgilangan qismidagi ifoda natijasiga qarab konsolga chiqariladi. Agar kiritilgan son 0 ga teng yoki katta bo'lsa, "s" belgilangan qismdagi ifoda natijasiga qarab chiqariladi, aks holda "tamom" belgilangan qismdagi ifoda natijasiga qarab chiqariladi.



Yüklə 36,56 Kb.

Dostları ilə paylaş:
1   2   3




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

    Ana səhifə