עמוד 1 מתוך 2 1 2 אחרוןאחרון
תוצאות 1 עד 10 מ-17
  1. #1
    Zone Newbie
    תאריך הצטרפות
    פבר 09
    הודעות
    47
    דירוג: 0/0

    לימוד Assembly

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

    תודה

    0 Not allowed! Not allowed!

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

    לימוד Assembly

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

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

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

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

    אבל שוב, אין הכרח ללמוד את השפה הזו בשביל להיות מתכנת, בטח היום כשיש אנשים שלומדים ישר שפות כמו JAVA/.NET בלי להבין אפילו נושאים כמו איך הזיכרון מנוהל ומה זה בכלל פוינטרים.

    0 Not allowed! Not allowed!
    רוצים לעקוב אחרי ההודעות שלכם במהירות ?
    http://hwzone.co.il/community/index.php?topic=370742.0

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

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

    לימוד Assembly

    מהי המלצתך?

    0 Not allowed! Not allowed!

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

    לימוד Assembly

    באופן כללי לא הייתי מתחיל עם זה, אלא הולך על שפות יותר עיליות. אם אח"כ תרצה/תצטרך להרחיב את הידע, תעשה זאת אז.

    0 Not allowed! Not allowed!
    רוצים לעקוב אחרי ההודעות שלכם במהירות ?
    http://hwzone.co.il/community/index.php?topic=370742.0

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

  5. #5
    Zone Addict הסמל האישי של MasterDK
    תאריך הצטרפות
    דצמ 04
    מיקום
    localhost
    הודעות
    2,367
    דירוג: 0/0

    לימוד Assembly

    תלוי במה אתה רוצה לעסוק..
    כשפה ראשונה אין טעם ללמוד אסמבלי כי לבנות בה תוכנות פשוטות יקח הרבה מאוד זמן (דוגמא אמיתית: כתיבת תוכנה שקולטת שתי מחרוזות באורך המגובל ל 8 תווים או פחות בצורה הקסדצימלית [כלומר יש בדיקה האם לא הקלדת בטעות מספר לא חוקי כמו G] מחרוזת נוספת מאותה צורה, והמטרה היא לחפש את המחרוזת השלישית בין הכתובות שמיוצגות על ידי שתי המחרוזות הראשונות, תוכנה זה נכתבה בכ 40-60דקות ולקחה כ 300-400 שורות קוד, כאשר בשפות כגון C ניתן להגיעה לזה בהרבה יותר מהר).
    לעומת זאת אסמבלי לא מתה ויש תחומים שבהם עוסקים הרבה מאוד באסמבלי, אחד מהם התחום שאני מאוד מתעניין זה תחום מערכות ההפעלה, כתיבת BOOT LOADER מתבצע 100% באסמבלי ואין שפה אחרת שניתן לעשות זאת, שליחת פקודות ל CONTROLLERS מסויימים מתבצעת אך ורק באסמבלי, מעבר בין מצבים שונים במעבד (הפעלת מנגון ה PROTECTED MODE, הפעלת PAGING, קבלת כתובת של PAGE FAULT, MULTITASKING בסופו של דבר) כל זה נעשה באסמבלי.
    תחום אחר שמשתמשים באסמבלי הוא אופטימיזציה ידנית, INLINE שך אסמבלי במקומות קריטיים שצריך או אפילו כתיבת כל השגרה באסמבלי אם חייבים ליעל אותה והקומפיילר לא מצליח לעשות זאת.

    0 Not allowed! Not allowed!
    I would love to change the world, but they won't give me the source code

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

    לימוד Assembly

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

    0 Not allowed! Not allowed!

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

    לימוד Assembly

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

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

    0 Not allowed! Not allowed!
    רוצים לעקוב אחרי ההודעות שלכם במהירות ?
    http://hwzone.co.il/community/index.php?topic=370742.0

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

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

    לימוד Assembly

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

    0 Not allowed! Not allowed!

  9. #9
    Zone Addict הסמל האישי של MasterDK
    תאריך הצטרפות
    דצמ 04
    מיקום
    localhost
    הודעות
    2,367
    דירוג: 0/0

    לימוד Assembly

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

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

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

    אלא אם כן חשובה המהירות ריצה של התוכנה הנבנית [s]ואבטחתה[/s]. אני צודק?
    עכשיו אתה צודק

    0 Not allowed! Not allowed!
    I would love to change the world, but they won't give me the source code

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

    לימוד Assembly

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

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

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

    אבל כן, זה מחקרי ונחמד, ולא יותר מזה

    0 Not allowed! Not allowed!
    רוצים לעקוב אחרי ההודעות שלכם במהירות ?
    http://hwzone.co.il/community/index.php?topic=370742.0

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

עמוד 1 מתוך 2 1 2 אחרוןאחרון

מידע על הדיון

משתמשים שגולשים בדיון זה

יש כרגע 1 משתמשים שצופים בדיון זה. 0 משתמשים ו-1 אורחים