פורסם 2007 באפריל 2318 שנים שלום לכולם,התחלתי ללמוד אסמבלי באונ' ונתקלתי בבעיה בשיעורי הבית (עם פסח והשביתה אני כבר לא זוכר מתי בפעם האחרונה היה לי שיעור). כל עזרה תתקבל בברכה.הבעיה היא פשוטה מאד, אך אני בכל זאת מתקשה בה- אני צריך לקלוט 8 ספרות (מס' של 32 ביט), ולשמור אותו כפי שהוא בזיכרון או באוגר כלשהו (מותר השימוש באוגרים של 386).שוב תודה מראש.
פורסם 2007 באפריל 2318 שנים או שהבעיה ממש פשוטה או שלא הבנתי אותה כראוי.הבעיה נעוצה במיון הקלט (במקרה והוא גדול/קטן מ32 ביט)?או בפרוצדורה עצמה של קליטה-והעברה ?
פורסם 2007 באפריל 2318 שנים מחבר היא ממש פשוטה. אני לא יודע כיצד קולטים מחרוזת מן המשתמש ולהפוך אותה למספר.כנראה שהבעיה היא בשימוש לא נכון בפקודות, כי עכשיו אני מנסה להכניס מידע בשלמותו מאחד האוגרים לזיכרון ומשום מה זה לא הולך.
פורסם 2007 באפריל 2318 שנים עבר הרבה זמן מאז כתבתי באסמבלי אז קח בערבון את הכתוב, נסה להוצי את המקסימום ממה שיש.אז...בDATA Segment צור מקטע זכרון בן 8 בתיםNumber DB 8בCODE Segment1. קליטה של המספרMOV AH,10MOV DX, OFFSET 8NT 21hLEA SI,Number2. יצירת מספר מהבתים שהתקבלו ע"י כפל של כל בית ב10 בחזרת המרחק מהבית הראשון.בצורה מקוצרת...MOV EAX,[SI+j]*10^jלזה לבצע Loop כאשר j הוא למעשה המרחק של אותה אות/ספרה מהOFFSET (שהרי כל ספר יושבת לה בבית משלה)או לחילופין לבצע ROR לביטים של כל בית (אם אתה מכיר בכלל את הפקודה)נקווה שמפה כבר תסתדרבהצלחה
פורסם 2007 באפריל 2318 שנים מחבר תודה רבה, אני חושב שאצליח, יותר מאוחר אני אבדוק את זה.הדבר היחיד שלא הבנתי, הוא פשר השורה:MOV DX, OFFSET 8אשמח אם תוכל להבהיר לי את זה. שוב תודה!
פורסם 2007 באפריל 2418 שנים מחבר אוקיי אני צריך עוד קצת עזרה במשהו באותה רמה.יש לי משתנה 32 ביט בשם J, כיצד אני מדפיס אותו על המסך?אני יודע שאני צריך להפוך אותו למחרוזת, אבל אני לא מצליח. אני מתאר לעצמי שהרעיון הוא לחלק כל הזמן בעשר, אבל אני לא יודע איך לעשות זאת כאשר אני לא יודע כמה ספרות יש ב- J.כמו כן, מה יכולה להיות הסיבה שבגללה אני מקבל Divide Overflow? זה אמור להיות כשמחלקים ב- 0 אם אני לא טועה, אבל זה לא מה שאני עושה.(שכחתי לאפס משהו קודם)תודה מראש!
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.