דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. למידת אסמבלי- מאיפה להתחיל?

למידת אסמבלי- מאיפה להתחיל?

מתוזמן נעוץ נעול הועבר תכנות
17 פוסטים 8 כותבים 131 צפיות 5 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש שאלתיאל

    @yossiz א.האם יש לך רקע בזה? (נראה שכן) ב.תודה ג.לדעתך מי עושה רברסינג יותר טוב אדם או מכונה והאם זה ישתנה.
    ד. זהו, אני מעונין גם בשביל לפרק בעתיד נוזקות למיניהם שרובם נכתבות בשפת מכונה זה ישאר רלוונטי לדעתך? . C לפני אסמבלי? לא הפוך? כלומר כך אני ידע בדיוק איך נראה המבנה של פקודת אסמבלי בשפת מכונה אולי עדיף כך?

    yossizY מנותק
    yossizY מנותק
    yossiz
    כתב נערך לאחרונה על ידי yossiz
    #8

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

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

    נראה לי שזה ספר טוב וחינמי להתחיל ללמוד הנדסה לאחור ברמת אסמבלי: https://beginners.re (נתקלתי בו לפני כמה שנים, אז זה היה חינמי, נראה שהיום הוא מבקש תשלום סמלי, אפשר להשיג פה את הגירסה החינמית האחרונה)

    לדעתך מי עושה רברסינג יותר טוב אדם או מכונה והאם זה ישתנה

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

    @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

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

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

    בגדול אני חושב שעבור מי שלא מכיר לפחות C זה קצת הפיכת היוצרות ללכת ללמוד אסמבלי, זה אפשרי אבל פשוט נראה לי מוזר

    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
    👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

    ש תגובה 1 תגובה אחרונה
    4
    • yossizY yossiz

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

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

      נראה לי שזה ספר טוב וחינמי להתחיל ללמוד הנדסה לאחור ברמת אסמבלי: https://beginners.re (נתקלתי בו לפני כמה שנים, אז זה היה חינמי, נראה שהיום הוא מבקש תשלום סמלי, אפשר להשיג פה את הגירסה החינמית האחרונה)

      לדעתך מי עושה רברסינג יותר טוב אדם או מכונה והאם זה ישתנה

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

      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

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

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

      בגדול אני חושב שעבור מי שלא מכיר לפחות C זה קצת הפיכת היוצרות ללכת ללמוד אסמבלי, זה אפשרי אבל פשוט נראה לי מוזר

      ש מנותק
      ש מנותק
      שאלתיאל
      כתב נערך לאחרונה על ידי
      #9

      @yossiz כתב בלמידת אסמבלי- מאיפה להתחיל?:

      שאסמבלי שקומפיילר מפיק שונה מאוד מאסמבלי שבנאדם כותב

      בתנאים מסוימים אני חושב שאדם יכול למטב דברים שונים

      @yossiz כתב בלמידת אסמבלי- מאיפה להתחיל?:

      אני מפקפק על הקביעה שרוב הנוזקות כתובות באסמבלי

      לא כולם אבל אילו שבאמת עושות נזק..סטוקסטנט כתוב בעברית
      גם לכתיבה באסמבלי יש יתרונות ששום שפה לא תגיע אליה,

      @yossiz כתב בלמידת אסמבלי- מאיפה להתחיל?:

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

      בגלל מה? כלומר זכור לי ששמעתי את זה פעם אבל למה?

      @yossiz כתב בלמידת אסמבלי- מאיפה להתחיל?:

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

      אני ממש מעונין לכתוב תוכניות שלמות באסמבלי למרות שאני עוף מוזר ואף אחד לא עושה דברים כאלו.

      @yossiz כתב בלמידת אסמבלי- מאיפה להתחיל?:

      אבל אם הם נכתבו בשפות עליות וקומפלו לאסמבלי

      מה זאת אומרת?

      @yossiz כתב בלמידת אסמבלי- מאיפה להתחיל?:

      פעם הייתי ממש כמוך שרציתי להבין איך הכל עובד

      רצית ממש לכתוב ולהבין או בשביל למטב קוד של שפה אחרת?

      תגובה 1 תגובה אחרונה
      0
      • ש מנותק
        ש מנותק
        שאלתיאל
        כתב נערך לאחרונה על ידי
        #10

        ב"ה בסופו של דבר הורדתי את הספר של המרכז לחינוך סייבר, של ברק גונן
        נתחיל מ16 ביט על DOS למרות שזה מערכת מיושנת בעז"ה נתקדם
        מקווה לעשות רק טוב, @yossiz @dovid תודה על העזרה כיף להיכנס לפה.

        תגובה 1 תגובה אחרונה
        1
        • Y מנותק
          Y מנותק
          YK
          כתב נערך לאחרונה על ידי
          #11

          יש לי חומר שאספתי לפני כמה שנים על הנושא.
          מעוניין בסירטונים או בחומר כתוב?

          אם יש לך סבלנות ואתה מסתדר/אוהב ללמוד מסירטונים

          נראה לי שכדאי להתחיל עם זה:
          https://pop.education.gov.il/sherutey-tiksuv-bachinuch/vod-broadcasts/realtime-vod-22-7-2020/software-engineering-cyber-10th-grade-12th-grade-1133/
          הוא מסביר מאוד יפה אבל צריך סבלנות.
          יש שם 15 שיעורים קצת חבל שזה עצר...

          או עם זה:
          כמדומני שפחות או יותר אותו חומר אבל יותר זריז ומתומצת:

          אישית אני אוהב ללמוד על חומר מ2 כיוונים
          זה מוסיף מאוד.

          וזה ספר יסודי:
          http://www.lamed-oti.com/school/gvahim_assembly_book.pdf
          כנראה שכבר נתקלת בו

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

          [שמור אצלי באון קי רוב הסירטונים, אבל עדיף למצוא את הערוץ כי יתכן שחסרים אצלי קצת סירטונים. וגם קצת מורכב להעלות את הכל]

          שיהיה בהצלחה.

          תגובה 1 תגובה אחרונה
          1
          • מדמ מחובר
            מדמ מחובר
            מד
            כתב נערך לאחרונה על ידי
            #12

            @שאלתיאל עוד קצת חומר למחשבה https://mitmachim.top/post/1229860
            רק הפוסט הראשון, לא הספאם שהתמשך שם...

            תגובה 1 תגובה אחרונה
            1
            • ש מנותק
              ש מנותק
              שאלתיאל
              כתב נערך לאחרונה על ידי
              #13

              @מד ב"ה כתב מאוד נחמד עם קצת שגיאות

              תגובה 1 תגובה אחרונה
              0
              • ש מנותק
                ש מנותק
                שאלתיאל
                כתב נערך לאחרונה על ידי
                #14

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

                תגובה 1 תגובה אחרונה
                0
                • חגיח מנותק
                  חגיח מנותק
                  חגי
                  כתב נערך לאחרונה על ידי
                  #15

                  אמנם @yossiz לא רצה להמליץ לך על nand2tetris, אבל אם אסמבלי מרתק אותך, יש סיכוי טוב שזה יהיה עוד יותר מרתק (זה בעצם שלב אחד לפני שפת מכונה - זה יצירת החומרה שאח"כ המכונה יכולה לתרגם לפעולות, כמובן שאם אתה יודע איך החומרה עובדת אז כל מה שנשאר בשביל להבין אסמבלי זה רק הסינטקס)
                  גם יכול להיות שבתור אפיק פרנסה זה יהיה יותר ריווחי, כי יהיה יותר קשה להחליף את המתכנתים של האמבדד והמתכנתי חומרה ב-AI.
                  אם המטרה היא רק בשביל להיות מסוגל לעשות רוורסינג, אז AI כבר עכשיו יעשה את זה פי 100 יותר טוב, ויש עוד הרבה כלים שנועדו לזה לא צריך עבורם בכלל ידע באסמבלי.
                  עוד נקודה שאולי חשוב שתדע - אסמבלי זאת שפה שמתרגמת ישירות לפעולות מעבד, לכל מעבד יש שפת אסמבלי שונה, רק שיש "סטנדרט" למשפחות מעבדים שאפשר להשתמש בו גם בין מעבדים מאותה משפחה.

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

                  תגובה 1 תגובה אחרונה
                  2
                  • ש מנותק
                    ש מנותק
                    שאלתיאל
                    כתב נערך לאחרונה על ידי
                    #16

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

                    תגובה 1 תגובה אחרונה
                    0
                    • ש שאלתיאל

                      ערב טוב לכולם.
                      ב"ה אני מעונין להתחיל ללמוד את שפת אסמבלי.
                      אין לי רקע בשום שפת תכנות כלשהי מלבד מושגים בסיסים.
                      אני מעונין באסמבלי בלבד, לא שפות עילית למיניהם.
                      לפחות בשלב זה,מעניין אותי איך המחשב עובד מתחת למכסה המנוע.
                      אשמח לדעת כמה דברים.
                      א.סביבת עבודה מומלצת?
                      ב.תחביר, מה מומלץ מבין השניים?
                      ג.ספר לימוד/סרטונים? מהיכן אתה למדתם?
                      4.כמה זמן יקח לי להגיע לרמה טובה של הנדסה לאחור?
                      5.האם לדעתכם אסמבלי תהיה רלוונטית בשנים הבאות
                      או שתהיה רלוונטית לתחומי הHFT בלבד ? הAI משתלט
                      על הרבה מאוד תחומים בכל נושא התכנות ודומיו
                      ואני לא בטוח לגבי הרלוונטיות של שפה זו.

                      תודה לעונים.

                      אף אחד 3א מנותק
                      אף אחד 3א מנותק
                      אף אחד 3
                      כתב נערך לאחרונה על ידי
                      #17

                      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

                      א.סביבת עבודה מומלצת?

                      ווינדוס עם notepad++ יכול להיות מעולה

                      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

                      ב.תחביר, מה מומלץ מבין השניים?

                      תחביר intel עם אסמבלר fasm
                      ככה אני שיחקתי ולמדתי די הרבה זמן ועבד לי טוב ונוח
                      שים לב שלכל אסמבלר יש פיצ׳רים וסינטקס משלו אז אם אתה לומד להכיר אסמבלר מסויים כנראה שיהיה לך נוח להשאר איתו בעתיד אז אולי תעשה על זה מחקר קטן בהתאם לאיפה שליבך נוטה יותר (nasm יותר מוכר ופופולרי אבל אני חושב ש fasm נוח יותר ממנו (לא צריך לינקר חיצוני בנוסף))

                      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

                      ג.ספר לימוד/סרטונים? מהיכן אתה למדתם?

                      כל אחד יהנה יותר מפורמט לימוד אחר אבל אם אתה בעניין - הרבה RE וכתיבה ושואלים AI כשצריך

                      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

                      4.כמה זמן יקח לי להגיע לרמה טובה של הנדסה לאחור?

                      תלוי ביכולות שלך ובמה בדיוק אתה רוצה להנדס לאחור (יש הבדל גדול מאוד בין קוד שנכתב ב C לקוד שנכתב ב rust ועוד יותר קוד שנכתב ב dart לדוגמה)

                      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

                      5.האם לדעתכם אסמבלי תהיה רלוונטית בשנים הבאות

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

                      רק שים לב שאם אתה מתכנן לעבוד בזה אתה תצטרך ללמוד הרבה יותר מאסמבלי (לדוגמה אם תצא מהתחום הצר יחסית של אסמבלי שרץ על מחשבים שולחניים תצטרך ללמוד לקרוא datasheets להבין קצת אלקטרוניקה ארכיטקטורות זיכרון ומעבדים וכו׳ וכו׳) אבל אסמבלי יהיה נקודת פתיחה טובה (עדיף כמובן שתתחיל מקצת C כמו שכתבו כאן)
                      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

                      בכ"מ מקרה אדם שיודע אסמבלי יכתוב קוד יעיל יותר ממי שלא יודע כי הוא יודע איך כל פעולה בשפת עילית
                      מתורגמת לפקודות שהמעבד מבין.

                      לא צריך בשביל זה לדעת אסמבלי אלא מספיק להכיר כללים בסיסיים אלמנטריים גם בלי לתרגם את זה בראש ל cache miss וכו'
                      ורוב מה שאפשר לייעל שלא תלוי בסיבוך שנוצר בקוד של השפה העילית הקומפיילר יעשה יותר טוב

                      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

                      ג.לדעתך מי עושה רברסינג יותר טוב אדם או מכונה והאם זה ישתנה.

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

                      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

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

                      ניתחתי הרבה מאוד נוזקות ולא זכור לי שנתקלתי באחת שהייתה כתובה באסמבלי (לפעמים חלקים קטנים ממש ממנה)

                      @שאלתיאל כתב בלמידת אסמבלי- מאיפה להתחיל?:

                      הניידות זה הבעייה הגדולה קוד ל86 לא יתאים לARM..

                      מי שכותב באסמבלי לא מחפש ניידות בדרך כלל

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

                      תתחיל מתוכנית קטנה וקלה שתקרא לכמה פונקציות מערכת (לדוגמה hello world עם message box) כדי ללמוד בצורה בסיסית איך מנהלים מחסנית ואיך קוראים לפונקציות ותתקדם לדברים מורכבים יותר
                      הרעיון הוא יותר לחשוב על אלגוריתם יעיל למימוש של משהו או חישוב של משהו ואז למצוא דרך לממש אותו באסמבלי - בדיוק כמו חידות leetcode בשפות עיליות רק שכאן חומרי הבניה שלך בסיסיים יותר

                      אני אתן לך כמה רעיונות שאני מימשתי ועזרו לי מאוד ללמוד ותוכל לפתח את זה למקומות שיעניינו אותך
                      הדגמה של חיזוי קפיצות - השתמשתי בחישוב של השערת קולץ בשתי צורות אלגוריתם שונות
                      מספר מחזורי השעון הממוצעים שנדרשים לכל משפחת פקודות לרוץ
                      חישוב של אורך ה pipe של המעבד עד לשלב ה redirect על ידי בדיקה של הזמן האבוד בחיזוי קפיצה שגוי (זה היה 17 מחזורי שעון כמדומני ב 5500U)
                      מימשתי את ניסוי ג׳ורג׳טאון (זה דרש לחפור במאמרים ישנים משנות החמישים ולחפש נתוני מילון ששרדו מאז בעשרות מאמרים נוספים)
                      וכמובן הרבה נסיונות של קמפול קוד C קצר בהגדרות אופטימיזציה שונות ובדיקה איך נראה קוד המכונה שיוצא

                      אם מעניין אותך כמה פרוייקטים שפרסמתי בעבר
                      תוכנת hello world הכי קטנה שיכולה לרוץ על ווינדוס עדכני
                      מציג תמונה עצמאי שרץ מה boot
                      התחלת מחקר שעשיתי על נוזקה (לא מצאתי זמן לפרסם את כולו אז פרסמתי את החלקים המעניינים לדעתי)

                      תגובה 1 תגובה אחרונה
                      2
                      תגובה
                      • תגובה כנושא
                      התחברו כדי לפרסם תגובה
                      • מהישן לחדש
                      • מהחדש לישן
                      • הכי הרבה הצבעות


                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

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