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

עמוד

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

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • מאת
    תגובות
  • #77366
    דניאל ק
    משתתף

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

    #79104
    Arkon
    משתתף

    כותרת: הנה שיטה אחת מוכרת מאד
    אז נתחיל עם:
    cwd
    xor ax, dx
    sub ax, dx
    יש יותר קצר?
    – FABS :)

    #79105
    דניאל ק
    משתתף

    כותרת: למיטב ידיעתי אין יותר קצר
    כנראה שמאוד מוכרת..
    :-)
    לא ציפיתי שישר על התשובה הראשונה יתנו אותה…

    בכל מקרה, יש מעבדים שבהם עדיף להחליף את הפקודה
    CWD
    ב
    mov dx, ax
    sar dx, 15
    כדי לנצל את יכולות המעבד להריץ כמה פקודות בו זמנית, או כדי לעבוד עם אוגר אחר מאשר DX(כמובן שצורה זו של SAR לא תעבוד במעבדים ב8086, אבל לא נורא, האופטימיזציה הזאת גם ככה לא תעזור בהם).

    ואם כבר הזכרנו
    FABS,
    אפשר גם לכפול את המספר בעצמו, ואז לעשות שורש.

    עוד דרכים?

    #79106
    אורן בקר
    משתתף

    כותרת: "נתחיל עם", הא..

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