Penza davlat universiteti


-bob. AVR assemblerining tavsifi



Download 2,18 Mb.
bet14/59
Sana18.07.2022
Hajmi2,18 Mb.
#818791
1   ...   10   11   12   13   14   15   16   17   ...   59
Bog'liq
6666666 (1)

5-bob. AVR assemblerining tavsifi




manba kodi talablari
Kompilyator ko'rsatmalar, teglar va direktivalarni o'z ichiga olgan manba fayllari bilan ishlaydi. Ko'rsatmalar va ko'rsatmalar odatda bir yoki bir nechta operandlarga ega.
Kod qatori 120 belgidan oshmasligi kerak. Har
qanday satr yorliq bilan boshlanishi mumkin, bu ikki nuqta bilan tugaydigan belgilar to'plamidir. teglar ishlatiladi
o'tish paytida boshqaruv o'tkaziladigan joyni ko'rsatish, shuningdek o'zgaruvchilar nomlarini ko'rsatish.
Kirish satri to'rtta shakldan birini olishi mumkin:
[label:] direktiva [operandlar] [Izoh] [label:] ko'rsatma [operandlar] [Izoh] [;Izoh] Bo'sh qator

Sharh quyidagi shaklga ega: ; [Matn]


Kvadrat qavs ichidagi pozitsiyalar ixtiyoriy. Nuqtali verguldan (;) keyin va satr oxirigacha bo'lgan matn kompilyator tomonidan e'tiborga olinmaydi. Yorliqlar, ko'rsatmalar va ko'rsatmalar quyida batafsilroq tavsiflanadi.
Misollar:
label: .EQU var1=10 ; Var1 ni 10 ga o'rnatadi (bu ko'rsatma)

.EQU var2=200 ; var2 dan 200 gacha testlarni o'rnatadi: rjmptest; Infinite Loop (Bu ko'rsatma); Faqat bitta


izohli qator
; Izoh bilan boshqa qator
Kompilyator qatorning ma'lum bir ustunida yorliqlar, direktivalar, sharhlar yoki ko'rsatmalarni topishni talab qilmaydi. AVR protsessor
bo'yicha ko'rsatmalar
Quyida AVR protsessorlari uchun buyruqlar to'plami keltirilgan, ularning batafsil tavsifini rasmiy veb-saytdagi assembler tavsifida topish mumkin (ingliz tilida, ma'lumotlar yangilanmoqda) [1].

o'ttiz



Arifmetik va mantiqiy ko'rsatmalar

MnemonicOperands tavsifi yig'indisi
Operatsiya
Bayroqlar sikllari


Rd, Rr qo'shing
ADC Rd, Rr
yuk tashish yig'indisi yo'q
transfer bilan
Tashishsiz
Rd = Rd + Rr Z,C,N,V,H,S 1
Rd = Rd + Rr + CZ,C,N,V,H,S 1

SUB
SUBI
SBC
Rd, Rr
Rd, K8
Rd, Rr

ayirish ayirish kon


stunts

Ayirish transfer bilan


Rd = Rd - Rr Z,C,N,V,H,S 1
Rd = Rd - K8 Z,C,N,V,H,S 1
Rd = Rd - Rr - CZ,C,N,V,H,S 1


ANDI ko'chasi, K8


Mantiqiy VA doimiy bilan
Rd=Rd^K8
Z, N, V, S

bitta







Ayirish

SBCI

Rd, K8

konstantalar Rd = Rd - K8 - CZ,C,N,V,H,S 1 transfer bilan

VA Rd, Rr




Mantiqiy VA Rd = Rd^Rr Z, N, V, S



bitta

YOKI
Rd,Rr Mantiqiy YOKI Rd = Rd V Rr
Mantiqiy OR
Z, N, V, S

bitta


ORI

EOR Rd, Rr


COM
NEG
SBR
Rd, K8
Rd
Rd
Rd, K8
doimiy bilan

Mantiqiy
eksklyuziv


YOKI

Bitta
inversiya Belgini o'zgartirish


(Qo'shimcha kod)
Beatni o'rnating (bitlar) registrdagi
registrdagi bit(lar)ni
Rd = Rd V K8 Z,N,V,S
Rd = Rd ÿ EOR Rr Z,N,V,S
Rd = $FF - Rd Z,C,N,V,S
Rd = $00 - Rd Z,C,N,V,H,S 1
Rd = RdV K8 Z,C,N,V,S

bitta


bitta

bitta


bitta

CBR Rd, K8
tiklash
Rd = Rd ^ ($FF -
K8)
Z, C, N, V, S

bitta



INC
DEC


TST
Rd oshirish
ro'yxatga olish qiymati


Rd Kamaytirish
ro'yxatga olish qiymati

Nolinchi tekshirish


Rd yoki salbiy ness

Rd = Rd + 1


Rd = Rd -1

Rd = Rd ^ Rd Z,C,N,V,S


Z, N, V, S


Z, N, V, S

bitta


bitta

bitta





MnemonicOperands tavsifi
Operatsiya
Bayroqlar sikllari

CLR
Rd Ro'yxatdan o'tishni tozalash
Rd = 0
Z, C, N, V, S
bitta

SER Rd


ADIW Rdl, K6


SBIW Rdl, K6


MUL Rd, Rr
MULS Rd, Rr

MULSU Rd, Rr


FMUL Rd, Rr

FMULS Rd, Rr


FMULSU Rd, Rr
O'rnatish

ro'yxatdan o'tish


katlama doimiy
va so'z
Ayirmoq doimiy
so'zdan

Raqamni ko'paytirish imzosiz


Raqamni ko'paytirish
imzolangan

Raqamni ko'paytirish


imzolangan

raqam bilan


imzosiz
Ishorasiz kasr sonlarni
ko'paytirish
kasrlarni ko'paytirish
imzolangan raqamlar
Kasrlarni ko'paytirish
imzolangan
imzosiz raqam bilan

Rd = $FF
Rdh:Rdl = Rdh: Rdl + K6


Rdh:Rdl = Rdh:Rdl - K 6


R1:R0 = Rd * Rr


R1:R0 = Rd * Rr

R1:R0 = Rd * Rr


R1:R0 = (Rd * Rr) << 1


R1:R0 = (Rd *Rr) << 1


R1:R0 = (Rd * Rr) << 1

Yo'q

Z, C, N, V, S

Z, C, N, V, S


Z, C
Z, C

Z, C
Z, C


Z, C
Z, C


bitta


2

2
2
2


2
2

2
2


Tarmoqqa oid ko'rsatmalar



Mnemonik operandlarning tavsifi
Qarindosh
Operatsiya
Bayroqlar sikllari

RJMP
IJMP

EIJMP
JMP


k
Yo'q

Yo'q
k


o'tish
(Z) ga bilvosita o'tish


kengaytirilgan


(Z) ga bilvosita o'tish

O'tish
PC=PC+k+1


PC=Z

STACK=Kompyuter+1,


Kompyuter (15:0) = Z,
Kompyuter (21:16) =
EIND PC=k
Yo'q 2
Yo'q 2
Yo'q 2
Yo'q 3

Mnemonik operandlarning tavsifi

Qarindosh


Operatsiya
Bayroqlar sikllari

RCALL


MEN QO'NG'IROQ QILAMAN

EICALL

QO'NG'IROQ
k
Yo'q
Yo'q
k

qo'ng'iroq qiling


tartiblar


Bilvosita qo'ng'iroq (Z)
kengaytirilgan bilvosita
qo'ng'iroq (Z)

Qo'ng'iroq qiling


tartiblar


STACK=Kompyuter+1,
Kompyuter = PC + k + 1
STACK=Kompyuter+1,
PC=Z

STACK=Kompyuter+1, Kompyuter (15:0) = Z, Kompyuter (21:16) = EIND


STACK=Kompyuter+2,
PC=k
Yo'q
Yo'q
Yo'q
Yo'q
3/4*
3/4*

to'rt*
4/5*



RET
RETI


Yo'q
Yo'q


Pastki dasturdan qaytish


Interruptdan qaytish

Kompyuter = STACK Yo'q


PC=STAK I

4/5*
4/5*



CPSE
CP




Rd, Rr
Rd, Rr
Taqqoslang, agar teng bo'lsa, o'tkazib yuboring
Taqqoslash

agar (Rd ==Rr) PC =


Kompyuter 2 yoki 3
Rd-Rr

Yo'q
Z,C,N,V,H,S 1


1/2/3



CPC
CPI




Rd, Rr
Rd, K8
Qalam bilan solishtirish
burun


Doimiy bilan solishtiring

Rd - Rr - CZ,C,N,V,H,S 1


Rd - KZ,C,N,V,H,S 1


SBRC

Rr, b
Agar o'tkazib yuboring
= registrdagi bit
yoki 3 tozalandi


if(Rr(b)==0) Kompyuter
Kompyuter + 2

Yo'q

1/2/3



SBRS

SBIC


Rr, b

P, b


Agar o'tkazib yuboring
= registrdagi bit
yoki 3 o'rnatilgan

Agar o'tkazib yuboring portdagi bit


tozalandi


if(Rr(b)==1) Kompyuter
Kompyuter + 2
agar(I/O(P,b)==0)
Kompyuter = Kompyuter + 2 yoki 3

Yo'q

Yo'q

1/2/3

1/2/3



SBIS

BRBC


P, b

s,k
Agar o'tkazib yuboring portdagi bit o'rnatilgan


Agar sakrash
SREGdagi bayroq
tozalangan

agar(I/O(P,b)==1)


Kompyuter = Kompyuter + 2 yoki 3
agar(SREG(lar)==0)
Kompyuter = PC + k + 1

Yo'q

Yo'q

1/2/3

1/2



BRBS

s,k
Agar sakrash SREGda bayroq o'rnatilgan

agar(SREG(lar)==1)


Kompyuter = PC + k + 1

Yo'q

1/2





Mnemonik operandlarning tavsifi


Operatsiya


Bayroqlar sikllari




BREQ BRNE


BRCS
BRCC


BRSH
BRLO
BRMI
BRPL
k Agar sakrash teng


k Agar sakrash
teng emas
Agar sakrash
k o'rnatishlarni uzatish
zig'ir


k Agar sakrash transfer tozalandi


k Agar sakrash
teng yoki undan katta


k Agar sakrash
Kamroq


k Agar sakrash minus


k Agar sakrash
ortiqcha
agar(Z==1) PC = PC
+ k + 1

agar(Z==0) PC = PC


+ k + 1

agar(C==1) PC = PC


+ k + 1

agar(C==0) PC = PC


+ k + 1

if(C==0) PC = PC ga


+ k + 1

agar(C==1) PC = PC


+ k + 1

agar(N==1) PC = PC


+ k + 1

agar(N==0) PC = PC


+ k + 1

Yo'q
Yo'q


Yo'q
Yo'q
Yo'q
Yo'q
Yo'q
Yo'q

1/2
1/2


1/2
1/2
1/2
1/2
1/2
1/2


BRGE
Agar sakrash


k katta yoki teng

if(S==0) PC = PC dan


+ k + 1

Yo'q

1/2


(imzolangan) Agar o'tish



BRLT

k Kamroq
(imzolangan)

Agar sakrash


agar(S==1) PC = PC
+ k + 1

Yo'q

1/2


BRHS
k Kompyuterning ichki baify(Hro=g='i1) PC =
Yo'q
1/2

tashish to'plami
+ k + 1



BRHC


k


Agar sakrash
kompyuter bayrog'i tashish tozalandi

if(H==0) PC = ichki
+ k + 1

Yo'q


1/2


BRTS


k


Agar sakrash T
bayrog'i o'rnatiladi

agar(T==1) PC = PC
+ k + 1

Yo'q


1/2


BRTC

k

Agar sakrash
T belgisi tozalandi

agar(T==0) PC = PC
+ k + 1

Yo'q

1/2

BRVS


k


Agar sakrash
toshib ketgan bayroq
niya o'rnatildi

agar(V==1) PC = PC


+ k + 1

Yo'q


1/2


BRVC


k


Agar sakrash
toshib ketgan bayroq
tozalangan

agar(V==0) PC = PC
+ k + 1

Yo'q


1/2





Mnemonik operandlarning tavsifi
Operatsiya
Bayroqlar sikllari



BRIE


k


Agar sakrash
uzilishlar yoqilgan

agar(I==1) PC =
PC + k + 1

Yo'q


1/2


BRID


k


Agar sakrash uzilishlar o'chirilgan

agar(I==0) PC =


PC + k + 1

Yo'q


1/2


* Ma'lumotlarga kirish operatsiyalari uchun tsikllar soni ichki ma'lumotlar xotirasiga kirish
sharti bilan belgilanadi va tashqi ma'lumotlar bilan ishlashda to'g'ri emas.
RAM. CALL, ICALL, EICALL, RCALL, RET va RETI ko'rsatmalari uchun 16 bitdan (128 KB dastur xotirasi) kompyuterga ega bo'lgan kontrollerlarda har bir kutish uchun uchta sikl
qo'shilishi kerak va har bir kutish uchun ikkita sikl qo'shilishi kerak. Xotiraga ega qurilmalar uchun
128 KB dan ortiq dasturlar uchun beshta davr va har biri uchun uchta tsikl qo'shing kutish.

Download 2,18 Mb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   ...   59




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