|
صفحة: 44
נדגים תכנית המטעינה את המספר הבינארי 00001111 במוצא האוגר העליון ( הדקים outl עד ( 0 ut 8 ואת המספר הבינארי 11110000 במוצא האוגר התחתון ( הדקים 0 ut 9 עד . ( out 16 למימוש התכנית נבצע את השלבים שלהלן : נזמן את הפונקציה Out 32 שתטפל בהפעלת פלט לממשק המקבילי . נגדיר שני משתנים מטיפוס תו ( Char ) ללא סימן 1 הראשון משתנה בשם a שישמש כמונה פנימי בלולאה והשני משתנה בשם b שישמש לבידוד הסיבית שאותה נעביר בכל שלב לאוגר ההזזה . נרשום לולאה שתבודד כל אחת משמונה הסיביות במספר הבינארי 11110000 ותעביר לאוגר ההזזה כל סיבית בנפרד . לביצוע הלולאה נגדיר שתי הוראות אתחול . לאחת נקבע את הערך של המשתנה a ל'אפס' ולשנייה את הערך של המשתנה b ל'אחד . ' תנאי העצירה של הלולאה יהיה כאשר הערך של a יגיע ל , 8- כלומר לולאה מ0- עד . 7 נגדיר שתי הוראות קידום : האחת מיועדת לקדם את המשתנה a ב1- והשנייה כדי להזיז את הערך שנמצא במשתנה b הזזה אחת שמאלה . בתוך הלולאה נבדוק את הערך של הסיבית שעליה מצביע המספר שנמצא במשתנה . b אם הערך יהיה 'אחד' לוגי נשלח לאוגר ההזזה 'אחד' לוגי בהדק 2 של המפתח ונעלה את האות בהדק 3 של המפתח מנמוך לגבוה כדי לספק אות שעון לקליטה של הנתון באוגר ההזזה . אס הערך של הסיבית יהיה 'אפס' ננעל באוגר ההזזה 'אפס' לוגי באותו האופן . בסיום הלולאה נרשום שוב לולאה זהה אך הפעם נעביר לאוגר ההזזה את המספר . 00001111 בסיום הלולאה השנייה נשלח להדק 4 של המפתח אות מעבר מנמוך לגבוה כדי להציג במוצא שני אוגרי ההזזה את 16 הנתונים שהתוכנה הטעינה באוגרים . טבלה 1 . 8 טבלה המתארת את אופן הבקרה על רווצצי הכניסה
|
|