אסמבלי - אוגר eax

זויברג

New member
אסמבלי - אוגר eax

אני למדתי בבית הספר אסמבלי ל8088/86, ושם האוגרים היחידים הם האוגרים עם 16 הסיביות. ראיתי שמעבדים חדשים יותר, יש אוגרים עם 32 סיביות, נראה לי EAX וכאלו. מישהו יכול להסביר לי איך זה הולך? אין ניגשים לכל חלק של האוגר ואיך עובדות הפקודות איתם? חוץ מזה, מישהו יכול לומר לי איפה אני יכול למצוא חומר על תכנות במעבדים חדשים יותר, איפה יש הסברים על הפקודות החדשות שהצטרפו ועל אופטימיזציה למעבדים האלו?
 

vinney

Well-known member
אתה ממש לא רוצה להתעסק עם זה

תכנות אסמבלי קשה ומסורבל, ואם אין לך סיבה ממש ממש טובה להתעסק איתו, עדיף שלא. לגבי אוגרים, במעבדים מ80286AT והלאה לא קיימים אוגרים של 16 ביט. גישה לאוגר כזה ממופה במעבד ל16 ביטים הנמוכים באוגר 32 ביט, כך שכשאתה כותב AX, אתה בעצם מתייחס לביטים 0..15 של EAX.
 

VoodooKid

New member
לא...

לפי מה שאני יודע אין אפשרות כזאת... חיפשתי את זה קצת פעם ולא מצאתי
 

vinney

Well-known member
לא

הגישה ל AX ממופת לביטים 0..15 של EAX (וכנ"ל לשאר האוגרים) לא מתוך רצון של אינטל לעשות חיים קלים למתכנתים שרוצים לגשת רק לחלק מהביטים של אוגר, אלא לשם תאימות לאחור לתוכניות שנכתבו עבור מעבדי XT וישנים יותר. אינטל (בניגוד למייקרוסופט) דואגים להבטיח תאימות לאחור בכל המעבדים שלהם, ולכן שומרים על האפשרות של אוגרי 16 ביט כלפי התוכנית, למרות שאין כאלה כבר במעבד.
 
למעלה