|
עמוד:145
מבוא – ביצוע התניה ולולאה כל ההוראות שדנו בהן עד כה מתבצעות באופן סדרתי . עבור כל הוראה המיקרו-מעבד קורא את ההוראה שכתובתה שמורה באוגר , IP מקדם את הערך באוגר IP לכתובת ההוראה הבאה , מפענחה ומבצעה . ואולם , פעמים רבות יש לשנות את סדר הביצוע של התכנית כדי לחזור ולבצע הוראות מסוימות מספר פעמים , או כדי להעביר את בקרת התכנית לקטע אחר בזיכרון . נציג תחילה דוגמאות לשתי בעיות שאנו רוצים לשנות בהן את סדר ביצוע ההוראות . דוגמה ראשונה בכל פעולה של דריכה או נטרול המערכת , עלינו לקלוט קוד אזעקה ולכתוב הוראות הבודקות אם קוד האזעקה שנקלט זהה לקוד האזעקה ששמור בזיכרון ( הקוד שנקבע בתתהמשימה ' קביעת קוד אזעקה . ( ' אם הקודים זהים , נבצע את הפעולה המתאימה ( דריכה או נטרול ) ונאיר את הדפ " א בהתאם למצב המערכת . נניח לצורך הדוגמה , כי האוגר AL מכיל את קוד האזעקה שנקלט , והאוגר AH מכיל את העותק של קוד האזעקה השמור בזיכרון . כדי להציג את מצב המערכת , נשתמש בדפ " א . כאשר מערכת האזעקה דרוכה , נציג בפלט את הערך ; 01 h ולא – נציג בפלט את הערך . 00 h ערכים אלו קובעים אם הדפ " א מאירה או לא . בתרשים הזרימה שלפניכם ( איור ( 1 . 50 מוצגת ההחלטה שעלינו לבצע ( האם ערך האוגר AL שווה לערך האוגר (? AH באמצעות מעוין בעל שתי יציאות : התרשים מראה כי לאחר השוואה בין האוגרים , עלינו לבצע אחת משתי הפעולות הפלט האפשריות . לשם כך נשתמש בהוראות קפיצה התלויות בערך שקיבלנו בבדיקה : . AL = AH ? 1 . 7 הוראות בקרה ולולאות בשפת סף איור 1 . 50 תרשים זרימה של ביצוע החלטה הגורמת לקפיצה
|
![מטח : המרכז לטכנולוגיה חינוכית](http://lib.cet.ac.il/storage/publishers/900_999/0000000957.gif)
|