10-mavzu: Assembler tilida dasturlash asoslari Reja Assembler tilining sintaksisi



Download 470,84 Kb.
Sana12.07.2022
Hajmi470,84 Kb.
#778976
Bog'liq
hCexZttNAaKOffW96HnQwHB0bpNAxMCI7kmAcLBx

10-mavzu: Assembler tilida dasturlash asoslari


Reja
Assembler tilining sintaksisi
Yusupov R.A., 2021
Assembler nima
Bitta berilgan matn buyrug’iga, protsessorning bitta ko’rsatmasi mos keladigan ramziy til.
Mashina kodining matnli anologi.
Quyi darajali tizimli dasturlash.
Protsessorning mikroarxitekturasini aks ettiradi.
IA-32 (x86) protsessori
MASM
TASM
FASM
NASM
ASM…
Yusupov R.A., 2021
Biz MASM32 kompilyatoridan foydalanamiz. MASM32 (Macro ASseMbler) 32-razriyadli protsessor uchun mo’ljallangan:
Yusupov R.A., 2021
MASM32 Editor oynasining ko’rinishi:
Yusupov R.A., 2021
MASM32 da yozilgan dasturga misol:
Yusupov R.A., 2021
Dastur seksiyalari
Buyruqlar
Makroslar
Direktivalar
Izohlar
Yusupov R.A., 2021
Belgilar
Lotin alifbosining barcha harflari: A—Z, a—z. Bu yerda jimlik holatida bosh va kichik harflar farqlanmaydi.
(Lekin - option casemap: none ).
0 dan 9 gacha bo’lgan raqamlar;
Belgilar ?, @, $, _, & . Ular ham harflar deb sanaladi;
Ajratuvchilar , . [ ] ( ) < > { } + / * % ! ' " \ = # ^ .
Ism uzunligi – 32 belgigacha. Ism raqam bilan boshlanmasligi kerak.
Yusupov R.A., 2021
Sonlar tavsifi

O’nlik

16-lik
Hexadecimal, hex

Binar ikkilik

Nt dd 12100

Part1 dw 11h, 0A6h

Mov ESI , 0011010101B

Mass dw 1,2,3,5,10

Arr dd 0ah, 0bh, 0ch, 0bfh

Tabl db 01b, 101B,1001b

Mov EAX, 255

Xor EDX, 0A0b0c0dH

AND AL, 11110000B

Lea EDI, 128*4/(3+6)

Mov EAX, (9-0Fh)*33h

Add AX, 1010b OR 1110B

Yusupov R.A., 2021
Nishonlar
Adresli o’zgarmaslarning nomlari. Ism siljish adresi (son).
Nishon – bu o’zgaruvchilarmi?
.MODEL FLAT, stdcall
.DATA
FVal dd 0
F dd 12
.CODE
Factorial5 proc
mov eax,401000h
mov eds,eax
mov [FVal],1
mov [F],2
mov ecx,4
Loop5:
mov eax,[FVal]
mul [F]
mov [FVal],eax
inc [F]
LOOP Loop5
ret
Factorial5 endp
end Factorial5
Quyidagilarga havola:
  • Son
  • Satrlarga
  • Buyruq kodiga
  • Protseduraga kirish nuqtasiga

Unikal (o’ziga xoslik)
Yusupov R.A., 2021
Buyruqlar nomi (mnemonikalar)
ML.EXE kompilyatori buyruqlarni mashina (ob’yektli) kodiga o’giradi.

MOV

Move

ADD

Add

XCHG

Exchange

CMP

Compare

PUSH

Push

CALL

Call

RET

Return

JMP

Jump

Ularning hammasi – kalitli so’zlardir.
Jami 150 atrofida.
Yusupov R.A., 2021
Direktivalar
A) Kompilyator xatti-harakatini o’zgartirish
.386
.model flat, stdcall
option casemap: none
End entry_point
B) «Kompilyator! Men uchun chora ko’r!»
Mov EAX, offset Num
Kod yo’q.
Yusupov R.A., 2021
Ifodalar
O’zgarmas o’rnida.
mov bx, OFFSET MemVar + (3*2) - 5
Operatsiyalar ko’p.
+ - * /(butun) mod
EQ NE LT LE GT GE
And Or Xor Not
[ ] indeksli
mov bx, 156H MOD 12H
mov al, tab_size GE 50 ; 0 yoki 1
Cmp AL, mas[esi] ; трактуется как (mas + ESI)
O’zgarmas kabi qatnashishi kerak
mov ebx, 15A6H MOD AX ; xato
Yusupov R.A., 2021
Ma’lumotlarni joylashtirish
DB, DW, DD, DQ, DT. . . Masalan, DW – “Define Word”
Ifoda
.data
N1 dd 1, 6, 0aah, ?, ?
Mass4 dw 0
Arr dw 100 dup (200h)
Dozen dd 12
L dd 12 dup (Dozen)
Yusupov R.A., 2021
Ma’lumotlarni to’g’ridan-to’g’ri adresi
Name dB “Fizika, Matematika, Dasturlash”, 0
MOV AL, Name ; al = ‘F’
MOV AL, [Name] ; al = ‘F’
MOV AL, Name + 6 ; al = ’,’
MOV AL, Name[6] ; al = ’,’
MOV AL, [Name][6] ; al = ’,’
MOV AL, [Name + 6] ; al = ’,’
Nishon va o’zgarmaslarning ixtiyoriy kombinatsiyasi. Kvadrat qavslar QO’SHISH ma’nosini bildiradi.
Adreslash xotirada HAMISH BITTA JOYGA yo’naltiriladi.
Yusupov R.A., 2021
Ma’lumotlarni bilvosita adreslash
Name dB “Matematika, Fizika, Dasturlash”, 0
; Vergul belgisi adresini hisoblab va uni EBXga joylaydi
… … … …
MOV AL, [EBX]; al = ’,’ EBX registrida joylashgan ; adresni olish
Har xil ЕВХ – turli o’qish joyi.
.data ma’lumotlar seksiyasi uchun
Kombinatsiya
[UIR + ESI/EDI + siljish]
.stack stek seksiyasi uchun
Kombinatsiya
[ЕВР + ESI/EDI + siljish]
Yusupov R.A., 2021
Adres modifikatorlari
Nusxa olish vaqtida ma’lumotlarning o’lchamlarini o’zgartirish.
MOV [EAX], 1
0000 0001, 0000 0000 0000 0001, 0000 0000 0000 0000 0000 0000 0000 0001 …
MOV BYTE PTR [EAX], 1
MOV WORD PTR [EAX], 1
MOV DWORD PTR [EAX], 1
Yusupov R.A., 2021
Izohlar
comment * ----------------------------------
Ko’p satrli izohga misol.
Dastur qismi uchun qulay.
---------------------------------- *
; Bir satrli izoh
Mov ax, dx ; ; bilan boshlanadiначинаются
; va satr oxiri belgisi bilan tugaydi
Yusupov R.A., 2021
SAVOLLAR?????
Download 470,84 Kb.

Do'stlaringiz bilan baham:




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