Presentation is loading. Please wait.

Presentation is loading. Please wait.

دانشگاه صنعتی امیرکبیر باری بی.بری

Similar presentations


Presentation on theme: "دانشگاه صنعتی امیرکبیر باری بی.بری"— Presentation transcript:

1

2 دانشگاه صنعتی امیرکبیر باری بی.بری
ریزپردازنده های اینتل باری بی.بری

3 ثباتهای8086 تا پنتیوم 4 الف- ثباتهای چندمنظوره
ثباتهای8086 تا پنتیوم 4 الف- ثباتهای چندمنظوره

4 ثباتهای8086 تا پنتیوم 4 ب- ثباتهای تک منظوره
ثباتهای8086 تا پنتیوم 4 ب- ثباتهای تک منظوره

5 ثباتهای8086 تا پنتیوم 4 ج- ثباتهای قطعه(Segment)

6 آدرس دهی در مود واقعی حافظه
آدرس آفست+آدرس قطعه=آدرس مود واقعی 

7 آدرس دهی در مود واقعی حافظه
آدرس آفست+آدرس قطعه=آدرس مود واقعی  16× segment + offset

8 Example

9 Default Segment and Offset Registers
CS:IP OR CS:EIP

10 Example CS = 1400H & IP/EIP = 1200H آدرس دستور بعدی=15200H

11 Segment and Offset Addressing Scheme Allows Relocation
Dos OS: Real Mode Windows OS: Protected Mode

12 Selector and Descriptor
G:گرانولیته(دانه بندی) AV:وجود قطعه D:نوع مد

13 Selector and Descriptor: Example

14 ساختار حق دستیابی

15 ثباتهای نامرئی: Program-Invisible Registers

16 فصل 3 روشهای آدرس دهی

17 روشهای آدرس دهی

18 روشهای آدرس دهی

19 1- روشهای آدرس دهی:آدرس دهی فوری

20 روشهای آدرس دهی:آدرس دهی فوری
برچسبها با یکی از کاراکترهای خاص ، . مشخص می شوند. برچسب ممکن است 1 تا 35 کاراکتر داشته باشد. Label Comment Opcode میدان عملوند Label میدان توضیح میدان برچسب میدان کدعمل

21

22 2- روشهای آدرس دهی:آدرس دهی مستقیم
Mov AL,[1234H] OR Mov AL,DS:[1234H] =آدرس مود واقعی(آدرس موثر)10* H=11234H

23 2- روشهای آدرس دهی:آدرس دهی مستقیم انواع روشهای آدرس دهی مستقیم
2- روشهای آدرس دهی:آدرس دهی مستقیم انواع روشهای آدرس دهی مستقیم 1- آدرس دهی مستقیم(روش معمول): استفاده از دستورات سه بایتی برای ذخیره سازی 2- آدرس مستقیم با تغییر مکان (جابجایی): استفاده از دستور چهار بایتی برای ذخیره سازی این روش در تا پنتیوم 4 میتواند تا 7 بایت نیز باشد. انعطاف پذیری بیشتر نسبت به روش قبلی

24 2- روشهای آدرس دهی:آدرس دهی مستقیم

25 روشهای آدرس دهی حافظه برنامه
الف – مستقیم ب- نسبی ج- غیرمستقیم روشهای آدرس دهی با دستورات پرشی (JMP) و فراخوانی (CALL) بکار می روند.

26 روشهای آدرس دهی حافظه برنامه:آدرس دهی مستقیم یا روش دور
JMP [10000H] چند نکته : قالب دستورالعمل

27 روشهای آدرس دهی حافظه برنامه:آدرس دهی نسبی
این روش در ریزپردازنده های قدیمی موجود نیست. در این روش از اشاره گر دستور(IP) استفاده می شود. دستور JMP در این روش یک بایتی است.(جابحایی یک بایتی به صورت کوتاه(Short) و یا نزدیک (Near) پرش کوتاه 8 بیتی است و در محدوده -128 تا +127 انجام میشود. پرش کوتاه 16 بیتی است و در محدوده +32KB تا -32KB انجام می شود. جابجایی 32 بیتی فقط در ریزپردازنده های و بالاتر از آن انجام می شود و فقط مد حفاظت شده را پشتیبانی می کند.

28 روشهای آدرس دهی حافظه برنامه:آدرس دهی غیرمستقیم Example
نکته : ایجاد آرایه M1 db dup (100) M2 db dup (?) پرش 16 بیتی

29 روشهای آدرس دهی حافظه پشته Stack Memory Addressing
پشته برای ذخیره سازی موقت داده ها استفاده می شود. پشته از ساختار LIFO استفاده می کند.(PUSH و POP) حافظه پشته با دو ثبات اشاره گر پشته (SP یا ESP) و ثبات قطعه پشته(SS) نگهداری می شود.

30 روشهای آدرس دهی حافظه پشته Stack Memory Addressing

31 روشهای آدرس دهی حافظه پشته Stack Memory Addressing

32 فصل 4 دستورات انتقال داده
فصل 4 دستورات انتقال داده

33 زبان ماشین زبان ماشین: کد دودویی قابل فهم برای ماشین
دستورات زبان ماشین در 8086 تا پنتیوم 4 ، از 1 الی 13 بایت متغیرند. مثلا دستورات 8086 تا ، 16 بیتی اند. فرمت دستورات 8086 تا 80386: 16 بیتی Prefix اندیس مقیاس دار فرمت دستورات تا P4 : 32 بیتی

34 آنگاه پیشوند Register Size اضافه می شود.
چند نکته: اگر ثبات دستورات 32 بیتی باشد(مثلا از تا P4 ) و بخواهیم در مد 16 بیتی کار کنیم، آنگاه پیشوند Register Size اضافه می شود. اگر بخواهیم با ثبات 16 بیتی در مد 32 بیتی کار کنیم، پیشوند Address Size اضافه می شود. پیشوند Register Size برابر با 66H و پیشوند Address Size برابر با 67H می باشد؟؟؟ میدان MOD روش آدرس دهی را برای دستور انتخابی و وجود/عدم وجود جابجایی را نشان می دهد. Mov AL,[Di] Mov Al,[Di+2] بدون جابجایی

35 چند نکته: قالب OP-CODE اگر D=1 باشد، جریان داده از حوزه R/M به سمت میدان ثبات خواهد بود و اگر D=0 باشد، بالعکس. اگر W=0 سایز داده برحسب بایت و اگر W=1 باشد، سایز داده برابر با کلمه یا کلمه مضاعف درنظر گرفته می شود. D: بیت جهت W: نوع سایز داده

36 Example مثال: دستور دو بایتی 8BECH برای مد 16 بیتی
Mov BP,SP

37 Example مثال: دستور دو بایتی 8BECH برای مد 16 بیتی
Mov BP,SP

38 More Example مثال: دستور 87ACH برای مد 16 بیتی

39 آدرس دهی R/M

40 دستورات PUSH و POP دارای 6 فرم ثباتی،حافظه ای، فوری، ثبات قطعه، پرچمها و همه ثباتها می باشند. دستورات PUSH و POP دستورات ”فوری“ و PUSHA و POPA دستورات ”همه ثباتها“ می باشند که در ریزپردازنده های اولیه 8086 و 8088 وجود ندارند.اما در تا P4 وجود دارند. دستور PUSH در 8088 و 8086 ، دو بایت را به پشته انتقال می دهد ولی در به بعد، دو یا چهاربایت را انتقال می دهد.

41 دستورات PUSH و POP

42 دستورات PUSH و POP

43 Example: PUSH & POP

44 برای مقداردهی اولیه پشته ثباتهای SS و SP بارگذاری می شوند.
برای مثال فرض کنید پشته قرار است در آدرسهای تا 1FFFF قرار داشته باشد آنگاه : SS=1000H SP=0000H ?

45 مقداردهی اولیه پشتهExample:

46 بارکردن آدرس موثر دستورات : LEA-LDS-LES-LFS-LGS-LSS
شکل کلی این دستور: LEA op1 ,op2 مناسب برای دستورات 16 و 32 بیتی دستور LEA بر هیچ فلگی اثر ندارد.

47 بارکردن آدرس موثر تفاوت دستور LEA و MOV
LEA BX,[DI] MOV BX,[DI] LEA BX,[DI]=MOV BX,OFFSET ( مقدار با آدرس ثابت ) دستور OFFSET همیشه با MOV بکار گرفته می شود. زمان اجرای دستور LEA بیشتر از دستور MOV است. (چرا؟؟؟؟) MOV BX,OFFSET [Di] Error

48 بارکردن آدرس موثر More Example

49 بارکردن آدرس موثر More Example

50 بارکردن آدرس موثر More Example

51 بارکردن آدرس موثر More Example

52 بارکردن آدرس موثر More Example

53 بارکردن آدرس موثر دستورات : LDS-LES-LFS-LGS-LSS
هرثبات 16 یا 32 بیتی را با یک آدرس آفست و یا ثباتهای قطعه مانند DS، ES، FS، GS و یا SS را با یک آدرس قطعه بارگذاری می کنند. فقط آدرس دهی حافظه ایی و آنهم برای دستیابی به یک بخش 32 یا 48 بیتی را انجام میدهند. ؟؟؟؟ این دستورات روش آدرسدهی ثباتی(MOD=11) را پوشش نمی دهند. فقط روی پردازنده های به بالا کار می کنند.

54 بارکردن آدرس موثر دستورات : LDS-LES-LFS-LGS-LSS Example:

55 دستورات انتقال رشته LODS-STOS-MOVS-INDS-OUTS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته LODS-STOS-MOVS-INDS-OUTS رشته به بلوکهای پشت سرهم از بایتها یا Wordها گفته می شود. در دستورات رشته ای بیت پرچم جهت در ثبات پرچم (بیت D) و ثباتهای Di و Si نقش بسزایی دارند. بیت D عمل افزایش خودکار(D=0) یا کاهش خودکار(D=1) را برای Si و یا Di انجام می دهد. دستور CLD پرچم D را پاک (D=0) و دستور STD آنرا برقرار(D=1) می کند. (پاک یا Reset و برقرار یا Set) به دستور CLD مد افزایش خودکا ر و به دستور STD مد کاهش خودکار گفته می شود. اگر کلمه رشته ای انتقال یابد DS و SI دو واحد اضافه یا کم می شوند. اگر جفت کلمه رشته ای انتقال یابد DS و SI چهار واحد اضافه یا کم می شوند. در و بالاتر از ESI و EDI بجای SI و DI استفاده می شود. از SI و DI برای دستیابی به حافظه استفاده می شود.

56 دستورات انتقال رشته LODS-STOS-MOVS-INDS-OUTS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته LODS-STOS-MOVS-INDS-OUTS علاوه بر سگمنت داده (Data Segment یا DS) ، برای برخی دستورات رشته ای از سگمنتی اضافی بنام ES یا Extra Segment استفاده می شود.

57 دستورات انتقال رشته MOVS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته MOVS برای کپی کردن یا انتقال یک رشته از یک محل حافظه به محل دیگر. اگر رشته از نوع بایت باشد از MOVSB و اگر از نوع WORD باشد از MOVSW استفاده می شود و ....

58 دستورات انتقال رشته MOVS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته MOVS

59 دستورات انتقال رشته Example : MOVS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته Example : MOVS

60 دستورات انتقال رشته Example : MOVS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته Example : MOVS

61 دستورات انتقال رشته MOVS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته MOVS تمرین : اگر در مثال قبل CLD حذف شود؟

62 دستورات انتقال رشته LODS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته LODS رشته مبداء را در AL ، AX یا EAX قرار می دهد. همانند MOVS، روی هیج فلگی اثر ندارد و برای تکرار رشته از دستور REP استفاده می کند. دارای سه نوع LODSB، LODSW و LODSD می باشد. رشته در Data Segment تعریف می شود و آدرس شروع رشته در SI قرار میگیرد.

63 دستورات انتقال رشته Example : LODS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته Example : LODS

64 دستورات انتقال رشته STOS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته STOS یک بایت یا یک کلمه و یا یک جفت کلمه را از ثباتهای AL یا AX و یا EAX به رشته مقصد منتقل میکند.(دستور ذخیره سازی در AL یا AX و یا EAX) رشته در Extra Segment و آدرس شروع آن در ثبات DI قرار می گیرد.

65 دستورات انتقال رشته Example : STOS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته Example : STOS

66 دستورات انتقال رشته Example : STOS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته Example : STOS

67 دستورات انتقال رشته Example : STOS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته Example : STOS

68 دستورات انتقال رشته Example : STOS
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته Example : STOS

69 دستورات انتقال رشته INS (Input String)
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته INS (Input String) ورود اطلاعات رشته ای از واحد I/O به قسمتی از حافظه آدرس I/O در ثبات DX است آدرس حافظه در ثبات DI است INS در ریزپردازنده های 8086 و 8088 وجود ندارد پشتیبانی از دستور REP

70 دستورات انتقال رشته INS Example:
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته INS Example:

71 دستورات انتقال رشته OUTS (Output String)
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته OUTS (Output String) ورود اطلاعات رشته ای از حافظه به واحد I/O آدرس I/O در ثبات DX است آدرس حافظه در ثبات SI است OutSدر ریزپردازنده های 8086 و 8088 وجود ندارد پشتیبانی از دستور REP

72 دستورات انتقال رشته OUTS Example:
دانشگاه صنعتی امیرکبیر دستورات انتقال رشته OUTS Example:

73 دستورات تبادل داده XCHG-SAHF-LAHF-XLAT-IN-OUT-MOVSX-MOVZX-BSWAP-CMOV
دانشگاه صنعتی امیرکبیر دستورات تبادل داده XCHG-SAHF-LAHF-XLAT-IN-OUT-MOVSX-MOVZX-BSWAP-CMOV

74 دستورات تبادل داده XCHG
دانشگاه صنعتی امیرکبیر دستورات تبادل داده XCHG XCHG op1,op2 For example: XCHG AX,BX OR XCHG EAX,EBX استفاده از تمام روشهای آدرسدهی بجز آدرسدهی فوری op1 و op2 نمیتوانند ثابت باشند. Op1 و op2 باید هردو از یک نوع باشند.(مثلا هردو از نوع بایت یا کلمه یا ....) op1 و op2 نمیتوانند هردو متغیر باشند. XCHG روی هیچ فلگی تاثیر ندارد. روش دیگر جابجایی استفاده از دستور MOV . ؟؟؟؟؟

75 دستورات تبادل داده Example: XCHG
دانشگاه صنعتی امیرکبیر دستورات تبادل داده Example: XCHG

76 دستورات تبادل داده Example: XCHG
دانشگاه صنعتی امیرکبیر دستورات تبادل داده Example: XCHG

77 دستورات تبادل داده LAHF & SAHF
دانشگاه صنعتی امیرکبیر دستورات تبادل داده LAHF & SAHF فاقد عملوند کاربرد بسیار پایین(قابل استفاده در ریزپردازنده های تا 8086) LAHF بایت کم ارزش ثبات فلگ (بیتهای 0 تا 7) را به AH منتقل می کند. SAHF محتوای ثبات AH را به بایت کم ارزش ثبات فلگ (بیتهای 0 تا 7) منتقل می کند. روی هیچ فلگی تاثیر ندارند. SAHF LAHF

78 دستورات تبادل داده XLAT
دانشگاه صنعتی امیرکبیر دستورات تبادل داده XLAT ترجمه یک کاراکتر به کاراکتر دیگر قبل از اجرای این دستور، کاراکتری که باید ترجمه شود در AL قرار میگیرد.سپس برای ترجمه محتوای AL را به BX اضافه می کند. برای ترجمه از جدول ترجمه یا جدول نظاره (look Up Table) استفاده می کند. جدول ترجه در سگمنت داده قرار دارد.

79 دستورات تبادل داده IN-OUT
دانشگاه صنعتی امیرکبیر دستورات تبادل داده IN-OUT دستور IN داده ها را از I/O بهAL، AX یا EAX می ریزد. دستور OUT داده ها را از AL، AX یا EAX می ریزد. دو نوع روش آدرسدهی I/O برای دستورات IN و OUT وجود دارد:Constant Port و Variable Port در C.P داده ها با استفاده از آدرس 8 بیتی و در V.P با استفاده از آدرس 16 بیتی انتقال می یابند. آدرس دهی C.P همانند آدرسدهی فوری است. در V.P شماره پورت در DX ذخیره می شود.

80 دستورات تبادل داده Example: IN-OUT
دانشگاه صنعتی امیرکبیر دستورات تبادل داده Example: IN-OUT IN AL,6AH OUT 6AH,AL

81 دستورات تبادل داده MOVSX & MOVZX
دانشگاه صنعتی امیرکبیر دستورات تبادل داده MOVSX & MOVZX مختص تا P4 MOVZX AX,32H MOVSX AX,32H

82 دستورات تبادل داده BSWAP
دانشگاه صنعتی امیرکبیر دستورات تبادل داده BSWAP مختص تا P4 در یک ثبات 32 بیتی، بایت اول را با بایت چهارم و بایت دوم را با بایت سوم جابجا می کند. MOV EAX,FD4CB032H BSWAP EAX MOV EBX,EAX

83 دستورات تبادل داده CMOV (Conditional Move)
دانشگاه صنعتی امیرکبیر دستورات تبادل داده CMOV (Conditional Move) انتقال شرطی نیاز به سوئیچ .686 دارند.

84 دانشگاه صنعتی امیرکبیر
قالب برنامه اسمبلی

85 فصل 5 دستورات حسابی و منطقی
دانشگاه صنعتی امیرکبیر فصل دستورات حسابی و منطقی

86 دستورات جمع ADD-ADC-INC
دانشگاه صنعتی امیرکبیر دستورات جمع ADD-ADC-INC بیش از دستور جمع وجود دارد. XADD در تا P4 وجود دارد. این دستورات روی فلگها تاثیر دارند.

87 دانشگاه صنعتی امیرکبیر
دستورات جمع ADD دانشگاه صنعتی امیرکبیر

88 دانشگاه صنعتی امیرکبیر
دستورات جمع ADD دانشگاه صنعتی امیرکبیر

89 دانشگاه صنعتی امیرکبیر
دستورات ضرب و تقسیم دانشگاه صنعتی امیرکبیر MUL-IMUL-DIV-IDIV

90 دانشگاه صنعتی امیرکبیر
دستورات ضرب و تقسیم دانشگاه صنعتی امیرکبیر

91 دستورات ضرب و تقسیم Example
دانشگاه صنعتی امیرکبیر

92 فصل 9 مشخصات سخت افزاری 8086 تا 80886
دانشگاه صنعتی امیرکبیر


Download ppt "دانشگاه صنعتی امیرکبیر باری بی.بری"

Similar presentations


Ads by Google