13. תרגום התווית בהוראת קפיצה
שומרים את המען בו הוגדרה התווית בטבלת הסמלים.
כשמגיעים למקום בו מופיעה התווית מחשבים על כמה בתים צריך
לדלג כדי להגיע למען הגדרת התווית.
מונה אתרים - מען התווית
בתכנית הקודמת: 6-9-= F
210010000=9
נהפוך ל 9- במשלים 2
01101111
1
11101111
7F
16. 5.11 'עמ' 261 פתרון תר
מען ההוראה שפת מכונה
0000 mov ch,cl 8A E9
0002 again: add ch,cl 02 E9
0004 dec bl FE CB
0006 cmp bl,1 80 FB
0008 ja again 76 F8
000A mov [10],ch 88 2E
17. 163 'עמ
2.5 אסמבלר שני מעברים
mov ch,cl
again: cmp bl,1
je found
add ch,cl
dec bl
jmp again
found: mov [10],ch
18. טבלת מעקב
ההוראה ch cl bl תנאי [10] Z
5 3
mov ch,cl 5
again:cmp bl,1 false 0
je found
add ch,cl 10
dec bl 2
jmp again
again:cmp bl,1 false 0
je found
add ch,cl 15
dec bl 1
jmp again
again:cmp bl,1 true 1
je found
found:mov [10],ch 15
19. מה מבצעת התכנית?
מכפלה של שני מספרים שלמים חיוביים.
מה ההבדל בינה לבין התכנית שבשאלה 11.5?
21. אסמבלר שני מעברים
כדי לתרגם את התכנית נשפת סף לשפת מכונה יש
לבצע שני מעברים.
במעבר הראשון- לקבל טבלת סמלים מליאה
במעבר השני – להחליף את התוויות בהפרשי
במענים המתאימים לפי הטבלה שקיבלנו במעבר
הראשון.
23. קישור וטעינה 3.5
קריאות התכנית
חלוקת התכנית למודולים. כל מודול נבדק בנפרד, הרצת כל המודולים
כתכנית אחת.
תהליך קישור )(Linking
תהליך המתרחש לפני ההרצה. מצריך פעולות הכנה ומאפשר
למודולים להכיר אחד את השני ולשתף פעולה אחד עם השני.
תהליך הכנה
הצהרה על המודולים
הצהרה על המשתנים שעל המודולים להכיר אחד אצל השני.
אסמבלי
תכנית הקישור )(linker
יוצרת את הקשרים בין המודולים ומאפשרת הרצת התכנית.
25. תכנית טעינה )(loader
תכנית שתפקידה לטעון את התכנית שלנו לזיכרון.
תכנית זו עובדת עם מערכת ההפעלה ותפקידה
לאתר מקום בזיכרון מספיק גדול עבור התכנית.
את מען ההתחלה של התכנית יחסית למקטע הקוד,
את אזור הנתונים ואת אורך התכנית מקבלת
תכנית הטעינה מתכנית הקישור.
את המען הראשון היא מעבירה לאוגר מקטע הקוד
ועכשיו נקבעים המענים המוחלטים בזיכרון