אסמבלי BP ו-SP

SHMENDOZA

New member
אסמבלי BP ו-SP

מישהו יכול להסביר לי על BP ו SP? תקנו אותי אם אני תועה את הערך SP אסור לשנות אלא אם כן לא עובדים עם מכסנית, הוא בעצם מצביע על ראש המכסנית (האיבר האחרון שהכנסתי) ואת BP מותר לשנות והוא כמו האגרים SI ו DI רק לסגמנת של המחסנית... מותר לי לעשות [mov ax,[bp אבל אסור [mov ax,[sp עוד שאלה... מחסנית בנויה ממילים בלבד נכון?! אז מה קורה אם אני יעשה: [mov al,[bp??
 

codec

New member
מחסניות

ראשית, אם אתה מתכנת ל-x86, אז ההוראות ASM שצירפת קצת הפוכות... אבל לא משנה. בעיקרון אתה צודק. SP נמצא בשימוש מתמיד ע"י המעבד (POP ו-PUSH), ולכן לא מומלץ לשנות אותו (אלא אם כן אתה יודע מה אתה עושה...) BP הוא לשימוש כללי יותר. אין שום בעיה לעשות MOV ל-BYTE אחד, כי אתה כותב אותו לזיכרון. חוץ מזה, שים לב שאתה נותן שם רגיסטר לפקודה POP, ככה שאתה יכול להוציא מהמחסנית מידע בגדלים שונים.
 

DecayCell

New member
אני מניח שהוא לומד את זה לבגרות

מאחר והבגרות היא רק על 8086, אפשר להכניס ולהוציא מהמחסנית רק מידע בגודל שני בייטים.
 

DarkSwell

New member
בנוגע ל, mov al,[bp]..

אין שום בעיה, חלקו העליון של AX כלומר AL יקבל את תוכן התא שכתובתו היא BP יחסית למקטע המחסנית. הרי BP ערכו הוא כתובת של בית 1.
 
למעלה