ברוכים הבאים לאתר תחרויות קודגורו! › פורומים › אקסטרים › פניה ל – es
- This topic has 6 תגובות, 4 משתתפים, and was last updated לפני 20 שנים by
DL!.
-
מאתתגובות
-
22 בינואר 2006 בשעה 07:47 #77120
QVB
משתתףשלום, נשמח לראות דוגמה לפניה למקטע הזכרון המשותף לשני שורדים.
כל הניסיונות לפנות אליו גרמו למוות מיידי של השורד (כאילו הפניה היא פעולה לא חוקית)
למה השורה הבאה למשל לא עובדת:
mov dx, es:[0000]
ואם אפשר דוגמה לשימוש תקין במקטע הזכרון הזה.
תודה.
22 בינואר 2006 בשעה 14:14 #78616DL!
משתתףThe reason is that the engine doesn't implement "segment prefixes", and treats the "es:[0000]" part as invalid opcode.
You have to access ES using other means, e.g. using stosw, or by copying ES to DS/SS and reading/writing through them.
22 בינואר 2006 בשעה 16:47 #78615LB_
משתתףאם אני כותב עם STOSW, עם איזה פקודה אני קורא אחר כך ?
23 בינואר 2006 בשעה 03:20 #78614LB_
משתתףI wrote to ES through STOSW.
in the second program I wrote:
push es
pop ss
mov ax,ss:[0000]
it throws a CPU exeption when it executes the third command..
23 בינואר 2006 בשעה 09:20 #78612DL!
משתתףJust like before, the reason is that the engine doesn't support "segment prefixes", only this time the problem is in ss:[0000].
You have to use other means for doing it, e.g. (building on your code)-
push es
pop ss
mov bp, 0
mov ax, [bp]This works because indirect memory access using [bp] is done using the "ss" segment register.
And obviously, this is not the only way to read from es:[0000] without using hard-coded segment prefixes.
23 בינואר 2006 בשעה 15:19 #78608Tnid
משתתףאפשר לדעת למה המנוע לא תומך בזה?
יש סיבה מסויימת או שלא הספקתם/ זה יצר בעיות וכו'?23 בינואר 2006 בשעה 16:11 #78606DL!
משתתףצריך להבין את ההיסטוריה של המנוע בשביל זה [8-|]
המנוע נכתב במקור עבור קודגורו אקסטרים 2005 (ממש מאפס).
מי שהשתתף בשנה שעברה בטח זוכר שלקראת התחרות הוצאנו גירסה חדשה של המנוע כמעט כל שבוע, כשבכל גירסה מתווספת תמיכה בעוד כמה אופקודים איזוטריים שאנשים ביקשו.בסופו של דבר היינו צריכים לתעדף, ותמיכה ב-
segment prefixes
תועדפה יחסית נמוך.סיפור דומה חזר על עצמו השנה: הפעם העדפנו להשקיע את זמן הפיתוח בפונקציונליות חדשה (מספר שורדים, ניהול הטורניר, האצת זמן וכו'), ולא במימוש אופקודים נוספים.
בשורה התחתונה, יש סיכוי סביר שזה יכנס לשנה הבאה.
-
מאתתגובות
- יש להתחבר למערכת על מנת להגיב.