אופקודים מוזרים של תוכנית בשם BAM2

עמוד

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

מוצגות 8 תגובות – 1 עד 8 (מתוך 8 סה״כ)
  • מאת
    תגובות
  • #76748
    ddt
    משתתף

    מישהו יכול להסביר מה רואים כאן?

    00000000 9B9B9B9B9B9B9B9B wait push es
    -9B9B9B9B9B9B9B9B
    -06
    00000011 1F pop ds
    00000012 AD lodsw
    00000013 FFE0 jmp ax

    אני אפילו לא יודע איך מתחילים להסתכל על השלוש שורות הראשונים שכאן

    זה מוציא נכון את הקידוד של זה?

    מי שכתב את התוכנית יכול לכתוב כאן מה היה הקוד שגרם לדבר הזה?

    #77905
    CodeGuru
    מנהל בפורום

    הקוד הוא
    WAIT
    WAIT
    WAIT
    WAIT
    WAIT
    WAIT
    WAIT
    WAIT
    WAIT
    WAIT
    WAIT
    WAIT
    PUSH ES
    POP DS
    LODSW
    JMP AX
    מה שציינת הוא דיס-אסמבלי של הבינארי שנוצר מהקוד שכתבתי
    הפקודה
    WAIT
    היא לא חוקית, אבל ארבע פקודות
    WAIT
    רצופות מתפרשות כאנרגיה

    #77896
    ddt
    משתתף

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

    #77891
    CodeGuru
    מנהל בפורום

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

    ראה הסבר בסעיף "טכניקות מתקדמות" באתר
    http://codeguru.co.il/Xtreme/tech4.htm

    #77888
    ddt
    משתתף

    למה אף אחד לא משתמש באנרגיה?
    זה נשמע נחמד אבל אין אף שורד שמנצח שמשתמש באנרגיה

    #77880
    CodeGuru
    מנהל בפורום

    הסיבה, כנראה, היא שלא משתלם להגדיל את השורד כדי לקבל אנרגיה.
    פתרון אפשרי – להגדיל את התועלת באנרגיה (למשל על ידי קיצור הפקודה לשני
    WAIT
    במקום ארבעה) או לשנות את כיוונון ההשפעה של האנרגיה.

    כמו הרבה הצעות תיקון אחרות – אתם מוזמנים לתקן בקוד המנוע ולהציע לדני להכניס לגרסא הבאה.

    #77872
    aviwolicki
    משתתף

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

    #77864
    ddt
    משתתף

    בינתיים ראיתי רק שורד אחד שחשב שזה שימושי

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