תוכניות פשוט 8080 עבור שפות הרכבה עם הסבר

נסה את הכלי שלנו לביטול בעיות





תכנות ברמת הרכבה חשוב מאוד לרמה נמוכה מערכת משובצת מחשב העיצוב משמש לגישה להוראות המעבד כדי לתפעל חומרה. זוהי שפה ברמת המכונה הפרימיטיבית ביותר המשמשת לייצור קוד יעיל שצורך פחות מחזורי שעון ולוקח פחות זיכרון בהשוואה ל שפת תכנות ברמה גבוהה . זו שפת תכנות מוכוונת חומרה שלמה כדי לכתוב תוכנית שעל המתכנת להיות מודע לחומרה המוטמעת. כאן אנו מספקים יסודות בתכנות ברמת הרכבה 8086.

תכנות ברמת הרכבה 8086

תכנות ברמת הרכבה 8086



תכנות ברמת הרכבה 8086

ה שפת תכנות הרכבה היא שפה ברמה נמוכה אשר פותחה על ידי שימוש בתזכירים. המיקרו-בקר או המיקרו-מעבד יכולים להבין רק את השפה הבינארית כמו 0 או 1 ולכן המאסף ממיר את שפת ההרכבה לשפה בינארית ומאחסן לה את הזיכרון לביצוע המשימות. לפני כתיבת התוכנית על המעצבים המוטבעים להיות בעלי ידע מספיק על חומרה מסוימת של הבקר או המעבד, לכן ראשית נדרש להכיר חומרה של מעבד 8086.


חומרה של המעבד

חומרה של המעבד



8086 אדריכלות מעבדים

ה- 8086 הוא מעבד המיוצג עבור כל ההתקנים ההיקפיים כגון אוטובוס סדרתי והתקני RAM ו- ROM, קלט / פלט וכן הלאה אשר כולם מחוברים חיצונית למעבד באמצעות אוטובוס מערכת. למעבד 8086 יש אדריכלות מבוססת CISC ויש לו ציוד היקפי כמו 32 ​​קלט / פלט, תקשורת טורית , זיכרונות ו מונים / טיימרים . המיקרו-מעבד דורש תוכנית לביצוע הפעולות הדורשות זיכרון לצורך קריאה ושמירת הפונקציות.

8086 אדריכלות מעבדים

8086 אדריכלות מעבדים

תכנות רמת הרכבה 8086 מבוסס על רושמי הזיכרון. רישום הוא החלק העיקרי של מעבדים ובקרים הממוקמים בזיכרון המספק דרך מהירה יותר לאיסוף ואחסון הנתונים. אם אנו רוצים לתפעל נתונים למעבד או לבקר על ידי ביצוע כפל, תוספת וכו ', איננו יכולים לעשות זאת ישירות בזיכרון היכן שצריך נרשם לעיבוד ולאחסון הנתונים. המעבד 8086 מכיל סוגים שונים של רושמים שניתן לסווג בהתאם להוראותיהם כגון

רושמים למטרות כלליות : המעבד 8086 כלל 8 רושמים למטרות כלליות ולכל רושם יש שם משלו כפי שמוצג באיור כמו AX, BX, CX, DX, SI, DI, BP, SP. כל אלה הם רושמים של 16 סיביות כאשר ארבעה רושמים מחולקים לשני חלקים כגון AX, BX, CX ו- DX המשמשים בעיקר לשמירת המספרים.

רושמים למטרות מיוחדות : המעבד 8086 הורכב משני רושמי פונקציות מיוחדים כגון רישומי IP ודגלים. רישום ה- IP מצביע על הוראת הביצוע הנוכחית ועובד תמיד להתכנס עם רישום קטעי ה- CS. התפקיד העיקרי של רושמי הדגלים הוא לשנות את פעולות המעבד לאחר השלמת פונקציות מכניות ואין לנו גישה ישירות
רישומי פלחים: מעבד ה- 8086 כלל 4 רושמים של קטעים כגון CS, DS, ES, SS המשמשים בעיקר לאחסון כל הנתונים ברשומות הסגמנטים ונוכל לגשת לבלוק זיכרון באמצעות רישומי פלחים.


תוכניות שפת הרכבה פשוטות 8086

לתכנות שפת הרכבה 8086 יש כמה כללים כגון

  • רמת ההרכבה תכנות 8086 קוד חייב להיות כתוב באותיות גדולות
  • אחרי התוויות צריך להיות נקודתיים, למשל: תווית:
  • כל התוויות והסמלים חייבים להתחיל באות
  • כל ההערות מוקלדות באותיות קטנות
  • יש לסיים את השורה האחרונה בתוכנית בהנחיית END

למעבדי 8086 שתי הוראות נוספות לגישה לנתונים, כגון WORD PTR - למילה (שני בתים), BYTE PTR - לבייט.

אופ-קוד ואופראנד

אופ-קוד ואופראנד

קוד אופ: הוראה יחידה נקראת כקוד אופ שניתן לבצע על ידי המעבד. כאן ההוראות 'MOV' נקראות כקוד אופ.

מבצעים: נתונים מקטע יחיד נקראים אופרנדים הניתנים להפעלה באמצעות קוד op. דוגמה, פעולת חיסור מתבצעת על ידי האופרטות שמופחתות על ידי האופראנד.
תחביר: SUB ב, ג

תוכניות שפה להרכבת מעבד 8086

כתוב תוכנית לקריאת דמות מהמקלדת

MOV אה, 1h // תת תוכנית קלט מקלדת
INT 21h // קלט תווים
התו // מאוחסן באל
MOV c, al // העתק תו מ alto c

כתוב תוכנית לקריאה והצגת דמות

MOV אה, 1h // תת תוכנית קלט מקלדת
INT 21h // קרא את התו אל
MOV dl, al // העתק תו ל- dl
MOV ah, 2h // תוכנית פלט תווים
INT 21h // הצגת תו ב- dl

כתוב תוכנית באמצעות רישומי מטרה כללית

אורג 100 שעות
MOV AL, VAR1 // בדוק את הערך של VAR1 על ידי העברתו ל- AL.
LEA BX, VAR1 // קבל כתובת של VAR1 ב- BX.
MOV BYTE PTR [BX], 44 שעות // שנה את התוכן של VAR1.
MOV AL, VAR1 // בדוק את הערך של VAR1 על ידי העברתו ל- AL.
ימין
VAR1 DB 22 שעות
סוֹף

כתוב תוכנית להצגת המחרוזת באמצעות פונקציות ספריה

כוללים emu8086.inc // הצהרת מאקרו
אורג 100 שעות
הדפס 'שלום עולם!'
GOTOXY 10, 5
PUTC 65 // 65 - הוא קוד ASCII עבור 'A'
PUTC 'B'
RET // חזור למערכת ההפעלה.
END // הנחיה לעצור את המהדר.

הוראות חשבון ולוגיקה

תהליכי 8086 של יחידת חשבון ולוגיקה הופרדו לשלוש קבוצות כגון תוספת, חלוקה ופעולת תוספת. רוב הוראות חשבון ולוגיקה להשפיע על רישום מצב המעבד.

תכנות 8086 מזכרות לשפות הרכבה הן בצורה של קוד-אופ, כגון MOV, MUL, JMP וכן הלאה, המשמשות לביצוע הפעולות. תכנות שפות הרכבה 8086 דוגמאות

חיבור
ORG0000h
MOV DX, # 07H // העבר את הערך 7 לרשום AX //
MOV AX, # 09H // העבר את הערך 9 למצבר AX //
הוסף AX, 00H // הוסף ערך CX עם ערך R0 ושמור את התוצאה ב- AX //
סוֹף
כֶּפֶל
ORG0000h
MOV DX, # 04H // העבר את הערך 4 לרישום DX //
MOV AX, # 08H // העבר את הערך 8 למצבר AX //
MUL AX, 06H // התוצאה המרובה מאוחסנת ב- AX Accumulator //
סוֹף
חִסוּר
ORG 0000h
MOV DX, # 02H // העבר את הערך 2 לרישום DX //
MOV AX, # 08H // העבר את הערך 8 למצבר AX //
SUBB AX, 09H // ערך התוצאה נשמר בצבר A X //
סוֹף
חֲלוּקָה
ORG 0000h
MOV DX, # 08H // העבר את הערך 3 לרישום DX //
MOV AX, # 19H // העבר את הערך 5 לצבר AX //
DIV AX, 08H // הערך הסופי מאוחסן ב- AX Accumulator //
סוֹף

לכן, כל זה על תכנות ברמת הרכבה 8086, 8086 ארכיטקטורת מעבדים דוגמאות פשוטות למעבדי 8086, הוראות חשבון ולוגיקה. יתר על כן, כל שאלה לגבי מאמר זה או פרויקטים אלקטרוניים, תוכלו ליצור איתנו קשר על ידי תגובה בסעיף ההערות למטה.