ثبات پرچم (Flag Register)
Download
Report
Transcript ثبات پرچم (Flag Register)
مهدی ایل بیگی
دانشگاه ازاد اسالمی دماوند
.1واحد محاسبه و منطق )(ALU
– واحد محاسبه )(Arithmetic Unit
– واحد منطق )(Logic Unit
.2رجيسترها
.3واحد کنترل )(Control Unit
.4گذرگاه مشترک )(Bus
.5حافظه )(Memory
2
CU
ALU
R0
R1
Rn
DATA
ADDRESS
MEMORY
3
•
حافظه اصلي يک مجموعه منطقي از مکانهايتتي است کته هرکتداع وانتوان ممتال مي وا تد يتک وايت مستتوراااماها يتا مامههتا را يتره مايتد .هتر
واي حافظه اصلي ماراي يک ورچسب عدمي وه اع امرس ميواشد.
محتوي
500
1000
100
1001
250
1002
340
1003
10
1004
410
1005
501
1006
10
1007
ادرس
....
WRITE
4
READ
8bit
DATA 8 BIT
ADDRESS 10 BIT
1024 = 210
READ
WRITE
5
8bit
DATA 8 BIT
ADDRESS 20 BIT
1MB = 220
READ
WRITE
6
32bit
DATA 32 BIT
ADDRESS 28 BIT
256MB = 228
READ
WRITE
7
16bit
DATA 16 BIT
ADDRESS 20 BIT
1MB =
220
READ
WRITE
8
00000
000…00000
20بار
FFFFF
9
111...11111
20بار
F0000-FFFFF
EFFFF
BIOS
BIOS
256KB
BIOS برنامه هاي
BIOS
C0000
BIOS
BFFFF
128KB
حافظه گرافيکي
A0000
9FFFF
9
8
قابل استفاده توسط برنامه ها
640 KB
1
00000
0
10
•
مر پرمازشگر 8086امرس ها 20ويتي اس ،وای چون سلول های حافظه و رجيسترها 16ويتي هستند ،می توان امرس
ها را مر یک سلول حافظه یا مر یک رجیستر یره کرم.
•
راه حا = استفامه از روش امرس مهی ).(Segment-Offset
•
مر این روش حافظه وه وخش )(Segmentهایتتی وه ا دازه 64kقسیم می شوم.
•
ودایا اینکه امرس همه Segmentها مر مبنای شا زمه وه 0تم می شوم (زیرا ضرایبی از 16هستند) ،ایتن صتفر
که ماامل 4وی صفر مر واینری است را مر امرس مهتی اوتتدای هتر Segmentمر ظتر متی گیتریم و مر تیجته متی
وا یم امرس هر Segmentرا وا 16وین مایش مهیم.
11
64KB
64KB
64KB
ابتداي سگمنت
0000
•
Offsetوراوتتر است وتتا امرس یتتک ستتلول
از حافظ ت تته ،مرون ی ت تتک ،Segment
کت تته وراوت تتر وت تتا فاصت تتله ست تتلول مت تتورم ظت تتر مر
حافظت ت تته ،از اوت ت تتداي Segmentمت ت تتی
شوم.
•
و ترای امرس مهتتی هتتر ستتلول از حافظتته ،مر
X
هت ت تتر Segmentي ت ت تتاز و ت ت تته 16وي ت ت ت
ماريم.
64KB = 216
12
FFFF
RAM
SEGMENT : OFFSET
ACF2
ACF2:CF12
CF12
SEGMENT
13
• مرحله اول :وا اضافه کرمن صفر حذف شده ،امرس واقاي سگمن را وايد مي کنيم.
• مرحله موع :جمع امرس شروع سگمن وا افس .
• ممال :امرس 2FC4:412Aرا وه امرس 20ويتي بديا ماييد:
2FC40 +
412A
------------------33D6A
14
:Code Segment .1مستورات ور امه مر این قطاه قرار مار د.
– کتته :هر ور امه ،ازوما واید یک Code Segmentماشته واشند.
:Data Segment .2اگر ور امه یاز وه اریف متغییر ماشته واشد ،این احیه را ماریم.
:Stack Segment .3امرس های محا های وازگش مر موقع فرا وا ی زیتر ور امته هتا و ،...مر
یره می شو د.
این احیه که مر واقع یک پشته اس
:Extra Segment .4وترای یتره اعاعتات وانتوان وختش اضتافی و مر مستتورات کتار وتا رشتته و
،...از این احیه استفامه می شوم.
15
RAM
DATA SEG
DATA
CODE
STACK
CODE SEG
STACK SEG
EXTRA SEG
CODE
EXTRA
DATA
EXTRA
STACK
16
• رجيسترهاي سگمن
• رجيسترهاي مامه
• رجيسترهاي اشاره گر
• رجيسترهاي شا ص
• رجيستر مستوراااما
• رجیستر پرچم
17
•
.های ور امه را گهداري مي کنندSegment امرس شروع،این رجیسترها
15
0
CODE SEGMENT(CS)
15
0
STACK SEGMENT (SS)
15
0
DATA SEGMENT(DS)
15
0
EXTRA SEGMENT(ES)
18
• ثباتهاي DX ،CX ،BX ،AXرا ثباتهاي مامهاي يا ثباتهاي همگا ي ميگويند.
• ثب ت ت ت تتات AXرا و ت ت ت تتا وجت ت ت ت تته و ت ت تته اينک ت ت تته وس ت ت تتياري از ت ت ت تتاي محاس ت ت تتبات مر ان قت ت ت ترار ميگير ت ت تتد ،گ ت ت ت تتاهي اکومو ت ت ت تتور
( )Accumulatorیز مي امند.
15
0
AX
15
0
BX
15
0
CX
15
0
DX
19
•واضی از مستوراااملهای زوان ماشین ،وطور اص ،یاز وه یکی از ایتن ثبتات هتا مارم .امتا مر متورم واضتی
میگر از مستوراااما ها ،استفامه از هر یک از این ثبات ها ،فاو ی می کند.
•استفامه های اص از ثبات های مامه ای:
• :AXورای ا جاع محاسبات استفامه می شوم( .ضرب و قسیم)
• :BXوه عنوان ثبات پایه جه امرس مهی استفامه می شوم.
• :CXوه عنوان ثبات شماره استفامه می شوم.
• :DXویشتر ورای عملیات رشته ای استفامه می شوم.
20
•
هر کداع از ثباتهاي DX ،CX ،BX ،AXرا مي وان وه صورت مو ثبات 8ويتي مستقا يانتي
صف وا وراي 8وي سم چپ و صف پائين وراي 8وي سم راس ،استفامه موم.
•
مر اينجتتا حتتروف Hو Lوتته ر يتتب قستتم وتتا ئي ) (Highو پتتائيني ) (Lowثباتهتتا را شتتان
ميمهند.
7
0
8
AL
0
AH
7
8
BL
0
8
CL
21
15
CH
7
DL
15
BH
7
0
15
8
15
DH
•
رجیسترهای مامه مر 32 ،Pentiumویتی هستند.
•
تتاع ای تتن رجیس تتتر ه تتا EBX, ECX, EDX
Extendedو وه مانی وساه یافته می واشد.
0
EAX,است ت ک تته ح تترف Eس تتر اع
31
EAX
31
0
EBX
31
0
ECX
31
0
EDX
22
.1اشاره گر پشته :مر هر احظه امرس عنصر وا يتتي پشته را گهداري مي کند.
15
0
)(SP
STACK POINTR
.2اشاره گر پايه :مر روش هاي امرس مهي مورم استفامه قرار مي گيرم.
15
0
)BASE POINTER (BP
23
•
مر واضی از مستوراااما های زوان اسمبلی ورای ا تقال رشته ها و کار وتا حافظته از ثبتات هتای شتا ص
استفامه می کنیم.
•
مو رجیستتتر شتتا ص ونتتاع هتتای رجيستتتر مبتتدا ) (Sourceو رجيستتتر مقصتتد )،(Destination
وراي ا تقا ت ولوکي مامه ها استفامه می شو د.
15
0
)SOURCE INDEX (SI
15
0
)DESTINATION INDEX (DI
24
•
ثبتات اشتاره گتر مستتوراااما ) ،IP (Instruction Pointerامرس مستتوراااملي کته وايتد
اجرا شوم را گهداري مي کند.
•
این ثبات 16ويتي اس و وا اجراي هر مستور وسط واحد کنترل ،يک واحد افزايش مي ياود.
•
وانوان ممال مستورات پرش وا غییر ایتن ثبتات واعتی متی شتو د کته ور امته از هتر محتا میگتری قاوتا اجترا
واشد.
25
15 14 13 12
11
10
9
8
R
OF
DF
IF
TF
R
R
R
7
6
SF ZF
5
U
4
3
AF U
2
1
0
PF
U
CF
R = Reserved
ZF = Zero Flag
OF = Overflow
U = Undefined
DF = Direction Flag
AF = Auxiliary Flag
IF = Interrupt Flag
PF = Parity Flag
TF = Trap Flag
CF = Carry Flag
SF = Sign Flag
26
• ( :Carry Flagویت قلتتی) مامتتو ،از محاستتبات تتاثیر متتی پتتذیرم .وترای اعمتتال جمتتع و فریتتق از ایتتن ویت ،
ورای رقتم قلتی استتفامه متی گترمم .مر اعمتاای ما نتد Shiftمامن ویت هتا ،ا ترین ویت Shiftمامه شتده ،مر
این وی قرار می گیرم .همچنین اگر مر اعمال ور روی اعدام وی عام سرریز رخ مهد این وی یک می شوم.
• :Parity Flagاز ایتتن ویت ،مامتتو وترای اشتتکال زمایت تتی مر ا تقتتال اعاعتتات استتتفامه متتی شتتوم .وتته عبتارت
میگر ،ورای کنترل صح اعاعات وه کار می روم .این وی وراساس ادام وی های یک ( ،)1مر 8وی پتایینی
رجیسترها ،یک یا صفر واهد شد .وه عنوان ممال اگر سیستم ما Parityفرم واشد ،مر ایتن صتورت اگتر اتدام
وی های یتک مر 8ویت فترم واشتد ،ا گتاه ویت Parityصتفر متی شتوم و اگتر اتدام ویت هتای یتک زو واشتد،
این وی یک واهد شد.
• :Auxiliary Flagاز این وی ،وته عنتوان ویت جا شتین ویت Carryاستتفامه متی شتوم .اگتر ایتن ویت
یک واشد از وی 3وه وی 4رقم قلی ماشته ایم.
27
• :Zero Flagمر صتور ی کته تیجته عمتتا محاستبا ی 0شتده واشتد ،مقتتدار ایتن ویت 1 ،متی شتتوم .مر
غیر این صورت این وی 0واهد شد.
• :Sign Flagعام تیجه محاسبه شده مر مستور اجرا شده قبلی را شان می مهد .اگر ا ترین ویت
0واشد عام ممب و اگر این وی 1واش عام تیجه منفی اس .
• :Trap Flagورای اجترای مستتور وته مستتور ور امته ،از ایتن ویت استتفامه متی شتوم .اگتر ایتن ویت 1 ،
واشد ،ور امه وه صورت مستور وه مستور اجرا می گرمم و می وان ور امه را Traceکرم.
• :Interrupt Flagوتا استتفامه از ایتن ویت ،متی توا یم کتاری کنتیم کته وقفته هتا ،فاتال یتا غیتر فاتال
گرم د.
وقفه ها فاال
28
IF = 1
وقفه ها غیر فاال
IF = 0
• :Direction Flagاز ایتن ویت ،وترای متایش جهت عملیتات ،وتر روی رشتته هتا استتفامه متی شتوم.
مما جه عملیات مقایسه یا ا تقال رشته را مشخص می ماید.
Left to Right
DF=0
Right to Left
DF=1
• :Overflowمر صتتور ی کتته عمتتا محاستتبا ی وتتر روی اعتتدام عامتتتدار مارای ستترریز واشتتد ،مقتتدار ایتتن
وی 1 ،می شوم و مر غیر این صورت 0واهد شد.
29
حاصا فریقهای زیر را ودس اورمه و مقامیر پرچمهای CF, AF, OF, SF, ZF, PFرا مشخص مایید
1. 10100100 - 10101011
2. 11111111 - 10000000
3. 10000000 - 100000
4. 10 - 1010101
5. 11101 - 10
راهنمایتتی :اوتدا همه اعدام را مر 8وی مایش مهید.
30
31