Mavzu: Quyi darajali dasturlash. Boshqaruv buyruqlari


Ishorasiz sonlarni taqqoslaganda



Download 126,92 Kb.
bet3/3
Sana01.01.2022
Hajmi126,92 Kb.
#295702
1   2   3
Bog'liq
Assemblerda boshqaruv buyruqlari

Ishorasiz sonlarni taqqoslaganda:


JB-(Jump if Below) Agar x

JNAE-(Jump if Above or Equal) JB kabi.

JBE-(Jump if Below or Equal) Agar x≤y bo’lsa, o’tishni amalga oshiradi.

JNA-(Jump if Not Above) JBE kabi.

JA-(Jump if Above than) Agar x>y bo’lsa, o’tishni amalga oshiradi.

JNBE-(Jump if Not Below or Equal) JA kabi.

JAE-(Jump if Above or Equal) Agar x≥y bo’lsa, o’tishni amlga oshradi.

JNB-(Jump if Not Below) JAE kabi

C++ tilida tarmoqlash

  • If(mantiqiy_shart)
  • u_holda tarmog’i

    else

    aks_holda tarmog’i

Assemblerda tarmoqlash

cmp mantiqiy_shart

jxx u_holda

; aks holda tarmog’ining dastur kodi

jmp taqqoslash_oxiri

u_holda:

; u holda tarmog’ining dastur kodi

taqqoslash_oxiri:

Misol...

Berilgan ikkita butun sonning kattasini ekranga chiqruvchi dastur tuzish talab qilingan bo’lsin.

%include "nasm-io.inc"

  • %include "nasm-io.inc"
  • section .bss
  • a resd 1
  • b resd 1
  • section .text
  • global _main
  • _main:
  • chop_et 'Ikkita butun son kiriting:'
  • qabul_qil '%i %i',a,b
  • mov eax,[a]
  • mov ebx,[b]
  • cmp eax,ebx
  • jg u_holda
  • chop_et 'Kattasi: %i',ebx
  • jmp tamom
  • u_holda:
  • chop_et 'Kattasi %i', eax
  • tamom:
  • ret

Takrorlanuvchi jarayonlarni dasturlash...

  • Assemblerda takrorlanuvchi jarayonlarni boshqarish uchun tarmoqlash buyruqlaridan foydalaniladi
  • loop buyrug’idan foydalaniladi.

Misol...

Ekranda 10 marta “Salom” so’zini chop etish kerak bo’lsin.


C++ tilida:

a=0;


while(a!=10)

{

cout<<“Salom\n”;



a++;

}

Assembler tilida...

  • %include "d:\Z_NASM\nasm-io.inc"
  • section .text
  • global _main
  • _main:
  • mov eax,0
  • xalqa_boshi:
  • cmp eax,10
  • jne xalqa
  • jmp tamom
  • xalqa:
  • chop_et 'Salom\n'
  • add eax,1
  • jmp xalqa_boshi
  • tamom:
  • ret

loop buyrug’i yordamida

  • mov eax,0
  • mov ecx,10
  • xalqa_boshi:
  • add eax,ecx
  • loop xalqa_boshi

Assemblerda yozilgan dasturni ishga tushirish bosqichlari


NASM kompilyatorida:

>nasm –f win32 fayl_nomi.asm

>copy fayl_nomi.obj d:\obj_nomi.obj

GCC kompilyatorida:

>gcc d:\obj_nomi.obj -o natija.exe



>natija.exe

Qo‘shimcha o‘qish uchun adabiyotlar

  • F.Sh.Jo’rayev “Assembler tili va kompyuterdagi jarayonlar”. 2012 yil.
  • Э.Таненбаум «Архитектура компьтера» 2003 г.
  • Randall Hyde WRITE GREAT CODE, Volume 2: Thinking Low-Level, Writing High-Level. 2020.
  • Е.А. Кузьменкова, В.С. Махнычев, В.А. Падарян. Семинары по курсу «Архитектура ЭВМ и язык ассемблера»: учебно методическое пособие. 2012.

Download 126,92 Kb.

Do'stlaringiz bilan baham:
1   2   3




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish