[ASM]מעבר מסגמנט יחיד לכמה סגמנטים מבחינת מחסנית - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

[ASM]מעבר מסגמנט יחיד לכמה סגמנטים מבחינת מחסנית


jackofalltrades

Recommended Posts

כשקוראים לפונקציה הממומשת באסמבלר, דרך תוכנית הכתובה בסי, הפרמטרים מועברים דרך המחסנית. עד כמה שאני מבין, השוני בין מה שנשמר במחסנית (כמובן רק אם שולחים מצביע) בין המודלים הוא שעבור מודל קטן, רק ההיסט מאוחסן בעוד שבמודל גדול, מאחסנים גם את הסגמנט. כמובן שגם אל IP מתלווה CS, אבל זה לא קשור לפרמטרים.

השאלה שלי נוגעת לגישה לפרמטר כשהוא מצביע כפול (לערך), במודל קטן הקוד הוא -


mov si,[bp+XX]
mov si,[si]
mov reg,[si]

במודל גדול -


mov es,[bp+XXX+2]
mov si,[bp+XXX]
mov si,es:[si]
mov reg,es:[si]

זה לא עובד, ואני לא כל כך בטוח שהשתמשתי נכון באוגר סגמנט כאן. אשמח אם תוכלו לתקן אותי.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...