האם אפשר להפעיל קוד הנמצא במקום אחר על הלוח?

עמוד

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

מוצגות 2 תגובות – 1 עד 2 (מתוך 2 סה״כ)
  • מאת
    תגובות
  • #77618
    אור
    משתתף

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

    בנוסף, האם יש דרך לדעת האם הפקודה היא חוקית כאשר קוראים משהו מזיכרון על הלוח? בכלל איך אפשר לעבור ממספר בזיכרון לפקודה?

    אני מנסה ללמוד אסמבלי דרך הפרוייקט הזה ואני גם נעזר בספר art of assembly language
    ואני עדיין לא הצלחתי למצוא תשובה לאף אחת מהשאלות האלו.

    #79941
    vise
    משתתף

    כותרת: תשובה
    לגבי השאלה הראשונה אתה פשוט עושה jmp למקום ממנו אתה רוצה להמשיך. כמובן כדאי לעקוב אחר רצף התוכנית כך שברוב המקרים תרצה לקפוץ לפקוחה שה offset שלה מתחילת הקטע זהה לזה של הפקודה ההבאה בקטע שלך.

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

מוצגות 2 תגובות – 1 עד 2 (מתוך 2 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.