هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 ·...
Transcript of هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 ·...
![Page 2: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/2.jpg)
2
دستورات زبان اسمبلی
دستورات محاسباتیجمع•جمع به کمک بیت نقلی•تفریق•تفریق با بیت قرضی•گسترش بایت به کلمه•LONGگسترش کلمه به •ضرب•تقسیم•منفی کردن•کاهش•افزایش•BCDجمع •
BCDتفریق ••...
![Page 3: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/3.jpg)
3
ADD DEST,SRC
DEST←DEST+SRC
PF
OF
CF
SF
ZF
AF
(ADD)جمع
![Page 4: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/4.jpg)
4
(ADD)جمع
ADD AX, BX AX ← AX+ BX
ADD AX, M AX ← AX+ M
ADD M,AX M ← M+ AX
ADD M,N
ADD AL,CX
ADD CX,0FC25H CX ← CX+ 0FC25H
CORRECT
ERROR
![Page 5: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/5.jpg)
5
(ADC)جمع با بیت نقلی
ADC DEST,SRC
DEST←DEST+SRC+ CF
PF
OF
CF
SF
ZF
AF
![Page 6: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/6.jpg)
6
(SUB)تفریق
SUB DEST,SRC
DEST←DEST-SRC
PF
OF
CF
SF
ZF
AF
![Page 7: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/7.jpg)
7
(SBB)تفریق به کمک بیت قرضی
SBB DEST,SRC
DEST←DEST-(SRC+CF)
PF
OF
CF
SF
ZF
AF
![Page 8: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/8.jpg)
8
WORDبه BYTEگسترش
بیت عالمت
0
0 x x x x x x x0 0 0 0 0 0 0 0
x x x x x x x
![Page 9: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/9.jpg)
9
wordبه byteگسترش
بیت عالمت
1
1 x x x x x x x1 1 1 1 1 1 1 1
x x x x x x x
![Page 10: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/10.jpg)
10
دستورات گسترش داده•CBWConvert Byte to Word
ALAX
•CWDConvert Word to double
AXDX,AX
•CWDEConvert Word to extended double word
AXEAX
![Page 11: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/11.jpg)
11
INCREAMENTافزایش
INC OPERAND INC MEM
INC REG8
INC REG16
INC REG32
مثال
INC X
INC AL
INC CX
INC EBX
OF SF ZF AF PF CF
![Page 12: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/12.jpg)
12
DECREAMENTکاهش
DEC OPERAND DEC MEM
DEC REG8
DEC REG16
DEC REG32
مثال
DEC X
DEC AL
DEC CX
DEC EBX
OF SF ZF AF PF CF
![Page 13: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/13.jpg)
13
NEGATIVEقرینه کردن
OF SF ZF AF PF
NEG OPERAND
NEG REG8
NEG REG16
NEG REG32
NEG MEM
CF
NEG CL
NEG AX
NEG EBX
NEG X
مثال
قرینه کردن معادل با مکمل
دو عدد است
![Page 14: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/14.jpg)
14
(MUL) ضرب
MUL
BYTE * BYTE
BYTE * WORD
WORD * WORD
WORD
DOUBLE
DOUBLE
![Page 15: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/15.jpg)
15
MUL
BYTE * BYTE WORD
MUL OPERAND
AX ← OPERAND * AL
![Page 16: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/16.jpg)
16
مثال
AX=200*100=20000
MOV AL,100
MOV BL,200
MUL BL
استALدر ضرب بایت در بایت همیشه یکی از اپرند ها
MOV AL,100
MUL 55AX=55*100=5500
![Page 17: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/17.jpg)
17
MUL
WORD * WORD DOUBLE
MUL OPERAND
DX AX ← OPERAND * AX
![Page 18: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/18.jpg)
18
مثال
MOV AX,1000
MOV CX,5000
MUL CX(DX,AX) ← AX * CX
4C 4B40
AXDX
![Page 19: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/19.jpg)
19
MUL
WORD * BYTE WORD * WORD DOUBLE
CWD
MOV AL,100
CBW
MUL BX
MOV AX,0064H
MUL BX(DX,AX)←AX*BX
![Page 20: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/20.jpg)
20
ضرب
(UNSIGNED)ضرب اعداد بی عالمت •
(SIGNED)ضرب عالمتدار •MUL
IMUL
AXیا ALهمیشه یکی از اپراند ها در
قرار دارد
یا در AXنتیجه محاسبات در
(DX,AX )قرار می گیرد
![Page 21: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/21.jpg)
21
DIVISIONتقسیم
DIV
WORD ÷ BYTE
DOUBLE ÷ WORD
AX ÷ byte
(DX AX) ÷ word
![Page 22: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/22.jpg)
22
DIV
DIV OPERAND8
AL
AH
OPERAND8AX
DIV OPERAND16
AX
DX
OPERAND16DX,AX
![Page 23: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/23.jpg)
23
مثال
MOV AX,102
MOV CL,5
DIV CL
AL = AX / CL=20
AH= AX % CL = 2
MOV DX,4040H
MOV AX,1200H
MOV BX,500H
DIV BX
(DX,AX)=40401200H
AX= (DX,AX) / BX
DX=(DX,AX) % BX
MOV AX, 1000
DIV 120ERROR
عملوند تقسیم نمی تواند
عدد باشد
![Page 24: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/24.jpg)
24
تقسیم
عالمتدار •
بی عالمت•div
idiv
AXیا ALخارج قسمت در
ر قرار می گیرد و باقیمانده د
AH یاDXقرار میگیرد
همواره عملوند اول تقسیم
قرار AXیا (DX,AX)در
دارد
![Page 25: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/25.jpg)
XCHGدستور
برای مبادله داده استفاده می شود•
XCHG dst,src
با هم مبادله dstو srcپس از اجرای دستور محتوای .می شوند
هیچ یک از طرفین نباید ثابت باشد. 1
هر دو نمی تواند متغیر باشد. 2
بر روی فلگ ها اثری ندارد. 3
طرفین باید هم اندازه باشند. 4
25
![Page 26: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/26.jpg)
LEAدستورالعمل
. می باشدLoad effect addressاین دستورالعمل مخفف کلمات :شکل کلی دستورالعمل بصورت زیر می باشد
LEA destination, source
destinationوبودهبیتی16ثباتیکبایستیsourceمیحافظهبهرجوعیگونههر.دهدمیقرارdestinationدرراsourceآدرسدستورالعملاین.باشد
:مثال
LEA BX , X
.قرار می گیردBXدر ثبات Xآدرس متغییر
.این دستورالعمل معادل دستورالعمل زیر می باشدMOV BX , OFFSET
![Page 27: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/27.jpg)
دستورات کنترلی
انشعاب غیرشرطی•GOTOمشابه دستور –
انشعاب شرطی•IFمشابه با –
![Page 28: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/28.jpg)
JMP
JMP LABEL
MOV AX , 100
L1 : INC AX
ADD AX,BX
JMP L1
حلقه بی نهایت
:این دستور دارای فرم زیر است. ال می باشدکدر پاسgotoشبیه JMPدستور
![Page 29: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/29.jpg)
CMP
(COMPARE)مقایسه دو عدد•
CMP OP1,OP2
OP1-OP2
OF
SF
ZF
AF
DF
CF
OP1=OP2 0 1
OP1>OP2 0 0
OP1<OP2 1 0
ZFCF
OP1 وOP2دتغییر نمی کنن
عمل نموده ولی نتایج در جایی ذخیره نمی شود SUBدستورالعمل مانندCMPدستورالعمل .بلکه محتوی فلگ ها را تغییر می دهد
![Page 30: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/30.jpg)
CMP AX,BX
CMP AX, Z
CMP Z, AX
CMP AX,120
CMP 120,Y
CMP 200, CX
ERROR
CORRECT USE
![Page 31: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/31.jpg)
زبان اسمبلیدر حلقه تکرار
تعداد دفعاتی که بدنه حلقه باید اجرا ،در همه زبان های برنامه سازیFORدر حلقه تکرار قرار داد و CXدر زبان اسمبلی این تعداد را بایستی در ثبات . شود از قبل معین می باشد
.می باشدLOOPدستورالعمل تکرار دستورالعمل
:شکل کلی عبارتست از
LOOP Statement _ label
![Page 32: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/32.jpg)
LOOP
کم می کند CXهر بار یک واحد از •صفر نباشدCXپرش زمانی انجام میشود که •مناسب استFORبرای ایجاد حلقه •
MOV AX,0
MOV X,AX
MOV CX,20
FOR : MOV AX,X
INC X
INC AX
LOOP FOR
X=0;
For(i=0;i<20;i++)
X++;
![Page 33: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/33.jpg)
LOOPZبرابر یک باشدZFمخالف صفر و CXحلقه تا زمانی که •
تکرار می شودI=10;
WHILE ( I # 0) AND (X=1200)
{
X=X+Y
I--;
}
MOV CX,10
LABEL : MOV AX,X
ADD AX,Y
MOV X,AX
CMP AX,1200
LOOPZ LABEL
LOOPZ عالوه برCX ،ZFرا نیز بررسی می کند
( cmpدر مثال فوق در دستور )بالفاصله با غیر صفر شدن نتیجه یک محاسبه
ZF=0شده و از حلقه خارج میشود
WHILE ( CX#0) AND ( ZF=1)
{
}
دقیقا مثل LOOPEدستور •LOOPZاست
![Page 34: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/34.jpg)
LOOPNZ
:تکرارتا زمانی که •–CXصفر نشدهنتیجه محاسبات غیر صفر شود–
خروج از حلقه•–CXصفر شود(تساوی) نتیجه محاسبه صفر شود –
WHILE(CX#0) AND (ZF=0)
{
}
هم به همین معنی بکار برده میشودLOOPNEدستور
![Page 35: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/35.jpg)
:مثال
MOV CX , 10
FOR :
.
.
.
CMP BX , 0
LOOPNE FOR
![Page 36: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/36.jpg)
دستورات پرش شرطی
این دستورات از فلگ ها اثر می پذیرند•قبل از این دستورات پردازش الزم جهت تغییر فلگ ها •
انجام میشود
دستورات پرشی
مبتنی بر فلگ ها
برای اعداد عالمتدار
برای اعداد بی عالمت
![Page 37: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/37.jpg)
پرش مبتنی بر فلگ ها
JUMP SIGN (NEGATIVE)
JUMP NOT SIGN (POSITIVE)
JUMP CARRY
JUMP NOT CARRY
JUMP OVERFLOW
JUMP NOT OVERFLOW
JUMP PARITY
JUMP NOT PARITY
SF=1
SF=0
CF=1
CF=0
OF=1
OF=0
PF=1
PF=0
JS
JNS
JC
JNC
JO
JNO
JP
JNP
![Page 38: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/38.jpg)
پرش برای اعداد بی عالمت
JUMP EQUAL
JUMP NOT EQUAL
JUMP ABOVE
JUM ABOVE OR EQUAL
JUMP BELOW
JUMP BELOW OR EQUAL
JE
JNE
JA
JAE
JB
JBE
OP1=OP2
OP1#OP2
OP1>OP2
OP1>=OP2
OP1<OP2
OP1<=OP2
![Page 39: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/39.jpg)
پرش برای اعداد عالمتدار
JUMP EQUAL
JUMP NOT EQUAL
JUMP GREATER
JUMP GREATER OR EQUAL
JUMP LESS
JUMP LESS OR EQUAL
OP1=OP2
OP1#OP2
OP1>OP2
OP1>=OP2
OP1<OP2
OP1<=OP2
JE
JNE
JG
JGE
JL
JLE
![Page 40: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/40.jpg)
:مثال JZ END _ WHILE
برابر، یک باشدZFاین دستورالعمل بدین معنی است که اگر فلگ منتقل می گرددEND _ WHILEکنترل به دستورالعمل با برچسب
.در غیر این صورت کنترل به دستورالعمل بعدی می رود
![Page 41: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/41.jpg)
:نکته در صورتی که عملوندها بدون عالمت در نظر گرفته شوند از CMPتور سپس از د
:دستورالعملهای پرش شرطی زیر می توان استفاده نمود
فلگها برای پرشمعنینام دستورالعمل
Jaپرش در حالت باالترCF=0,ZF=0
Jnbeپرش در حالت پایین یا مساوی
Jaeپرش در حالت باالتر یا مساویCF=0
Jnbپرش در حالت پایین تر نبودن
Jbپرش در حالت پایین ترCF=1
Jnaeدنپرش در حالت پایین تر یا مساوی نبو
Jbeپرش در حالت پایین تر یا مساویZF=1 یا CF=1
Jnaپرش در حالت باالتر نبودن
![Page 42: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/42.jpg)
:نکته
ند در صورتیکه عملوندها با عالمت در نظر گرفته شوCMPپس از دستور :از دستورالعملهای پرش شرطی زیر می توان استفاده نمود
فلگها برای پرشمعنینام دستورالعمل
Jgپرش در حالت بزرگترSF=OF,ZF=0
Jnleدنپرش در حالت کوچکتر یا مساوی نبو
Jgeپرش در حالت بزرگتر یا مساویSF=OF
Jnlپرش در حالت کوچکتر نبودن
Jlپرش در حالت کوچکترSF<>OF
Jngeنپرش در حالت بزرگتر یا مساوی نبود
Jle1پرش در حالت کوچکتر یا مساوی=ZF یاSF<>OF
Jnaپرش در حالت بزرگتر نبودن
![Page 43: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/43.jpg)
JCXZدستورالعمل
انجامفلگیرویپرشمنتهی.باشدمیپرشنوعیکJCXZستورالعملدمیانجامپرشباشدصفربابرابرCXثباتمقدارچنانچهبلکهشودنمی:باشدمیزیربصورتکلیشکل.شود
JCXZ Statement _ label
![Page 44: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/44.jpg)
:مثال
MOV CX , 50
LABI: .
.
.
DEC CX
JCXZ LABEND
JMP LABI
LABEND:
.بار اجرا گردد50دستورالعملهای فوق باعث میشود که بدنه دستورالعمل تکرار
![Page 45: هتسجخ شوایس :سردمbayanbox.ir/view/7780388981855335990/Assembly... · 2016-07-17 · loopz دشاب کی رباربzf و رفص فلامcx هک ینامز ات هقلح•](https://reader031.fdocument.pub/reader031/viewer/2022011912/5f9dc2950a2ac3769365ee33/html5/thumbnails/45.jpg)
45