עמוד:231

ב . בשיטה השנייה נשתמש באופרטור offset ובמצביע PTR באופרטור offset משתמשים לפני שם המשתנה ו mov bx , offset a 11 ra nN זו תוצאת האופרטור offset היא ההיסט של המשתנה , & ולכן הוראת MOV זו מעבירה לאוגר BX את ההיסט , כלומר את מספר הבתים מתחילת המקטע הנתונים . אחת הבעיות שמתעוררת כאשר משתמשים באופרטור offset היא שלעיתים ההוראה עצמה לא מספקת מידע חד-משמעי על טיפוס תא זיכרון עליו מצביע האוגר , ובמקרה כזה נקבל שגיאת הידור . לדוגמה , כאשר רושמים את ההוראה י mov [ bx ] , al אופרנד המקור הוא מטיפוס בית , ובהתאם , המהדר מפענח את ההצבעה [ bx ] לנתון מטיפוס בית . אולם כאשר רושמים את ההוראה mov [ bx ] , OFFh הכתובת [ bx ] לא מלמדת על הטיפוס של הנתון ולכן המהדר לא יכול לדעת אם יש לאחסן את הנתון OFFh בתא זיכרון מטיפוס בית או בתא זיכרון מטיפוס מילה . כדי לאכוף טיפוס נתונים מסוים , משתמשים באופרטור PTR שיכול להיות אחד משני הסוגים . לציון בית byte ptr לציון מילה word ptr לדוגמה fvom לטיפוס נתון עליו מצביע bx כאל בית ; mov byte ptr [ bx ] , OFFh מתייחס לטיפוס נתון עליו מצביע bx כאל מילה ; mov word ptr [ bx ] , OFFh אנו יכולים להשתמש באופרטור PTR כדי לאכוף פנייה לבית אחד מתוך מילה 1 לדוגמה , נגדיר משתנה מטיפוס מילה b DW 1234 ונרשום הוראה שמעתיקה לאוגר AH רק את הבית העליון של משתנה : b mov ah , byte ptr b + 1 ; ah = 12

מטח : המרכז לטכנולוגיה חינוכית


לצפייה מיטבית ורציפה בכותר