לימוד Assembly
עמוד 1 מתוך 2 1 2 אחרוןאחרון
תוצאות 1 עד 10 מ-17

לימוד Assembly

צפיות: 4843
  1. Zone Newbie
    הודעות:  47
    תאריך הצטרפות:  פבר 09
    1#

    לימוד Assembly


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

    תודה

  2. Zone Junkie
    הודעות:  3,263
    תאריך הצטרפות:  אוג 08
    2#

    לימוד Assembly


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

    לגבי סוגי העבודה שבהם נדרשת עדיין עבודה ברמות שכאלו, זה בד"כ כשכותבים קוד בשפה עילית ואז מגלים שחלק ממנו (החלקים החמים) רצים באופן ניכר איטי יותר בגלל שהקומפיילר לא עושה עבודה טובה (אופטימיזציה גרועה / אי-שימוש נכון במשאבים כמו SIMD) ואז עם ידע ב ASM אפשר לשנות את הקוד ו/או להחליף אותו בקוד ASM.

    הדבר חשוב הרבה יותר ככל שהסביבה שבה אתה עובד / כח המחשוב קטן יותר, ואז כל טיפת ביצועים חשובה יותר. למשל אתה יכול לראות דוגמאות רבות לחשיבות של אסמבלי בתוכנה יחסית פופלארית כמו VIRTUALDUB שהבלוג של המפתח שלה נוגע בסוגיות כאלו, כמו למשל (יש לו בבלוג הרבה התייחסיות לנושא):
    http://www.virtualdub.org/blog/pivot...hp?id=236#body

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

    אבל שוב, אין הכרח ללמוד את השפה הזו בשביל להיות מתכנת, בטח היום כשיש אנשים שלומדים ישר שפות כמו JAVA/.NET בלי להבין אפילו נושאים כמו איך הזיכרון מנוהל ומה זה בכלל פוינטרים.
    רוצים לעקוב אחרי ההודעות שלכם במהירות ?
    http://hwzone.co.il/community/index.php?topic=370742.0

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

  3. Zone Newbie
    הודעות:  47
    תאריך הצטרפות:  פבר 09
    3#

    לימוד Assembly


    מהי המלצתך?

  4. Zone Junkie
    הודעות:  3,263
    תאריך הצטרפות:  אוג 08
    4#

    לימוד Assembly


    באופן כללי לא הייתי מתחיל עם זה, אלא הולך על שפות יותר עיליות. אם אח"כ תרצה/תצטרך להרחיב את הידע, תעשה זאת אז.
    רוצים לעקוב אחרי ההודעות שלכם במהירות ?
    http://hwzone.co.il/community/index.php?topic=370742.0

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

  5. Zone Junkie
    הודעות:  2,282
    תאריך הצטרפות:  דצמ 04
    5#

    לימוד Assembly


    תלוי במה אתה רוצה לעסוק..
    כשפה ראשונה אין טעם ללמוד אסמבלי כי לבנות בה תוכנות פשוטות יקח הרבה מאוד זמן (דוגמא אמיתית: כתיבת תוכנה שקולטת שתי מחרוזות באורך המגובל ל 8 תווים או פחות בצורה הקסדצימלית [כלומר יש בדיקה האם לא הקלדת בטעות מספר לא חוקי כמו G] מחרוזת נוספת מאותה צורה, והמטרה היא לחפש את המחרוזת השלישית בין הכתובות שמיוצגות על ידי שתי המחרוזות הראשונות, תוכנה זה נכתבה בכ 40-60דקות ולקחה כ 300-400 שורות קוד, כאשר בשפות כגון C ניתן להגיעה לזה בהרבה יותר מהר).
    לעומת זאת אסמבלי לא מתה ויש תחומים שבהם עוסקים הרבה מאוד באסמבלי, אחד מהם התחום שאני מאוד מתעניין זה תחום מערכות ההפעלה, כתיבת BOOT LOADER מתבצע 100% באסמבלי ואין שפה אחרת שניתן לעשות זאת, שליחת פקודות ל CONTROLLERS מסויימים מתבצעת אך ורק באסמבלי, מעבר בין מצבים שונים במעבד (הפעלת מנגון ה PROTECTED MODE, הפעלת PAGING, קבלת כתובת של PAGE FAULT, MULTITASKING בסופו של דבר) כל זה נעשה באסמבלי.
    תחום אחר שמשתמשים באסמבלי הוא אופטימיזציה ידנית, INLINE שך אסמבלי במקומות קריטיים שצריך או אפילו כתיבת כל השגרה באסמבלי אם חייבים ליעל אותה והקומפיילר לא מצליח לעשות זאת.
    I would love to change the world, but they won't give me the source code

  6. Zone Newbie
    הודעות:  47
    תאריך הצטרפות:  פבר 09
    6#

    לימוד Assembly


    אסמבלי ממש לא השפה הראשונה שלי, יש לי ותק של שלוש שנים בc,c++ ושנה בc# , בכל מקרה אני חושב לפי מה ששניכם אמרתם שזה נורא משתלם ללמוד אסמבלי. לגבי אבטחת מידע, יש איזשהו קשר?

  7. Zone Junkie
    הודעות:  3,263
    תאריך הצטרפות:  אוג 08
    7#

    לימוד Assembly


    יש הרבה מערכות הפעלה (אומנם לא לשימוש ביתי) שלא רק שלא כתובות באסמבלר (חלקם בכלל לא) אלא כל-כולם כתובות בשפות כמו C# כמו למשל:
    http://www.sharpos.org/doku.php
    שאפילו כתבו קומפיילר מיוחד רק בשביל שלא יצטרכו לכתוב קוד אסמבלר לתחילת ההפעלה של מערכת ההפעלה (ויש פרוייקטים קצת יותר סולידים כמו Singularity של מיקרוסופט שמכיל חלקים קטנים של C ואסמבלר).

    לגבי אבטחת מידע ? זה טוב בשביל הבנת קונספטים שציינתי וגם כמובן עם יכולת מסוימת של reverse engineering אפשר למצוא עם זה כל מני פרצות בתוכנות / מנגנוני הגנה (אבל זה דורש לטעמי הרבה יותר מללמוד את השפה).
    רוצים לעקוב אחרי ההודעות שלכם במהירות ?
    http://hwzone.co.il/community/index.php?topic=370742.0

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

  8. Zone Newbie
    הודעות:  47
    תאריך הצטרפות:  פבר 09
    8#

    לימוד Assembly


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

  9. Zone Junkie
    הודעות:  2,282
    תאריך הצטרפות:  דצמ 04
    9#

    לימוד Assembly


    נכתב במקור על ידי yousux ציטוט
    ????? יש הרבה מערכות הפעלה (אומנם לא לשימוש ביתי) שלא רק שלא כתובות באסמבלר (חלקם בכלל לא) אלא כל-כולם כתובות בשפות כמו C# כמו למשל:
    http://www.sharpos.org/doku.php
    שאפילו כתבו קומפיילר מיוחד רק בשביל שלא יצטרכו לכתוב קוד אסמבלר לתחילת ההפעלה של מערכת ההפעלה (ויש פרוייקטים קצת יותר סולידים כמו Singularity של מיקרוסופט שמכיל חלקים קטנים של C ואסמבלר).

    לגבי אבטחת מידע ? זה טוב בשביל הבנת קונספטים שציינתי וגם כמובן עם יכולת מסוימת של reverse engineering אפשר למצוא עם זה כל מני פרצות בתוכנות / מנגנוני הגנה (אבל זה דורש לטעמי הרבה יותר ללמוד את השפה).
    ?????
    שמעתי על SINGULARITY, אבל תעשה לי טובה: מערכת הפעלה בשפת C#? נו באמת.. זה לא יותר מ "research project" ויקח לזה דיי הרבה זמן עד שזה יגיעה לשולחן הביתי (למרות שאפילו היום המחשבים מספיק חזקים להריץ את זה).
    ציטוט שאפילו כתבו קומפיילר מיוחד רק בשביל שלא יצטרכו לכתוב קוד אסמבלר לתחילת ההפעלה של מערכת ההפעלה ציטוט
    אני דיי בטוח שהקומפיילר הזה הופך את ה"קוד" שלהם לקוד אסמבלי בסופו של דבר.
    אבל אין טעם להיתווכח בנושא הזה.

    בכל מקרה העלת פה נקודה אחרת שמשתמשים באסמבלי זו היא ה reverse engineering.

    ציטוט אלא אם כן חשובה המהירות ריצה של התוכנה הנבנית [s]ואבטחתה[/s]. אני צודק? ציטוט
    עכשיו אתה צודק
    I would love to change the world, but they won't give me the source code

  10. Zone Junkie
    הודעות:  3,263
    תאריך הצטרפות:  אוג 08
    10#

    לימוד Assembly


    נכתב במקור על ידי MasterDK ציטוט
    ????? שמעתי על SINGULARITY, אבל תעשה לי טובה: מערכת הפעלה בשפת C#? נו באמת.. זה לא יותר מ "research project" ויקח לזה דיי הרבה זמן עד שזה יגיעה לשולחן הביתי (למרות שאפילו היום המחשבים מספיק חזקים להריץ את זה).אני דיי בטוח שהקומפיילר הזה הופך את ה"קוד" שלהם לקוד אסמבלי בסופו של דבר.
    אבל אין טעם להיתווכח בנושא הזה.

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

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

    אבל כן, זה מחקרי ונחמד, ולא יותר מזה
    רוצים לעקוב אחרי ההודעות שלכם במהירות ?
    http://hwzone.co.il/community/index.php?topic=370742.0

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